Aún estoy vivo

Un breve post para decir que sigo vivo. He tenido un días muy ocupados, trabajando en el proyecto y atendiendo montones de problemas en la oficina, mayormente derivados de máquinas que llevan años sin mantenimiento y trabajando en condiciones horribles (por ejemplo, medio día sin aire acondicionado en pleno verano del Caribe).
El asunto que me ha estado complicando la existencia en estos últimos días es conseguir ensamblar un personaje a partir de geometrías separadas. Alejandro, el modelador, se percató desde muy temprano del problema del clipping, que yo me había pasado por alto porque nunca tuve modelos adecuados para hacer pruebas. De ahí saltamos a la personalización de la apariencia del personaje (ya que nos vamos a joder, pues a joderse por todo lo alto) y mirando una presentación de CD Projekt Red, concluí que mejor nos jodíamos mucho más: personajes de relleno únicos creados por combinación de partes.
La cuestión es que un procedimiento que supuse que sería muy demandado no está documentado para Unity3d en ningún lugar. He pasado una semana haciendo preguntas en foros y probando cosas, para lograr solamente acercarme a la solución.
En concreto, la idea de base consiste en tener un GameObject padre y adjuntarle un arreglo de GameObjects, cada uno conteniendo la parte en cuestión. Dicho así parece trivial, y lo es, si tienes en cuenta detalles como que cada parte debe exportarse con el esqueleto o no se animará. Ahí entran a jugar otras cosas, el nuevo sistema de animación de Unity3d requiere que cada geometria animada tenga un componente Animator con su correspondiente Animation Controller y un Avatar, que es como la conexión entre el sistema de animación y el esqueleto como tal.
Este es el punto donde todo se ha ido al carajo, aunque consigo armar el personaje, no logro que pase de la animación por defecto. He probado muchas combinaciones: usar el avatar de la malla de la cabeza, usar el avatar del esqueleto exportado sin geometría, y aún me quedan más por probar. Justo ahora acaba de ocurríseme que podría exportar sin esqueletos y en unity decirle al prefab que lo copie de otro avatar.
En fin, que hasta que no encuentre a alguien que haya hecho esto y me lo explique en letra de molde, parece que tendré más días ocupados y dolores de cabeza (literalmente).

Comentarios