martes, 6 de septiembre de 2011

Exportando animación de blender a Ogre3D

Para exportar las mallas, el sistema de huesos y las animaciones utilizo el plugin que se puede bajar de aquí:

http://code.google.com/p/blender2ogre/

Antes de instalar el plugin es necesario bajar OgreCommandLineTools que se puede encontrar en la pagina de Ogre3D ya que estos ejecutables nos transforman los archivos xml que produce el exportador a archivos .mesh, .material, .skeleton necesarios en Ogre.

Primero instalar OgreCommandLineTools y luego el plugin los reconocerá automáticamente.

Este plugin hay que adicionarlo a blender, para hacer esto se descomprime el archivo y se copia el archivo con extensión .py en la carpeta addons de blender, para encontrar esta carpeta en windows se debe habilitar ver archivos ocultos del sistema y luego entrar a la siguiente ruta según el usuario y la versión de blender.

RUTA: C:\usuarios->nombreusuario->AppData->Roaming->Blender Foundation->Blender->version->scripts->addons

Después de copiar el archivo simplemente se habré blender, luego se presiona en user preferences y en la pestaña Add-Ons buscar Ogre Exporter y despues se activa el cuadro que esta al frente del nombre en el cual debe aparecer una marca de verificación.

Para que la animación hecha en blender pueda se exportada correctamente a ogre 3D es necesario lo siguiente:

1. Lo usual para crear una animación es crear huesos de deformación y otros de control, la animación se suele hacer rotando, escalando y moviendo estos huesos de control y lógicamente insertando sus respectivas keyframes. Pero si exportamos la animación de la manera anterior esta no funcionara en ogre ya que ogre solo utiliza los huesos de deformación por lo que cuando se inserte una keyframe del hueso de control se hace necesario hacer lo mismo con los huesos de deformación que se utilicen.

2. Es necesario que la rotación de la armature este en el mismo valor que la rotación de la mesh esto se ve en el panel de propiedades que se abre presionando N.

3. Si se tiene algún problema en la animación es necesario rotar la mesh con respecto a la armature para que coincida en Ogre3D.

4. Máximo cuatro huesos de deformación pueden estar asociados a un vertex si no es así cambiar los valores de weight a cero en los vértices que sobrepasen este limite.

5. Se requiere abrir el NLA editor y allí crear el strip respectivo a la acción, se cambia el nombre en el panel de propiedades presionando N en el NLA editor y se cambia el nombre en Active Track, ojo este sera el nombre que necesitaremos para llamar a la acción en Ogre.

Para Exportar se selecciona la mesh y la armature, despues se activan la opciones como se ve en la imagen:
Muchas veces no coincide la animación con la mesh en Ogre y puede generar mala animación como se ve en la siguiente imagen:
Para arreglar lo anterior es necesario rotar la mesh con respecto a la armature hasta que coincida en Ogre.
En la siguiente imagen se explica de una manera visual algunos puntos anteriores.


Esto es todo, en el próximo post mostrare al humanoide caminando en Ogre3D.