Reporte de progreso: menos apagones, y algo de avance (al fin)

 Esta semana hemos logrado concretar uno de los flujos de trabajo que nos venía dando problemas desde el principio. Al fin se ha implementar una prueba de concepto funcional del sistema de objetos que utilizan animaciones. O sea, los pantalones, guanteletes y en menor medida algunas armaduras.

La metodología es sencilla, pero conlleva algo de trabajo (como casi todo en el desarrollo de juegos). Para empezar, es necesario cortar el personaje en secciones, según las partes que quieras reemplazar. Si bien hay modelos que no necesitan eso, por ejemplo, una coraza que cubre el torso, en otros sí es obligatorio que sustituyas una parte del cuerpo del personaje. En nuestro caso, hemos escogido cortar en el cuello, hombros, manos, cintura y pies. El set de armadura inicial incluye una coraza con faldar, brazales que cubren todo el brazo, perneras y escarpes, completando así algo que parece una armadura de placas, aunque sin llegar hasta allá. Los brazales sustituyen los brazos, las perneras las piernas, y así sucesivamente. 

Seguramente alguien podría decir que esto es una estupidez, porque todo eso se hace en Blender, poniendo las cosas sobre el personaje y ocultando o mostrando la pieza correspondiente. Pues... va a ser que eso no funciona, cuando tienes tres razas con dos sexos cada una y montones de armaduras diferentes. 

Ya desde el punto de vista técnico, en Godot (en Unity es diferente) el procedimiento consiste en tomar el MeshInstance3D del objeto y asignar su componente mesh y su material al MeshInstance3D de la parte del cuerpo a reemplazar. Por supuesto, se guarda una copia del MeshInstance original para restaurarlo al desequipar la armadura. El método también permite personalización y variedad de personajes, pues puedes reemplazar el torso de un NPC por otro torso con panza, o cambiar su cabeza.

El siguiente paso es lidiar con esas tres razas y dos sexos, que nos dan seis modelos en total. Cada uno de esos cuerpos tiene diferencias con respecto a los demás, más o menos sutiles, pero las hay. Aquí la cosa se complica, porque hay que proporcionar una armadura para cada cuerpo. Esto se logra usando shape keys, y no se dejen asustar por el término, es tremendamente fácil. Solo que como casi todo en el desarrollo de juegos, conlleva algo de trabajo. Hemos definido shape keys que permiten deformar la armadura y adaptarla al cuerpo objetivo. De nuevo, no es factible crear un modelo separado para cada variante, porque gestionar seis modelos por cada objeto cuando tienes muchos objetos es una pesadilla. 

Como ven, no hay un método fácil. Si quieren fácil, dedíquense a otra cosa. Rascarse los dedos de los pies, o mirar la pared. Pero es efectivo y les garantizo que el resultado vale la pena. Les debo las fotos porque Blogger ya no las muestra, pero pronto tendremos video mostrando cómo se ve todo esto en el juego. El paso siguiente consiste en manejar objetos más complejos, como un gambesón o túnica, que incluyen mangas y requieren sustituir no una, sino dos partes del cuerpo a la vez.


Comentarios