Ya sé Rigging ¿y ahora qué? – ExpertZone de Ignacio Santalla

Berenice Guerrero - 31/03/2017 - 2 comentarios

Artículo de Arte Digital realizado por Ignacio Santalla, Character Setup & Rigging Supervisor en Lightbox Entertainment

Este artículo está enfocado a cualquier persona perteneciente al mundo del 3D y a aquellos valientes que han decidido adentrarse en el mundo del Rigging / Setup sin conciencia alguna y pensando que no existe el mañana.

Un poco de introducción

Desde pequeño siempre me atrajo la idea de cómo funcionaban las cosas, de destripar cualquier cacharro para ver qué tenía por dentro y después montarlo para que volviera a funcionar sin éxito alguno.
Cuando empecé en el 3D a medida que avanzaba, entre tutorías de cine y clases, me enseñaron, entre otras cosas, a crear esqueletos de alambre y plastilina y utilizarlos de referencia para hacer cortos. Me di cuenta que todas esas pequeñas inquietudes podía enfocarla a un campo determinado del 3D. El Rigging, ese campo que por mucho que le expliques a tu madre a qué te dedicas, siempre que tú le preguntes a ella en qué trabajas, te va a dar una respuesta totalmente distinta a la que tú le has explicado anteriormente unas 352 veces.

Ese campo que cuando vas con tus amigos o familiares a ver una película de 3D, nunca podrás enseñarles tu trabajo en pantalla, ya que nunca se va a ver físicamente como un modelado, iluminación, animación… y a partir de ahí, empiezan a dudar ciertamente si trabajas en películas de animación o necesitas algún tipo de tratamiento para evitar una imaginación tan desbordante.

La explicación mejor que se puede dar cuando te preguntan sobre qué es el Rigging es sencilla. Nos dedicamos a poner hilos a los personajes como si estos fueran marionetas, para que se puedan mover. Construimos esqueletos digitales para introducirlo en los modelos, y nos encargamos que físicamente se deformen como se deforma un músculo o piel en la vida real. Como dice Nico Matji, productor de Tadeo Jones, cuando hace un tour a alguna visita, “Estos chicos son como traumatólogos”; la verdad que yo no lo definiría mejor.

A partir de aquí, cada uno que siga como pueda para adentrar lo mejor que sepa a su interlocutor en el mundo del Rigging. Dando clases o enseñando a mi propio equipo del departamento de Rig, o sin ir más lejos, yo mismo, te das cuenta que una vez que sales de terminar un máster de 3D, o enfrentarte ante un proyecto freelance, o un corto, o simplemente intentar hacer el Rig de un personaje, “sabes que sabes pero no sabes por dónde empezar o cómo utilizar tus conocimientos”. Por esto mismo me gustaría explicar un poco cómo funciona el campo de Rigging en una producción, cómo trabajar en equipo, tanto dentro como fuera del departamento.

Me gustaría aclarar que este artículo va enfocado a todo el mundo, pero especialmente a las personas que están metidos en el mundo de rig y no saben cómo organizarse o para aquellos que ya llevan tiempo y siempre cometen los mismos fallos y no saben por dónde pueden venir.

Pipeline y Organización de Rigging.

El Rigging es un campo en el cual no solo debemos saber de Rig, sino también de modelado, de animación, del propio software 3D, de script/programación… y aunque llegue a ser un poco cansino con el tema, todo esto no nos sirve de nada, sino somos metódicos y organizados.

A lo largo de una producción te das cuenta de la importancia de tener un pipeline bien montado y de no saltarse ningún paso, ya que en cuanto empieza a haber excepciones, empiezan a salir los errores. Esto no es solo aplicable al Rigging (que especialmente es importante) sino para cualquier campo de 3D, tanto artístico como técnico.

Pipeline General

1. Naming convention o Sistema de nomenclatura

Vamos a empezar hablando sobre un “Naming Convention” o sistema de nomenclatura. Ya sea en una producción, largometraje, cortometraje, freelance, trabajos personales… debemos de tener un sistema de nomenclatura.

Antes de nada me gustaría definir qué es o a qué llamamos asset, ya que voy a utilizar mucho este concepto; asset son los tipos de elementos con los que podemos trabajar en una escena y los clasificamos por categorías,personaje, props, sets… y aquí lo que queramos enredarnos.

Por ejemplo, tenemos una escena en la que tenemos 3 personajes, 2 coches, un escenario, y una pelota, definiéndolo por assets, tendríamos 3 asset de tipo personaje, 2 asset de tipo prop-vehículos, un 1 asset de tipo propmisceláneo y por último un asset de tipo set.

rig-ignacio-santallaVolviendo a la nomenclatura, vamos a entender cómo funciona mejor con un ejemplo:

Tenemos el modelado de un personaje, en este caso un “enano”, si cogemos la pieza de la camiseta la tenemos renombrada de la siguiente forma:
“c_dwarf_mesh_x_tshirt_x”
Si separamos el nombre completo del personaje por las barras bajas podemos ver que tenemos 6 partes:

  • 1ª parte: “c” – Indicamos con una c que el tipo de asset que tenemos en la escena es de tipo character, es decir, que es un personaje. Podríamos tener un prop “p”, un set “s”, un prop de tipo arma “prop” y “weapon” —-> “pw”, y así hasta donde lleguen nuestras necesidades.
  • 2ª parte: “dwarf” – El nombre que con el cuál hallamos definido a nuestro asset, en este caso es dwarf.
  • 3ª parte: “mesh” – El tipo de pieza, es decir, en un rig podemos tener pieza que son malla (“mesh”), tenemos huesos de rig (“rig”), o huesos de skin (“skin”), piezas de cloth (“cloth”)… en este caso es una pieza de “mesh”.
  • 4ª parte: “x” – Ahora mismo la llamamos “x”, pero esta parte la reservamos para indicar la situación de la pieza, “r” o “l”. Tenemos un hueso que se llama “c_dwarf_rig_r_arm_x”, con la “r” indico si es derecho o izquierdo (right o left) de forma rápida. En las piezas de mesh se suele poner “x” ya que no tienen un lado en concreto definido.
  • 5ª parte: “tshirt” – Aquí definimos el nombre de la pieza, es decir, camiseta, brazos, hueso, cabeza, etc.…en este caso “tshirt”
  • 6ª parte: “x” – Esta parte, es un apartado auxiliar, el cuál podremos utilizar por si queremos gestionar nuestro asset con algún tipo de herramienta (lo veremos más adelante). Imaginemos que tenemos nuestras piezas del rig, huesos, point, etc… y hay muchas piezas que van ocultas y congeladas, si nosotros le indicamos al final por ejemplo “f” (frozen) o “h” (hidden), podemos gestionar por script que lea el nombre de las piezas detectando que si en su última parte tiene una “f” que automáticamente la congele.

Sí, lo reconozco, renombrar los objetos puede llegar a ser aburrido, tedioso y somnoliento, pero más adelante lo agradeceremos y sabremos ubicar cada objeto de la escena, a donde pertenece, qué tipo de objeto es…

2. Sistemas de mallas por referencias

Una gran herramienta de trabajo a la hora de trabajar con mallas de personaje, prp, etc.… son los xRef (en el caso del 3D Max).

Nos permite tener en un archivo unas mallas por referencia, es decir, nosotros en nuestra escena tenemos una malla la cual no podemos manipular a nivel de vértices, pero opcionalmente sí podemos manipularla a nivel de controladores o texturas. Cualquier cambio que se efectúe en el archivo de origen automáticamente se propagará a nuestra escena final.

Ventajas:

La potencia de este sistema es tener referenciada la malla, y los materiales, pero no los controladores, permitiéndonos poder mover las piezas a donde queramos y hacer conexiones a nuestro antojo con sus controladores. También de esta forma, por ejemplo, el departamento de Rigging puede ir empezando a trabajar con un personaje o un prop, aunque la malla no esté totalmente terminada, ya que cuando esté finalizada solo tenemos que preocuparnos de actualizarnos la referencia o revisar si se han añadido piezas nuevas.

Y con las texturas igual, podemos trabajar con una malla que tenga un material gris, y cuando en modelado lo actualicen, nosotros solo tendríamos que revisar si están correctos esos cambios y activar las texturas en viewport.

rig-3d-studio-maxInconvenientes:

Los modificadores también se puede mantener por referencia, pero uno de los mayores inconvenientes a la hora de trabajar, es que si tenemos algún tipo de conexión ya sea de wireParameter, float expression, o script controller, la pierde.

Por eso es recomendable dejarlo mergeados y si es necesario actualizar algo a nivel de modificador traerse la pieza de nuevo o el modificador inclusive.

En las versiones 2011 y 2012 cuando cargamos un asset con texturas referenciadas es necesario activarlas a mano en viewport, lo cual sería muy fácil introducir una rutina de carga por código que hiciera esto automáticamente. (Esto ya funciona en la versión 2013).

rig-3d-studio-max

Tener las mallas referenciadas es un sistema muy ágil de trabajo pero también puede ser peligroso si no se tiene cierto control. Pongamos un ejemplo:

rig-3d-studio-max

Nos llega una malla de un personaje finalizada al departamento de Rig, nosotros la cargamos por referencia en nuestra escena y preparamos el personaje para animar. Digamos que tenemos una versión de malla 01, que es la que hemos cargado. Más adelante en animación cargan el personaje, también por referencia la malla, pero no un animador, sino 6, 10 o 15 animadores.

Hasta aquí bien, lo gracioso viene cuando se decide hacer algún tipo de cambio de malla, por ejemplo de topología, la numeración de vértices nos ha cambiado, con lo que quiere decir que el modificador skin de nuestro personaje ya no va a funcionar, ya que funciona en base a esto mismo. Todos estos cambios los hemos realizado en la misma versión 01.

Al día siguiente el animador llega todo motivado a su puesto para terminar el plano de su vida, el cuál cuando lo abre, no solo ve que no funciona el personaje, sino que parece que ha reventado algún tipo de sustancia química en toda la malla y aparece destrozado. No tenemos a un animador parado, tenemos a un departamento entero de quizás 15, 20 o 30 animadores.

rig-3d-studio-max

A donde quiero llegar con esto, es que no es solo importante saber trabajar con referencias, sino tener un sistema de control de versiones. Si hay cambios de topología a nivel de vértices, o proporciones, siempre va a ser necesario crear una versión nueva de archivo, con lo que evitamos que los cambios no se actualicen automáticamente hasta que esa nueva malla pasa por el departamento de Rigging, se revise y se crea una versión nueva de Rig. La cual se cargará en los planos de producción que sean totalmente necesario, pero ante todo, sin evitar tener que parar el trabajo del departamento de animación.

3. Sistema de rig de doble esqueleto, conexión y desconexión

A la hora de crear un Rig, normalmente, como se suele enseñar,  y la forma más rápida de aprender, es crear un esqueleto de Rig, el cual utilizaremos para pesarlo con la propia malla, me explico:

Tenemos un esqueleto con nuestro sistema de ik/fk, columna, piernas, etc… Y tenemos nuestros controles de animación para poder manejar esos huesos en ik, o directamente seleccionamos los huesos que podamos tener en fk y los animamos. Bien, pues todos estos huesos ya sean de fk/ik o auxiliares, los utilizamos para pesar el propio personaje, de tal forma que si en algún caso tenemos que manipular el esqueleto, el skin ya dependerá de cierta forma de estos huesos.

rig-3d-studio-max

Yo mismo para muchos trabajos de freelance, utilizo este sistema por rapidez y economía de trabajo, pero cuando te enfrentas a una producción, ya no solo para sistemas de esqueletos, sino a nivel más general, necesitas modular, intentar separar lo máximo posible. Me explico de nuevo.

rig-3d-studio-max

El esqueleto con el vamos a animar el personaje, ¿por qué no tener otro esqueleto que solo sirva para pesar la malla de este personaje? De esta forma lo que conseguimos es ganar rendimiento a la hora de animar, ya que nuestro esqueleto con el que animamos no tiene malla que deformar, pero sí tienen los volúmenes determinados de la malla que se va a deformar.

rig-3d-studio-max

Esto está muy bien para animar una cámara o shot de una secuencia, pero siempre al final vamos a necesitar ver cómo se deforma esta malla del personaje, para poder comprobar contactos de este con los objetos, para ver si una pose llega a ser muy extrema y para ver si simplemente el skin está funcionando correctamente.

Pues bien, ahora lo que nosotros necesitamos es conectar mediante constraint de posición y rotación todos los huesos de skin con los huesos de Rig, de esta forma tenemos un esqueleto de “skin”, que sigue perfectamente a nuestro esqueleto de “animación” (recordad, esqueleto de skin es aquel que solo sirve para pesar la malla, y el de animación o de rig, es el que realmente lleva todo el sistema ik/fk, shapes o controles de animación.

rig-3d-studio-max

Para poder gestionar este sistema ágilmente, nosotros por maxscript (en el caso de 3ds Max) podemos recorrer todas las piezas de Rig de nuestro personaje, y revisar si existe alguna pieza que se llame igual pero de skin, y automáticamente indicarlas que se conecten o se desconecten, añadiendo o quitando los constraints de posición o de rotación.

Esto me lleva al siguiente punto, un gestor de modos de visualización para poder indicar si queremos animar en modo que sólo se vean los volúmenes de la malla en los huesos de Rig, o queremos ver la malla final como se deforma.

4. Modos de visualización para gestionar el Rig y animar

En base a lo que hemos hablado anteriormente, nosotros mismos nos podemos montar un pequeño gestor de modos de visualización del Rig.

Pensemos que tenemos los huesos de Rig con nuestros volúmenes cortados de la malla. Este modo por ejemplo, vamos a llamarlo “Rig”, en el cual tenemos que tener en cuenta que los huesos de skin no tienen que estar conectados a los de Rig. Entonces lo que tenemos que hacer es revisar todos los huesos de skin y que no tengan ningún tipo de constraint para que la malla no se desplace con el Rig.

rig-3d-studio-max

Ahora bien, cuando queremos ver la malla deformándose nos vamos a crear otro modo de visualización, por ejemplo, “Rig + Skin”. En este modo lo que tendremos que hacer es revisar los huesos de skin, añadirles un constraint de rotación y posición, (no siempre nos hará falta tener que añadir las dos transformaciones, posición y rotación, ya que hay piezas que solo se van a rotar) y buscar su coincidencia en el esqueleto de Rig y añadirlo como target. De esta forma automáticamente vamos a tener conectados los dos esqueletos y vamos a ver la deformación de la malla.

Lo único que nos quedaría es activar la opción de los huesos de Rig en modo box, para que podamos tener control sobre los huesos a la vez que podemos ver la malla. Y lo mismo a la inversa, cuando lo pongamos en modo Rig, tendremos que desactivar la opción de los huesos en modo box para poder ver los volúmenes de la malla.

rig-3d-studio-max

Todo esto se hace mucho más ágil trabajando con un naming convention o sistema de nomenclatura, ya que cuando tengamos que ir revisando las piezas podemos filtrar los nombres de las piezas por partes y revisando esta parte en concreto.

rig-3d-studio-max

A partir de aquí también podemos indicarle al modo de visualización correspondiente si tiene que ocultar las piezas de malla, congelar piezas, etc.… ya según las necesidades que tengamos o el tiempo libre que tengamos para complicarnos la vida, pero siempre de forma organizada y metódica.
(Imágenes procedentes del corto “La bruxa”)

Ignacio Santalla Martín
Character Setup & Rigging Supervisor en Lightbox Entertainment
 
* Otros artículos que te pueden interesar:

  • Sinópticos corporales en Autodesk Maya – Artículo de César Sáez – LEER
  • Diferencias entre Rigging para Cine o Videojuegos – Artículo de Carlos Bolaños – LEER
  • Shapes faciales, nuevas técnicas – Conferencia Iker de los Mozos – LEER

 

* Formación relacionada:

 

 

 

 

2 comentarios en “Ya sé Rigging ¿y ahora qué? – ExpertZone de Ignacio Santalla”

  1. Muchas gracias Juan Carlos, para nosotros es un placer y palabras como las tuyas nos animan a seguir trabajando! Saludos :)

  2. Juan Carlos DP dice:

    Que buen articulo, yo apenas estoy iniciando en todo esto esté complejo mundo del 3D y por ahora trato de familiarizarme con algunos términos, no la tenia muy clara con el RIGGING pero ya después de esto todo es diferente, muchas gracias.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *