Este es UNO de los post que voy a dividir en dos partes para que cada uno lea la parte que le interese nada más. En esta ocasión vamos a ver cómo usar el Animator de Unity para animaciones 2D, con spritesheets. Les voy a enseñar cómo pasar de una animación a la otra sin poner demasiados condicionales sino cambiando una variable y que Unity decida qué hacer. También vamos a ver cómo detectar cuándo el animator entra a una animación, sale o permanece en ella. En otro POST se ve el uso de esto en un juego de plataformas.

Vamos a empezar por lo básico del Animator. MUY BÁSICO…

 

¿QUÉ ES EL ANIMATOR?

Es el sistema de animación de la plataforma Unity3D. Sirve para crear animaciones tanto en 2D como en 3D. Originalmente fue pensado para 3D, antes de que se incorporara el uso de 2D, por eso muchas de las herramientas que van a ver no las usamos siquiera.

Podemos combinar muchas cosas como transiciones, crear variables dentro, poner condiciones para el paso de una animación a otra y hasta hacer un blend entre animaciones sólo cambiando un valor como por ejemplo su velocidad de movimiento.

Podemos hacer cosas sencillas como…

 

 

Hasta cosas bastante más complejas, en el caso de tener mayor cantidad de animaciones…

 

 

Pero… Tratemos de no llegar a ese extremo ;). Lo importante es que aprendan a usarlo, pero también que tengan la experiencia. También es importante que no dejen toda la tarea al animator, como si este fuera a solucionar todos los problemas, ya que en tal caso nos terminaría trayendo más de los que solventaría. Vamos a ayudarnos un poco de los scripts también. Empecemos!

 

 

Les queda pendiente ese ejercicio para practicar! Lo resuelvo en el próximo video, igualmente. El problema es más que nada lógico. No tiene ninguna ciencia en particular, sólo hay que pensar un poco la lógica del problema: el POR QUÉ pasa; y la lógica de la solución: QUÉ hacer para que no pase.

Lo siguiente va a ser mover a nuestro personaje. Ahora que ya lo pudimos animar, la idea es que lo acompañe también el movimiento. Para ello vamos a poner algo más de código (como dije: no dejar todo al animator), para que se traslade a lo largo del escenario. 

En general, les recomendaría que traten de hacerlo, luego buscar una forma más corta o “mejor estructurada” de cómo resolverlo. No traten de que de una les quede bien, puesto que si lo hacen no van a empezar a codear ninguna idea hasta que ya esté bien, y quizás cuando se les ocurra la “correcta” no funcione como quieren. Así que de entrada empiecen a escribir código sin importar si está o no bien (esto háganlo sólo para solventar problemas cortos, y si es un problema largo dividanlo en partes). Luego de que hallen una solución, antes de avanzar, optimicen lo escrito para que sea más entendible y mejor, estructuralmente hablando.

Vamos con la siguiente parte!

 

 

 

Y con esto ya podemos hacer que nuestro personaje se mueva y además se anime a lo largo del escenario. El resto de cosas que quieran hacer de ahora en más queda más a la imaginación de ustedes. Traten de practicar agregando más animaciones, e incluso personajes que se ven desde otra perspectiva, como para ver cómo solucionarían esos problemas. Les va a servir de práctica y también de experiencia.

Vamos con la última parte: Behaviours. Son básicamente scripts, sólo que sirven para agregar a cada uno de los estados del animator, para que sepamos cuándo ocurre cada cosa, como que entre o salga de una animación. Esto nos sirve para hacer determinadas cosas como quitar al personaje de pantalla cuando termina la animación de “Die”. Vamos allá!

 

 

Y con esto terminamos. Esto es sólo el principio. Sería bueno que hagan cosas ustedes y experimenten con todo lo que se puede hacer del animator. Voy a mostrar algo más cuando suba el tutorial para hacer un juego de plataformas. Los veo allá!

Saludos.