En entradas recientes he hablado sobre
cómo poner
la espada al héroe mediante una restricción, y en cómo hice
cambios
tardíos en el modelo con bastante suerte. Una vez más el
demonio está en los detalles y he tenido problemas con todo esto
cuando he tenido que pasar a las siguiente etapas.
No había conseguido que me funcionase
mi modelo con animaciones ya hechas de las que hay en el Asset Store
de Unity, así que comencé a hacer mi propia animación de correr en
el 3DS max, poniendo al lado otro modelo corriendo del Asset Store y
copíandole un poco las poses, adaptado a mi personaje.
Al tener al personaje corriendo, giré
la cámara alrededor buscando que todo fuera bien, y algunas veces
veía alguna cosa rara. Pero era muy sutil, si lo miraba frame a
frame durante solo un frame salía un triángulo raro por algún
lado, que se veía solo desde cierto ángulo. Y todo venía por esas
partes interiores duplicadas que puse para evitar que el faldón y
las mangas fueran transparentes por dentro. Y claro, si un trozo de
estos se sale de donde debe, como está mirando hacia el lado
inverso, se va a ver transparente, salvo en algún ángulo extraño,
y justo eso es lo que estaba viendo. La solución es pegar (weld) los vértices internos y externos en el borde. Algo que de todas
maneras debería haber hecho en su momento al crear esos nuevos
telares.
Sorprendido me quedé cuando importo el modelo en Unity y veo que el modelo todavía tiene el abrigo hasta los pies. Había dejado ese trozo oculto en 3DS max y Unity no hace caso a ocultos. Pero la sorpresa fue mayor cuando me cargo esa parte del modelo, reimporto y sigue estando en Unity. Por más vueltas que daba, en 3DS max no existía y en Unity sí. Reinicié programas, borré assets, probé varias veces, y nada, el maldito abrigo seguía ahí. Era un problema con la pila de modificadores, me explico. El modelo inicialmente era un Editable Poly, le puse el podificador Skin para unir con los huesos y poder animar, y encima otro Edit Poly para poder mover algún vértice suelto en un frame concreto y perfeccionar alguna animación chunga. Y yo estaba eliminando la parte baja del abrigo del Edit Poly de la cima de la pila de modificadores. Pero Unity no se enteraba de que me había cargado ese trozo si no lo hacía en el Edit Poly de abajo del todo en la pila. Y al eliminarlo en el edit poly de debajo, al volver hacia arriba en la pila me desaparecían polígonos de las piernas del personaje. Por suerte, Unity no se entera de estos desperfectos (supongo que por la misma razón que seguía mostrando el abrigo) y así conseguí el modelo sin abrigo y sin fallos.
Otro problema ha sido la restricción
que unía la espada a la mano. En 3DS max funciona. Resulta que el
formato FBX con el que se exportan los modelos y animaciones para
luego importarlos en Unity no admite las restricciones. Así que al
llegar a Unity pues la espada no se mueve. Se puede precompilar la
animación al exportar en 3DS max (bake), y ya con eso debería ir. Y
digo debería porque no me va bien en todos los casos. Si uso como
tipo de animación en Unity3D “legacy”, funciona bien, la espada
se mueve con la mano y está en su sitio. Pero si uso la opción
“humanoid”, necesaria para poder utilizar mechanim, ya no
funciona, la espada se mueve, pero no como debería y vuela sobre el
protagonista, no está en su mano.
La espada está como un objeto aparte
en el modelo, para poder tener el personaje sin espada y con espada.
Así que probé a ponerla adjunta como parte del mismo modelo del
cuerpo, a ver si así al precompilar la animación quedaba bien. Y me
encuentro que en Unity deja de salir la espada. Claro, lo he
adjuntado usando el Edit Poly de arriba de la pila, lo hago con el de
abajo y ahora ya funciona. Se ve la espada en Unity y la animación
va bien, con la espada en su sitio en mechanim. Así que tengo que
decidir si quiero poder tener la espada como objeto aparte o poder
usar mechanim. Creo que va a ser lo segundo. Aunque me de mucho más
problemas, acabo de conseguir cargar animaciones externas y que
funcionen, y tiene un potencial tremendo. Dedicaré uno o varios
artículos enteros a mechanim.
No hay comentarios :
Publicar un comentario