User Tools

Site Tools


BML Realizer - Modeling for PandaBMLR with Blender

About Blender

Blender is a free and open-source software program for 3D modeling, animation, and rendering.

Blender resources


Base skeleton

You can download a Blender file that contains the doctor skeleton at We strongly recommend starting with this skeleton as a base to your models.

Model creation

Creating a working PandaBMLR model in Blender is still somewhat unpleasant, but possible.

The problem is that Maya and SmartBody uses Y-up coordinate system but Blender uses Z-up. We have however created a post-processing step that fixes this problem to some degree.

Either way, simply creating a mesh around the provided skeleton (and weight painting the mesh) should give you a decent level of functionality.

See Blender resources for general information on creating character models.


Some ground work has been done for the task of exporting and importing .skp SmartBody animations from Blender. The Blender_AnimImportScript that you can find on the BMLR download page is not yet functional, but has so far parsed .skp files completely, but use of the Blender API to create the animation has not yet been finished.


To export character models from Blender to Panda3D you need the Chicken Blender plugin.

After you have exported the character model to an .egg file with Chicken, you need to run the Blender_PostProcessScript post-processing Python script that you can download at the BMLR download page. Read the README.txt file provided with the script for help on using it.

About the script

This is not required reading, as the script does this automatically.

We have solved the coordinate system problem by creating a Python script that does the following:

  • Changes the coordinate system and rotate it with egg-optchar.
  • Since Blender insists on creating non-identity transformation matrices for our joints, we have created a script that parses the .egg file and simply resets all of the matrices. Furthermore, since the rotations and coordinate system conversion seems to mess up the skeleton, we need to re-translate the joint matrices with working values.


Now that you have a Panda3D .egg file, you need to create a character class to make use of it. See PandaBMLR's character classes for more details.

/var/www/ailab/WWW/wiki/data/pages/public/bmlr/pandabmlr/modeling/blender.txt · Last modified: 2008/09/09 16:34 (external edit)