martes, 14 de octubre de 2014

Animación 3D: Rigging & Skinning

Previo a poder animar nuestros personajes 3D, tendremos que realizar un par de procesos que suelen ser un poco laboriosos y complejos (aunque depende mucho de la geometría del modelo a animar).

El proceso de Rigging consiste en colocar una estructura de huesos (o esqueleto) al modelo para que se adapte a él y permita después transmitirle sus movimientos para ser animado. Incluye, además de colocar los huesos, el configurarlos de forma que se establezcan los límites de movimiento y rotación de los mismos para evitar que el personaje final no pueda realizar posturas “imposibles”. Por ejemplo, si tenemos un modelo humano, sabemos que la parte baja de la pierna, puede rotar desde la rodilla hacia atrás pero no hacia adelante, ya que es un gesto imposible de hacer para nosotros (al menos sin rompernos la rodilla). Sin embargo, dependerá de a quién o a qué le estemos haciendo Rigging, ya que pueden variar muchas cosas que habrá que configurar. (Los monstruos y aliens suelen hacer muchos gestos más raros que los humanos).

Todo ha ido evolucionando en la industria del videojuego y en los programas de animación 3D actuales, existen esqueletos predefinidos y ya configurados y configurables, que nos ahorran mucho tiempo y nos simplifican enormemente las cosas. (Especialmente para crear personajes humanos). Tendremos soluciones para cosas tan complicadas como una columna vertebral de un número variado de enlaces, huesos para animar coletas en el pelo u otros que facilitan la torsión para que después en el proceso de Skinning los vértices no se compacten erroneamente. (En muchos caso se usan huesos para animar incluso el “botar” de los pechos en los personajes femeninos, algo que reconocerán fácilmente los fans de la saga Dead or Alive).

Por otro lado el proceso de Skinning se refiere a la aplicación del modelado como “piel” adaptable a los huesos, para que se deforme siguiendo sus movimientos. Es decir, que para animar el esqueleto realmente estemos animando al propio personaje. Es esta una tarea complicada de la que depende que después todas las animaciones 3D se puedan realizar de forma correcta y sencilla.

Estos dos procesos, pero en especial el de Skinning, han sufrido un gran avance en la evolución de los videojuegos, desde los primeros juegos 3D donde no existían los huesos y el personaje se dividía en piezas que eran las que se animaban por rotación y Cinemática Directa, hasta la actualidad, donde las nuevas estructuras de huesos permiten la animación por Cinemática Indirecta y la aplicación de Skinning rígido y deformable con un numero variado de links.

Expliquemos esto último: Para el caso de objetos rígidos como puede ser una armadura, que no variará su forma durante el movimiento, se aplicará Skinning rígido. Así todos los vértices de la pieza se moverán con el hueso sin variar su forma ni sufrir deformaciones. Por el contrario, cuando tratamos objetos orgánicos como la ropa o la propia piel, usaremos Skinning deformable. Este hará que una pieza completa se doble para adaptarse a varios huesos.



Respecto al número de links, este dependerá de cuantos huesos afecten a una parte del modelo, y hay que tenerlo en cuenta para saber si nuestro motor soporta los links con los que estamos trabajando (aunque con los motores actuales no hay mucho problema). Por ejemplo la pierna puede estar afectada por los huesos de la parte superior de la pierna, de la parte inferior e incluso del pie, por lo que tendríamos tres links, que serían más que suficiente. Si nos ponemos muy realistas podemos hacer que le afecte también los dedos del pie, por ejemplo, ya que en nuestro propio cuerpo vemos a veces, que mover un dedo produce movimiento en los músculos de partes del cuerpo muy alejadas de él. Pero cuantos más huesos afecten a una parte del modelo más links estarán influyendo sobre la misma

Los motores de juegos antiguos permitían solo skinning rígido o con dos links como máximo, por lo que había que adaptarse a lo que había y además, la geometría de los personajes, con un límite de polígonos mucho más limitado que el actual, solía producir efectos raros en las zonas de pliegues durante la animación. Actualmente, sin embargo, no hay que preocuparse tanto de estas cosas siempre que hagamos las cosas de forma correcta. Es importante saber, eso sí, que hay que pensar en estos dos procesos y el de animación ya desde el modelado, añadiendo geometría extra en las zonas donde estarán situados los links entre huesos, es decir, las que van a “plegarse” por ser uniones entre dos partes que se moverán durante la animación. (Por ejemplo brazo es una parte, antebrazo otra, y su “link” estaría en el codo.)

¿Y que es cinemática directa y cinemática inversa?

Sin entrar en muchos detalles y complicarme demasiado, es decir, explicándolo con mis propias palabras, la Cinemática Directa hace que al mover o rotar una pieza se muevan o roten con ella todos sus “hijos”, o para entendernos, aquellas otras piezas que dependen de ella. Por ejemplo, si rotamos la parte inferior de la pierna se moverá con ella el pié, pero si rotamos la parte superior de la pierna, le acompañarán en su rotación tanto la parte inferior como el pie. Así, para animar tendremos que ir rotando partes del cuerpo desde miembros superiores a miembros inferiores, sabiendo que la rotación del padre hace rotar a los hijos.


La Cinemática Inversa es justo al contrario, ya que los hijos hacen que los padres también se muevan y, aunque a simple vista no lo parezca, facilita mucho las cosas. Si movemos el pie veremos como la parte superior e inferior de la pierna se mueven con él, adaptándose a un movimiento lo más natural posible, flexionando las piernas o rotándolas cuando fuera necesario. Así colocar las poses para la animación requiere menos tiempo, aunque siempre habrá que hacer colocaciones imposibles solo por Cinemática Indirecta, por lo que lo optimo para animación 3D es una combinación de esta y también la Directa.



Os prometo que me he explicado lo mejor que he podido, pero si no ha quedado claro, la mejor manera de entenderlo es meterse en este mundillo, aprender y practicar.

No hay comentarios:

Publicar un comentario