====== BML Realizer - Modeling for PandaBMLR with Blender ====== ==== About Blender ==== [[http://www.blender.org|Blender]] is a **free** and open-source software program for 3D modeling, animation, and rendering. === Blender resources === * [[http://wiki.blender.org/index.php/Main_Page|Official Blender wiki]] * [[http://blenderartists.org/cms/index.php|Blender artists]] * [[http://www.blendermodels.org/|Free Blender models]] * [[http://wiki.blender.org/index.php/BSoD/Introduction_to_Character_Animation/Upper_body_armature|Introduction to Character Animation tutorial]] - HIGHLY recommended! ==== Modeling ==== === Base skeleton === You can download a Blender file that contains the [[bml:bmlr:pandabmlr:modeling|doctor skeleton]] at [[http://cadia.ru.is/projects/bmlr]]. 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 [[#about_blender|Blender resources]] for general information on creating character models. ==== Animations ==== 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. ==== Exporting ==== To export character models from Blender to Panda3D you need the [[http://chicken-export.sourceforge.net/|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. ==== Using ==== Now that you have a Panda3D .egg file, you need to create a character class to make use of it. See [[bml:bmlr:pandabmlr#character_classes|PandaBMLR's character classes]] for more details.