Tutorial: Scripting Root Motion para animaciones humanoide "in -place (en su lugar)"
1D Blending (Mezclando en 1 Dimensión)

Blend Trees (Árboles de Mezcla)

Una tarea común en la animación de juegos es mezclar entre dos o más movimientos similares. Probablemente el ejemplo más conocido es la mezcla entre las animaciones de caminar y correr de acuerdo a la velocidad del personaje. Otro ejemplo es un personaje inclinado a la izquierda o derecha al momento de girar durante una animación corriendo.

Es importante distinguir entre Transiciones y Blend Trees. Mientras ambas son utilizadas para crear animaciones suaves, estos son utilizados para diferentes tipos de situaciones.

  • Las Transitions son utilizadas para hacer una transición suave de un Animation State (Estado de Animación) a otro durante un periodo de tiempo determinado. Las transiciones son especificadas como parte de un Animation State Machine. Una transición de un movimiento a otro completamente diferente está bien si la transición es rápida.

  • Los Blend Trees son utilizados para permitir múltiples animaciones en ser mezcladas de manera suave al incorporar partes de ellas todas a diferentes grados. La cantidad en la cual cada movimiento aporta al efecto final es controlado utilizando un blending parameter (un parámetro de mezcla), que es solo uno de los animation parameters asociados con el Animator Controller. Con el fin de que el movimiento mezclado tenga sentido, los movimientos que son mezclados deben ser de una naturaleza similar y de tiempo. Los Blend Trees son un tipo en especial de estado en una Maquina de Estado de Animación (Animation State Machine).

Unos ejemplos de movimientos similar pueden ser varias animaciones caminando y corriendo. Con el fin de que la mezcla funcione bien, los movimientos en los clips deben tomar lugar en los mismo puntos en el tiempo normalizado. Por ejemplo, las animaciones caminando y corriendo pueden ser alineadas para que los puntos de contacto del pie al piso tome lugar en los mismo puntos que en el tiempo normalizado (e.g. el pie izquierda pega en 0.0 y el pie derecho en 0.5). Ya que el tiempo normalizado es utilizado, no importa si los clips tienen diferentes duraciones.

Utilizando Blend Trees

Para comenzar a trabajar con un nuevo Blend Tree, usted necesita:

  1. Hacer click derecho en un espacio vacío en la Ventana del Animator Controller
  2. Seleccione Create State > From New Blend Tree del menú de contexto que aparece.
  3. Hacer doble click en el Blend Tree para entrar en el Blend Tree Graph.

La ventana del Animator nos muestra una gráfica del completo Blend Tree mientras el Inspector muestra el nodo actualmente seleccionado y sus hijos inmediatos.

La Ventana del Animator muestra una gráfica del Blend Tree completo. A la izquierda está un Blend Tree con solo el root Blend Node ( nodo raíz de la mezcla). A la derecha está un Blend Tree con un root Blend Node(Nodo raíz de mezcla) y tres Clips de Animación como nodos hijos.
La Ventana del Animator muestra una gráfica del Blend Tree completo. A la izquierda está un Blend Tree con solo el root Blend Node ( nodo raíz de la mezcla). A la derecha está un Blend Tree con un root Blend Node(Nodo raíz de mezcla) y tres Clips de Animación como nodos hijos.

To add animation clips to the blend tree you can select the blend tree, then click the plus icon in the motion field in the inspector.

Un Blend Node (Nodo de Mezcla) mostrado en el Inspector antes de que cualquier movimiento haya sido agregado
Un Blend Node (Nodo de Mezcla) mostrado en el Inspector antes de que cualquier movimiento haya sido agregado

Alternatively, you can add animation clips or child blend nodes by right-clicking on the blend tree and selecting from the context menu:

The context menu when right-clicking on a blend tree node.
The context menu when right-clicking on a blend tree node.

Esto da una visualización gráfica de cómo las animaciones están combinadas al momento que los valores de los parámetros cambian (a medida que arrastra el deslizador, las flechas de la raíz del árbol cambian su sombreador para mostrar el clip de animación dominante).

A 2D Blendtree set up with five animation clips, being previewed in the inspector
A 2D Blendtree set up with five animation clips, being previewed in the inspector

Usted puede seleccionar cualquier de los nodos en la gráfica del Blend Tree para inspeccionarlos en el Inspector. Si el nodo seleccionado es un Clip de Animación el Inspector para ese Clip de Animación será mostrado. Los ajustes serán solamente de solo lectura si la animación es importada de un modelo. Si el nodo es Un Blend Node (nodo de mezcla), el Inspector para Blend Nodes será mostrado.

Usted puede escoger ya sea mezclar en 1D o 2D del menú Blend Type; la diferencia entre los dos tipos son descritos en sus propias páginas en esta sección.

Blend Trees y Root Motion

La mezcla entre animaciones está maneja utilizando una interpolación linear (ie, la cantidad de cada animación es un promedio de las animaciones por separado ponderadas por su parámetro de mezcla). No obstante, usted debería tener en cuenta que el root motion no es interpolado de la misma manera. Vea la página acerca de root motion para más detalles acerca de cómo esto puede afecta sus personajes.

Tutorial: Scripting Root Motion para animaciones humanoide "in -place (en su lugar)"
1D Blending (Mezclando en 1 Dimensión)