Armatures: el sistema básico.

Introducción:

Los armatures son el elemento básico para deformar y animar un personaje hecho de poligonos. Podemos pensar en ellos como esqueletos. Están compuestos de elementos menores llamados huesos (bones) que pueden ser configurados de distintas maneras.

Armature

El proceso de creación y configuración de un armature para que resulte totalmente funcional es conocido como "rigging" del personaje. Un armature una vez creado servirá para deformar la malla del personaje. Para que esto ocurra deberemos relacionar de alguna manera el esqueleto con la malla, esto se conoce como "Skinning". Este tema (Skinning) se verá con detalle en capítulos siguientes.

En este capitulo y siguientes sobre Rigging aprenderemos a crear cadenas de huesos, conocer sus propiedades y cómo configurarlas para resolver problemas específicos, y por último crearemos un armature completo para un personaje humanoide.


Generalidades de los armatures.

El Objeto Armature

Un objeto armature se crea usando el toolbox, eligiendo la opción "Armature".

toolbox

De esta manera se crea un hueso inicial y entramos en Modo Edición automaticamente. A partir de allí, se pueden seguir añadiendo huesos de distintas maneras:


Como todo objeto en Blender, el objeto armature tiene tambien sus ejes. Estos deberemos asegurarnos de que siempre esten alineados a los ejes globales. 

Anatomía de un hueso

Las cadenas de huesos se finalizan con la tecla ESC. Un hueso tiene una "raíz" y una "cola", que son los puntos extremos del hueso. Todos los huesos comienzan en la "raíz", y por ende, la posición de un hueso será referida siempre como la posición de la raíz del mismo.

hueso

Cada hueso que creamos tiene un nombre único, que podemos ver usando el panel flotante (tecla N en la vista 3D). En los botones de edición podemos ver otras propiedades de cada hueso. Entre ellas podemos ver además del nombre, cual es el hueso padre si lo tuviera, si se trata de un hueso de deformación o no, si funciona encadenado con otro hueso, si está oculto en la vista 3D, etc.

Cada hueso posee su propio sistema de coordenadas (llamadas coordenadas locales), además del sistema de coordenadas globales. Es posible definir rotaciones en estos ejes y a menudo eso será exactamente lo que hagamos al animar. Las rotaciones locales de cada eje pueden verse también en el panel Transform Properties.

Panel-N

panel-bone

En este panel (botones de edición) es posible ver hasta 5 huesos seleccionados como máximo. Para seleccionar huesos, muchas veces será útil emplear el Outliner como veremos más adelante.

Modos de Visualización de Armatures

Con los armatures tenemos 3 maneras de trabajar: Modo Objeto, Modo Edición y Modo Pose. En el modo Edición podremos modificar la estructura del armature, quitando  agregando huesos, cambiando sus tamaños, y modificando la jerarquía de los mismos. En el modo Objeto, el armature es considerado como un objeto completo, servirá para operar con el armature a nivel global. El modo Pose se usa en animación para establecer las "poses" del armature a lo largo de la animación.

modos

La forma de poner nuestro armature en un modo o en otro, es la siguiente:

Para entrar y salir de Modo Edición, usamos la tecla TAB (tabulador). Para entrar y salir de Modo Pose usamos la combinación CTRL+TAB. Si tenemos activado el Modo Pose, podemos seleccionar otros objetos también. Cuando volvamos a seleccionar nuestro armature, el mismo seguirá aún en Modo Pose.

También podemos usar el menu desplegable de la cabecera de la ventana 3D para ir cambiando de Modo.

lista-modos

El Modo Objeto, es el modo por defecto, cuando no estemos en Modo Edición y no hayamos activado el Modo Pose. En todos estos modos, el armature al igual que cualquier otro objeto puede verse como "Solid" o "Wire", y pueden visualizarse extras como el nombre de objeto o los ejes desde el panel DrawExtra.

Huesos: Usos y Formas

Los huesos de los armatures pueden cumplir distintas funciones y visualizarse de distinta manera. Usar una forma u otra depende de la operación que estemos realizando con el armature, ya que cada modo ofrece distintas características. Las formas de los huesos son:


Podemos elegir el tipo de armature en los botones de edición y podemos cambiar el tipo de hueso en cualquier momento de acuerdo a nuestra necesidad.


Octaedro es la forma de hueso clásica tiene la ventaja de mostrar claramente las rotaciones longitudinales.

Bezier o B-Bone será muy util para animar personajes muy flexibles. Nos permite agregar segmentos que se curvarán segun la tensión que recibe el hueso. Cuando se activa este modo, podremos cambiar la elasticidad del hueso cambiando el numero de segmentos (Segments) que lo componen, y los valores In

NOTAS SOBRE B-BONE

Stick, será el más usado para animar porque visualmente es es el que menos interfiere, permitiendo ver la malla deformada.

Envelope o Envolvente lo utilizaremos cuando hagamos "skinning" de personajes. En Modo edicion es posible modificar el volumen de la envolvente usando el comando ALT+S. La forma de la envolvente puede variarse un poco escalando distintamente la raíz y la cola del hueso. Asimismo, puede escalarse la envolvente en Modo Pose. La diferencia en este modo es que solo la envolvente es afectada por el escalado. Toda la geometría que sea cubierta por la envolvente de un hueso será deformada por el mismo. Si un hueso no tiene activada la opción Deform, no aparecerá una envolvente en este modo. Finalmente, la envolvente puede "quemarse" sobre la malla del personaje como veremos en el capítulo de Skinning.

NOTAS SOBRE ENVELOPE

Custom Shape lo usaremos generalmente para huesos que usaremos como widgets o controles de animación. Le podemos asignar una forma geométrica arbitraria.

NOTAS SOBRE CUSTOM SHAPE


Estos tipos de hueso son seleccionables a través de los botones de edición.

El "Roll" de los huesos y la alineación:

Los huesos como hemos visto poseen Raiz y Cola. Otra propiedad que tienen es el "Roll". Esto indica el giro longitudinal que tienen incorporado y tendrá influencia directa sobre la alineación de los ejes normales del hueso.

Mantener una determinada alineacion de los ejes de los huesos es muy importante por ejemplo cuando queremos que una cadena de huesos actúe sobre un plano en lugar de todo el espacio. Si pensamos en el dedo indice de la mano nos quedará claro. Cuando la mano se cierra, el dedo rota hacia la palma. Cada hueso del dedo rota en el mismo sentido y sobre el mismo eje de rotación. De lo contrario el dedo se curvaría lateralmente. Si el eje normal de cada hueso  no está correctamente alineado, será muy dificil lograr que los tres huesos del dedo roten "en el mismo plano".

Los rolls de los huesos desgraciadamente suelen cambiar cuando manipulamos la raiz o la cola de los huesos en modo edicion. Podemos ver esto claramente cuando el hueso adopta alineaciones que no son paralelas a ningun eje global. La única garantía de que los ejes de nuestros huesos se  mantengan como es debido, es que los huesos se mantengan paralelos a algun plano global, el XY, el ZX, o el ZY, lo mismo da. Una alineacion oblicua a todos los planos es casi seguro que traerá problemas.

Ejemplo (eliminar esto)

Vamos a crear una cadena de tres huesos. Cambiemos a la vista frontal en la ventana 3D. Ubiquemos el cursor en el centro de coordenadas, y usando el toolbox, seleccionemos "Add Armature". Un hueso vertical de longitud fija aparecerá. En este momento estamos viendo el armature (de un solo hueso) en Modo Ediciòn.

Vamos a seleccionar la cola del hueso, y la extrudaremos usando la tecla E. Intentaremos crear un hueso que siga la misma direccion que el hueso original, mueve el ratòn hasta definir la longitud deseada para el hueso (aproximadamente la misma que el hueso inicial). Haz click en la pantalla para terminar de crear el hueso.

Esta es solo una manera de crear un hueso (extrudando la cola de otro). Seleccionemos este hueso (si aún no lo está) y pulsemos la tecla W. Elijamos la opciòn "Subdivide". Ahora el hueso se ha convertido en dos huesos mas pequeños. Esta es otra manera de crear nuevos huesos a partir de otros.

Nos interesa que los huesos estén perfectamente alineados en el sentido vertical.  Para lograrlo, seleccionaremos la cadena completa (tecla L con el ratón sobre un hueso cualquiera de la cadena). Cambiaremos a modo referencia local y pulsaremos SX para escalar en el eje X, y luego pulsaremos 0 (cero) como factor de escalado.

Alternativamente podriamos haber escalado los 3 huesos usando el control de escalado en el eje X (control rojo), y manteniendo pulsada la tecla CTRL para avanzar en intervalos discretos y siempre llevando el raton hacia el centro de la selección, hubieramos reducido a cero el escalado, dejando alineados perfectamente los tres huesos.
Una vez ajustados los tamaños de los 3 huesos, ajustaremos las rotaciones en las articulaciones usando la combinación de teclas CTRL+N (Recalculate Roll bones angle).

Hemos creado nuestra primera cadena de huesos. Vamos a intentar hacer algo mas con ella.
Entremos en Modo Pose (CTRL+TAB). Seleccionemos el ultimo hueso de la cadena y pulsemos CTRL+I. Elijamos la opción "Add New Empty". esto creará un empty. Si ahora seleccionamos ese empty, y lo movemos veremos que la cadena se retuerce o estira haciendo pivote en el origen de la cadena. Esto se conoce como "Cinematica Inversa" y será explicado en detalle mas adelante.

Observar que no es necesario salir del Modo Pose del armature para seleccionar un objeto externo. Asimismo, cada vez que seleccionemos el armature, este seguirá en modo Pose, a menos que explicitamente lo saquemos de ese modo volviendo a pulsar CTRL+TAB o eligiendo el Modo de la lista desplegable en la cabecera de la ventana 3D.