Ir al contenido principal

Como animar con huesos en Unity

Una de las técnicas que tenia muchas ganas de probar era el sistema de animción de sprites 2D que incorpora Unity. Creo que es una técnica de animación que puede ser muy util en determinados contextos. A mi que me gusta el pixelart prefiero las anmaciones a mano, pero hay que decir que el sitema de rigging y huesos de Unity tiene mucho potencial.


En primer lugar en Unity 2019.3 que estoy utilizando estos dias hay que instalar el package de forma addicional. El package de 2D IK no ofrece compatibilidad oficial (2019.3 verified) pero yo he hecho unas pruebas y parece funcionar bien. Así mismo para descargar el IK debeis ir a Advanced y hacer que os muetre todos los paquetes.


Una vez instaldos los packages debemos crear con algun editor de imagenes las piezas de nuestro personaje por separado. Otra opción es crear un personaje completo, pero haciendo pruebas creo que cierto movimientos deforma la imagen. Yo he hecho un pequeño proyecto a través de un personaje tipo stickman para hacer las pruebas.


Una vez abierto un proyecto en unity sólo teneis que seleccionar el sprite e ir al Sprite Editor para definir los huesos (bones) de nuestro personaje.


En el Sprite Editor debeis seleccionar el Skinning editor (pestaña superior izquierda). Ahora es el momento de definir los huesos de nuestro personaje para que podamos definir los movimientos. En nuestro caso quedaria algo así:


Fijaros que cabeza, brazos y las piernas parten del tronco del cuerpo, esto es importante para poder hacer luego las animaciones. Una vez creados los huesos debemos dotarlos de estructura para poder trabajar con ellos.


Tras crear la geometria deberia quedar indicados con colores la relación entre los huesos y la forma de las piezas del personaje. Si esto no se ajusta al resultado deseado podemos repeteir el proceso tantas veces como sea necesario.



Después de poner Apply ya podemos utilizarlo en nuetsro juego. Para ello debemos añadir al sprite añadido en el escenario dos componentes importados en el package (Sprite Skin y Sprite Skin Entity). Después de pulsar Create Bones podremos jugar con ellos en el escenario.


Ahora con el sprite en el scenario podemos mover los huesos.


Pero primero debemos hacer es componer las piezas para recuperar a Stickman a partir de sus partes:



A partir de aquí tenemos dos opciones, añadir la libreria de rigging para definir los IK con los movimientos o definir los movimientos a través de las huesos manualmente.


En este caso lo he hecho manualmente para jugar con las animaciones. Es mas laborioso pero con una animación sencilla el resultado ha sido satisfactorio.


Ahora podemos crear todas las animaciones del juego utilizando los huesos o los IK. Para complementar este artículo podeis buscar algunos de los tutoriales en Youtube. Yo estoy utilizando esta animación en un pequeño proyecto móvil, veremos los resultados.

Comentarios

Entradas populares de este blog

El diseño de la interfaz de usuario

El estudio del diseño de interfaz de usuario en videojuegos es un tema que se ha estudiado en profundidad pero que muchos desarrolladores que empiezan no prestan mucha atención centrando su energía en las mecánicas del juego y especialmente el arte ya que muchas veces el éxito o el fracaso de un juego dependen de ello. Pero más lejos de la realidad la capacidad lúdica de un juego muchas veces también viene determinada por el diseño de la interfaz que hace de dialogo entre el jugador y el juego. Uno de los mejores análisis de las interfaces de usuario en videojuegos lo encontramos en los estudios realizados por Anthony Stonehouse y Marcus Andrews . El diseño de la interfaz de usuario en los juegos difiere de otro diseño de interfaz de usuario porque implica un elemento adicional: la ficción. La ficción involucra un avatar del usuario real, o jugador. El jugador se convierte en un elemento invisible, pero clave de la historia, como un narrador en una novela o película. Esta ficc

GitHub y Unity

Para el proyecto que estoy desarrollando voy a utilizar GitHub como repositorio de archivos y versiones. Aunque muchas veces uso el propio sistema de Unity, por el motivo que sea también vamos a utilizar un sistema general ampliamente utilizado por los desarrolladores de software. En primer lugar debemos tener una cuenta GitHub que nos podemos hacer gratuitamente. Una vez hecha vamos a utilizar un programa de gestión de versiones como es Sourcetree para gestionar el flujo de las versiones, ramas, etc. de nuestro juego. Una vez tenemos la cuenta de GitJub, si queremos utilizar SourcreTree necesitas una cuenta de Atlassian Bitbucket. Sin no disponemos de ella la podemos crear en el momento de la instalación o previamente a través de su página web. A partir de aquí solo tenemos que ejecutar Sourcetree y enlazar las cuentas. En el vídeo tenéis todo el proceso completo. Una vez tenemos en enlace hecho debemos enlazar con la cuenta de GitHub con la opción de Edit account

Como hacer copias de tu código de Unity con GitHub

Podriamos escribir un libro entero de las bondades de Git para el trabajo colaborativo y la gestión de versiones en un entorno como Unity. De hecho hay mucha literatura en internet para aprender a utilizar Git en todo tipo de entornos de programación. Así mismo para aquellos que empiezan seguramente lo primero que deberían aprender como hacer una copia de seguridad periódica de sus proyectos.. y ya habrá tiempo para, poco a poco aprender todo el potencial de una herramienta como esta. En su momento hice un tutorial para usar Git con una interfaz gráfica como SourceTree como punto de entrada al mundo de Git, pero en esta ocasión me gustaría explicar, paso a paso como utilizar GitHub para hacer copias de seguridad de tu proyecto en Unity. Para iniciar este proceso se deben hacer tres pasos: 1.- Crear una cuenta en GitHub En la pantalla principal de GitHub debemos crear una cuenta nueva (Sign up) y seguir el asistente para tener una cuenta gratuita con los parametros por defecto que nos