lunes, 7 de abril de 2014

Unity3D Scripting: Mecanim (I)

Mecanim, la novedosa herramienta de Unity3D, es en resumen, un ahorro de código más para el programador, al igual que por ejemplo usar variables públicas en el inspector, el arrastrar y soltar en la escena, los componentes prefabricados, etcétera, etcétera.

Ejemplo visual
¿En que consiste mecanim?
Una versión resumida y práctica, al menos para mi, es resumir Mecanim como un lanzador de animaciones de personaje, es decir, cuando se cumpla cierta o ciertas condiciones, cambiar la animación del personaje por la animación correspondiente.

Por supuesto no quiere decir que esto nos haga todo el trabajo, nosotros debemos crear nuestra máquina de estados y luego, a través de código podremos modificar los diferentes valores para que surjan los eventos cuando sean necesarios, un buen ejemplo sería el de la imagen vista arriba, estamos quietos por defecto, disparamos y recargamos, ahora pasaremos a ver como se ejecutan los eventos de mecanim en este primer tutorial, ya que, aunque no es muy complejo, es largo de explicar ya que tiene muchas cosas interesantes.

En primer lugar hay que crear un "Animator controller" (Assets/Create/Animator controller).

Nosotros partimos de un estado por defecto, que es el que está de color naranja, los grises son los demás estados a los que podemos pasar, el azul, es un estado que siempre estará ahí pero es opcional usarlo o no, que en caso de que estemos en un estado que haya terminado y no tenga nada mas que hacer, llamaría a ese estado genérico y el volvería a empezar el ciclo desde el evento que le digamos, en caso de que este evento no lo usemos, nuestro último evento realizado se ejecutará una y otra vez.

Al crear un animator controller nuevo, nos dará solo el estado azul, aquel que, cuando nuestro último estado termine, apuntará automáticamente al estado que apunte este.

Para crear un estado nuevo, es tan fácil como pulsar el botón derecho y usar (Create State/Empty), el cual, si es el primer estado que creamos, saldrá en naranja para ser nuestro estado por defecto como podremos ver aquí.
Además, una vez creado varios estados, podemos definir cual será el principal pulsando encima click derecho y usando la opción (Set As Default), la cual, si es ya el que está por defecto no te dejará usar.

Por último, en esta primera parte del tutorial explicaré que son las transiciones, para pasar de un estado a otro usaremos transiciones, que son, ni mas ni menos que esas flechas blancas que vemos en la imagen de arriba, botón derecho encima del estado que queremos usar y pulsar en (Make Transition), el cual, se le pueden añadir o quitar condiciones para que haga una transición al siguiente estado, por defecto tendrá "Exit Time", que viene siendo, "Cuando pase cierto tiempo..." cambia de transicion.
En este caso, al pasar 9 décimas de segundo pasará al siguiente estado y como se puede apreciar, debe tener al menos un estado, por eso está el menos deshabilitado.

Para añadir condiciones debemos de usar los parámetros, que será la segunda parte de este tutorial para no alargarlo mucho mas.


1 comentario:

  1. Oye te felicito por el blog, tengo algo de rato trasteando con Unity, este tuto de mecanim está básico pero necesario, para mi lo que siempre resulta complicado es sincronizar bien las animaciones, poner a andar un modelo es cosa fácil pero que lo haga de manera adecuada ya es otra cosa... Una vez más te felicito por el blog y saludos

    PD: te dejo mi correo floresheldy@gmail.com

    ResponderEliminar