lunes, 9 de febrero de 2015

Cambios tardíos en el modelo

He sufrido pequeñas pesadillas con final feliz. En varias ocasiones me ha pasado que me he dado cuenta de un fallo de modelado con el modelo en una fase muy posterior, el rigging hecho, incluso con animaciones funcionando. Según lo aprendido tradicionalmente esto es muerte y destrucción, seguramente te toque volver a repetir todos los procesos posteriores al modelado, incluyendo los mapas uv, texturizado, rigging y animación. He conseguido alterar varias cosas sin tener que volver a pasar por todo eso, voy a mostrar dos ejemplos.

Backface Cull

El primero ha ocurrido cuando he empezado a probar el personaje en Unity, y entonces me doy cuenta de que el faldón visto desde dentro no se dibuja, o si miras dentro de la manga, es transparente. En 3DS max no me ocurría, y es que tenía activado que dibujase los polígonos por los dos lados. Existe la posibilidad de activar esto en Unity, pero si lo haces es para toda la escena. El impacto en rendimiento es brutal. No solo eso sino que la iluminación comienza a fallar, y se ven efectos raros. No parece buena solución.


La forma más sencilla de solucionar esto es coger los trozos donde hay este tipo de problemas, en mi modelo el faldón, y las mangas de la camisa, duplicar esa geometría y dar la vuelta a las normales en los duplicados para que ahora el duplicado sea la parte interior de esas prendas. Así que supone añadir nueva geometría y cambiar la topología del modelo. De hecho 3DS max te da un aviso cuando quieres bajar en la pila de modificadores de que eso no es buena idea. Pero lo hice (grabando 15 veces previamente por si acaso), hice el proceso, y pensé que con suerte se comportaría bien y con dar peso en el proceso de skin a los nuevos vértices ya lo tendría funcionando. Ni siquiera eso hizo falta, fue tan bien que los valores de los huesos para cada vértice nuevo también se duplicaron, así que al volver a la parte superior de la pila la nueva geometría se movía exactamente igual que la de origen. Todo perfecto y un problema menos.

He tenido varios problemas de darme cuenta de que unos triángulos no estaban unidos al animar el modelo o que sobraba o faltaba un vértice aquí o allá, siempre iba bien, pero eran cambios pequeños. El otro cambio que me dio más miedo fue a la hora de cerrar la mano para agarrar la espada. El esqueleto de CAD para personaje de juego trae cuatro dedos, ya se sabe por eso que se inventó Walt Disney de que con 4 dedos se pueden hacer todos los gestos importantes de la mano. No se me ocurrió en ese momento extender la mano con un quinto dedo antes de empezar el skinning, sino que pensé que como no iba a hacer mucha animación con los dedos, era mejor asociar los dedos anular y corazón al mismo hueso y que los dos se moviesen a la vez.

Y eso funciona bien, o eso parecía. Cuando he intentado cerrar la mano para que sujete la espada me he encontrado que la posición inicial del anular era más cerrada que el corazón. Así que al cerrar ese hueso, el anular atravesaba el mango de la espada antes de que el corazón pudiera parecer que estaba cerrado alrededor de la espada. La solución: volver al modelo, y estirar el dedo anular, moviendo vértice a vértice para que quede igual que el corazón, y rezar para que el skinning no se haya movido mucho al volver en la pila de modificadores hacia arriba. Me temía que de repente un vértice estuviera en cuenca y al animarse el dedo quedase deformado. Pero todo fue muy bien, al volver a la animación no había nada raro, y ahora si podía cerrar los dos dedos a la vez y que ninguno atravesase el mango de la espada.

Mano cerrada sujetando espada

Dejo imagen del resultado de la mano cerrada. Ya que se tampoco es una maravilla, pero dará el pego, que en el juego se ve bastante de lejos y el modelo es de baja poligonización, tampoco se pueden pedir maravillas.

No hay comentarios :

Publicar un comentario