En su momento hice el diseño
y animaciones
del nuevo tipo de enemigo: el veneno ciego. Y ahí quedó la cosa. No
llegué a incluirlo en Unity porque me puse con otras cosas, y ahora
ha llegado el momento, y me he encontrado con varios problemas, no ha
sido tan sencillo como yo creía.
El primer problema fueron los huesos.
Como solo quería animar los brazos, puse unos huesos sueltos en cada
brazo, y si en Unity eliges la animación como Legacy se mueve, pero
en Generic no. Y si estoy usando animaciones del tipo actual no
quería volver a Legacy. Llegué a la conclusión de que no
funcionaba con Generic, por ser dos esqueletos, uno en cada brazo, y
no uno solo. Y creo que tenía razón, añadí un hueso más al
cuerpo que unía los dos brazos y la animación empezó a funcionar
con un rig de tipo Generic en Unity.
Pero tanto en Generic como en Legacy se movía, pero no bien. El modelo entero se bamboleaba hacia delante y atrás cuando solo debería mover los brazos. Se ve que no puedes dejar vértices sin asignar peso a algún hueso como pretendia. En 3DS max funcionaba bien, los vértices de los brazos tenían asignado huesos y se movían y el resto no, y no se movían. Pero creo que Unity al encontrarse esto, asigna los vértices sin hueso al primero que pilla, y por eso se movía todo, en este caso al ritmo de uno de los huesos del brazo izquierdo. Para arreglar esto tuve que asignar todos los vértices neutrales al nuevo hueso, que no se mueve. Aunque así se perdía el efecto de deformación que había metido, el cual pude recuperar aplicando esa deformación sobre el nuevo hueso.
Una vez arreglado esto ya funcionaba en
Unity, y le quise dar el mismo aspecto que tenía el veneno antes,
con halo alrededor. En lugar de poner halo, esta vez hice un efecto
parecido usando el MkGlow que usé para la estela de la espada. Ya
que el shader se ejecuta, solo tenía que hacer el material del
veneno de tipo MKGlow y ajustar los valores.
Por otro lado tenía que hacer que se
moviera. Este personaje va a patrullar sin reaccionar ante el
personaje, ya que es ciego, es más un obstáculo que un enemigo,
aunque te lo puedes cargar y te puede hacer daño sin querer. Lo puse
a andar por un recorrido hecho con un path de iTween, pero hacía
cosas rarísimas. Aún ajustándolo bien tenía el problema de que al
poner la animación tipo ping-pong para que hiciera el recorrido de
ida y vuelta, la vuelta la hacía marcha atrás, como si fuera un
moonwalker. Podría haberlo arreglado con un evento al final del
recorrido y una animación de giro, pero opté por otra solución más
sencilla y más potente. Usé iTween multipath, que permite poner
varios caminos y que le personaje los vaya encadenando. Así pongo un
camino de ida, y otro de vuelta, además no superpuestos, y el
enemigo hace perfectamente la ronda que quiero. Pero esto es más
versátil, ya que en zonas más complicadas le puedo poner a hacer
otros patrones con más de 2 caminos.
No hay comentarios :
Publicar un comentario