MakeHuma+Mixamo+Unity3D solución completa


He tenido un mes (más o menos) bastante ocupado tratando de pulir el asunto de usar Mixamo. Cuando pensé que todo estaba bien amarrado, me encontré con unos problemas raros, cuya solución resultó ser más sencilla d elo que esperaba.
El caso es que las animaciones creadas por Mixamo me rotaban el personaje 90 grados. También en algunos casos la geometría simplemente saltaba o se bamboleaba, pero sin ejecutar una animación como tal. Luego de intentarlo de todas las formas posibles, achacándole el problema a que los modelos estaban divididos, luego a que los modelos no contenían información de animación, y otras cosas que ni recuerdo ahora, casi me doy por vencido.
En concreto, la solución que dejé para el final fue la que salvó la situación. Simplemente usé el procedimiento habitual que uso para ensamblar el modelo del personaje a partir de varias secciones separadas. Al hacerlo, la animación funcionó correctamente, sin rotaciones ni glitches raros. De paso, obtuve el efecto secundario de que puedo usar una misma animación para todos los modelos que tengan el mismo esqueleto. O sea, que es como un retargeting a lo bestia. Así, tienes un Animation Controller único para controlarlos a todos.
Para resumir, el procedimiento consiste en subir el modelo a Mixamo y obtener las animaciones. Podría ser necesario generar animaciones distintas para femeninos y masculinos (hombres y mujeres no caminan igual), pero eso ya es a gusto del consumidor. Recuerden exportar la animación para Unity y seleccionar Without Skin. Una vez obtenidas las animaciones necesarias, basta con seguir el método habitual de copiar la información de los huesos del esqueleto a las diferentes secciones del cuerpo (no abundaré en el tema aquí) y ya está.
En conclusión, ahora puedo generar todos los modelos necesarios para un prototipo en MakeHuman y con unas pocas animaciones de Mixamo hacer pruebas mínimas de sistemas. No es lo ideal, pero es mejor que no tener nada.

Comentarios