En las últimas semanas parecía que
todo me salía bien, que todo eran alegrías. Pues hoy toca aceptar
una derrota, algo que no he conseguido hacer funcionar y que tendré
que hacer de otra manera.
Un compañero de máster me comentó de
pasada que podía simular el abrigo del personaje en 3ds max y así
no tendría que animarlo a mano. Pero estaba ya casi decidido a
quitar el abrigo. El problema vino cuando ya le puse los huesos al
modelo, y probé una animación de andar. Muchas cosas no funcionaban
bien, como me esperaba, porque hay que ajustar el weighting de los
huesos. Pero me llamó mucho la atención el movimiento de la ¿camisa
larga?, ¿faldón?, ¿vestido? (la cosa morada) del protagonista. Las
piernas lo atravesaban a veces al andar, eso tenía pinta de que no
se arreglaba con el pesado de huesos, sino que iba a necesitar
retocar las animaciones de esa parte de ropa casi frame a frame.
Y ahí se me encendió la bombilla de
intentar usar simulación. Llegué a tutoriales por youtube y parecía
sencillo, vi alguno donde se creaba un modelo con 4 cilindros, creaba
cierta ropa con un plano y ponía a simular y el resultado era muy
bueno, cómo mola, resultado muy bueno con poco trabajo, la parte del
tutorial de la simulación física de telas apenas duraba 2 minutos.
Pero al ponerme yo a ello todo se empezó a torcer. Lo primero, la simulación es un modificador (cloth), y por ello necesitaba separar la parte de faldón que quería simular del resto del modelo, ya que no se puede aplicar un modificador solo a una parte de un modelo. Pero esto tiene sus consecuencias.
Al ser el faldón un elemento distinto,
no se mueve con el resto del modelo al poner movimiento a los huesos,
así que la cadera del personaje sube y baja según anda, pero esa
parte de tela se queda quieta, o como descubrí al hacer la primera
simulación, que por la gravedad se vaya al suelo (o al no tener
suelo, al infinito de los números en coma flotante negativos). Tenía
que conseguir que esa parte de tela quedase sujeta al cinturón y se
moviese junto a él, para que parezca continuación de la misma tela
y no un trapo colgandero.
Aquí busque como hacer restricciones
de este tipo, lo cual me vendrá bien para unir la espada a la mano y
que la espada se mueva con la mano, un problema similar. Otro caso
parecido, en el tutorial parece sencillo, pones unas restricciones y
todo funciona bien, lo hago yo y no funciona. Al adjuntar el faldón
al cuerpo se iba a cuenca, y daba igual si le ponía distintos tipos
de restricciones, de posición, de adjunto, enlaces, si movía la
posición relativa del faldón en las restricciones. Lo más que
conseguía es que se moviera al ritmo del cuerpo pero flotando medio
metro por encima del protagonista. Y eso aún suponiendo que
consiguiera que estuviera bien alineado y no girado mirando a la
luna. Al final conseguí un efecto más o menos deseado, separando
también el cinturón del resto del modelo y haciendo un enlace del
faldón al cinturón. Y consiguiendo aplicar el mismo modificador
skin al modelo y al cinturón. Se puede aplicar un modificador a
varios objetos, pero no a una parte de un objeto. Y digo más o menos
deseado, porque el faldón se mueve con el resto del cuerpo, pero al
ser ya objetos diferentes se nota que no encaja bien, con el
cinturón, quedan pequeños resquicios sin unir y no se si eso se
notará en la versión final.
Y ya solo queda hacer la simulación.
En teoría no es muy complicado, en el modificador cloth elegir el
material del faldón, por ejemplo algodón, y el cuerpo y cinturón
como obstáculos físicos, y dar a simular. Y obtengo una forma
abstracta que se levanta por encima de la cintura del personaje. Que
bien.
Pruebo otros materiales, a cambiar
algunos parámetros, sin resultado. Entonces pienso que a lo mejor la
malla es poco refinada para una simulación de este tipo. En la
mayoría de videos subdividen las telas antes de simular, pues vamos
a probarlo. Y pruebo con teselación, subdivide, turbosmooth... todo
lo que encuentro para hacer refinamiento de una malla. Y ya no se
cual es cual, pero en unos casos seguía obteniendo sacos de patatas
y en otros la simulación petaba. Cosa que tarde en darme cuenta,
puesto que la ventana de diálogo de simulación se cierra sola al
acabar, incluso en caso de error, entonces no ves el mensaje de
error, solo que la simulación ha acabado y tu tela sigue sin moverse
con los obstáculos que se encuentra (las piernas). En uno de los
casos puse un paso de simulación muy bajo, y tardaba mucho y me dio
tiempo en la ventana de simulación a quitar el check de cerrar solo
al acabar, y ya pude ver el error, que la tela se estrechaba
demasiado y petaba la simulación.
Probé de todo, cambiar distancias,
pasos de simulación, autocolisiones, simular por vértices o por
aristas, comprobar intersecciones, incluso a hacer la simulación
contra los huesos en lugar de contra el modelo. Pero nunca llega a
funcionar bien. Y además en algunos de los intentos el faldón había
pasado de 60 polígonos a 1.000, y claro en un modelo de unos 2.000
polígonos, usar un 50% más en una parte tan reducida de tela es
inadmisible.
No sé si es cosa del programa, uso la
versión de 2011 de 3ds max, lo mismo versiones más modernas simulan
mejor. O a lo mejor no funciona bien en esas condiciones, o hay que
hacer algo más que no sé o hago mal, tampoco encuentro mucha
información al respecto, quitando casos facilones. Y puede que este
tipo de simulaciones no funcione bien con un modelo de tan baja
poligonización. Sea como sea, me doy por vencido, lo animaré a
mano.
No hay comentarios :
Publicar un comentario