El Rigging 3D es un campo que resulta difícil de explicar a los demás, incluso a familiares y amigos. En este artículo, el Character TD y co-fundandor de Huhaa Studios, Ignacio Santalla Martín, nos acerca a este fascinante mundo compartiendo su propia experiencia.
Santalla, que lleva en la industria 3D más de 10 años y ha trabajado para proyectos como Las Aventuras de Tadeo Jones 1 & 2 y Atrapa la bandera, profundiza en cómo el Rigging 3D hace posible la animación de personajes y explora la importancia de tener un enfoque metódico y organizado para trabajar.
Cómo el Rigging 3D hace posible la animación de personajes, por Nacho Santalla:
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. ¡Comenzamos!
Desde pequeño siempre me atrajo la idea de cómo funcionaban las cosas. Eso implica 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 la producción 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 sobre todo a 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 3D, 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. Esto es porque nunca se va a ver físicamente como un modelado, iluminación, animación… 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 😉
Fundamentos del Rigging 3D: Lo que todo artista 3D debería saber
La explicación mejor que se puede dar cuando te preguntan sobre qué es el Rigging 3D 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. Además, nos encargamos de que físicamente se deformen como se deforma un músculo o piel en la vida real. 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, te das cuenta que una vez que sales de terminar un máster de 3D, o al enfrentarte ante un proyecto, “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.
Este artículo está enfocado especialmente a las personas que están inmersos en el mundo de rig y no saben cómo organizarse. Pero también para aquellos que ya llevan tiempo y siempre cometen fallos que no saben por dónde pueden venir.
Optimizando el proceso de animación: 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… Pero todo esto no nos sirve de nada, si no 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. ¿Por qué? Básicamente porque es sabido que en cuanto empieza a haber excepciones, empiezan a salir los errores. Esto no es solo aplicable al Rigging 3D (que especialmente es importante) sino para cualquier campo de 3D, tanto artístico como técnico.
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… siempre 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. Assets son los tipos de elementos con los que podemos trabajar en una escena y los clasificamos por categorías; personaje, props, sets…
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 assets de tipo prop-vehículos, un 1 asset de tipo propmisceláneo y por último un sasset de tipo set.
¿Cómo funciona una nomenclatura?
Vamos a entender cómo funciona mejor con un ejemplo (imágenes procedentes del corto “La bruxa”). 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. Por ejemplo, si nosotros le indicamos al final “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. La tarea de renombrar los objetos puede llegar a ser aburrido, tedioso y somnoliento, pero más adelante lo agradeceremos. Además, sabremos ubicar cada objeto de la escena, a donde pertenece, o qué tipo de objeto.
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. No obstante, 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 del proceso
La potencia de este sistema es tener referenciada la malla y los materiales, pero no los controladores. Esto nos permite poder mover las piezas donde queramos y hacer conexiones a nuestro antojo con sus controladores.
También de esta forma, por ejemplo, el departamento de Rigging 3D 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.
Inconvenientes del proceso
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.
Tener las mallas referenciadas es un sistema muy ágil de trabajo pero también puede ser peligroso si no se tiene cierto control.
Referencia a modo de ejemplo
Nos llega una malla de un personaje finalizada al departamento de Rigging 3D, 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. Sin embargo, 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.
A dónde 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 3D, 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.
Mayor control y realismo en tus personajes con un sistema de rig de doble esqueleto
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.
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.
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. Sin embargo, sí tienen los volúmenes determinados de la malla que se va a deformar.
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.
Para poder gestionar este sistema ágilmente, nosotros por maxscript (en el caso de 3ds Max) podemos recorrer todas las piezas del 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.
Optimiza tu flujo de trabajo con los modos de visualización adecuados en el rigging 3D
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.
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 derig 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.
Todo esto se hace mucho más ágil trabajando con un naming convention o sistema de nomenclatura. Esto se da porque cuando tengamos que ir revisando las piezas podemos filtrar los nombres de las piezas por partes y revisando esta parte en concreto.
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”)
¡Gracias por tus sabios consejos Nacho!
Conviértete en un experto en Rigging 3D
Ya sabes, si te interesa el Rigging de personajes 3D, en Animum tienes distintas opciones para formarte según tu perfil. Tanto si quieres aumentar tus oportunidades en la industria convirtiéndote en un experto en rigging y animación de personajes 3D, como ser un profesional más competitivo completando tu perfil como modelador, o si lo tienes claro y necesitas conocimientos y habilidades propias del rigging de personajes, este es tu sitio. Echa un vistazo a nuestras opciones y ¡escríbenos si tienes dudas!
Mucho ánimo riggers! 😉
2 respuestas
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.
Muchas gracias Juan Carlos, para nosotros es un placer y palabras como las tuyas nos animan a seguir trabajando! Saludos 🙂