Rig para cine

Diferencias entre Rig para Cine o Videojuegos

- 22 diciembre 2019 -

Artículo de Arte Digital por Carlos Bolaños, Lead Gameplay Animator en Ubisoft

Hola a todos, me llamo Carlos Bolaños y soy animador y rigger. En el siguiente artículo os voy a explicar varias de las diferencias que existen entre Rig para Cine o para Videojuegos cuando creamos el rig/skin de un personaje y sus respectivas animaciones.

CARLOS BOLAÑO

Lead Gameplay Animator en Ubisoft
Lead Animator en Mercury Steam

  • Character Animation
  • Technical Animation
  • Rigging

También tocaremos temas como la exportación al motor, tanto del modelo con su rig como de sus animaciones, scripting y varios trucos para ahorrar en rendimiento.

Lo mencionado en este artículo es la metodología de trabajo utilizada en el desarrollo del Castlevania Lords of Shadow: Mirror of Fate de Nintendo 3DS, ya que cada estudio tendrá la suya propia, aunque en su mayoría suele ser muy parecida.

1. POR QUÉ HAY DIFERENCIAS ENTRE RIG PARA CINE Y PARA VIDEOJUEGOS

Existen diferencias ya que en el proceso de creación de un personaje, el rig para cine y el skin no tienen ninguna limitación. Podemos crear ese rig con un número ilimitado de huesos, controladores, constraints, etc; al no ser render en tiempo real, no nos impondrá limitaciones en ese aspecto.

Pero en videojuegos sí tenemos render en tiempo real, es decir, que el motor de juego (game engine) crea esas imágenes en tiempo real, unas 30 – 60 veces por segundo. Esto es necesario para crear en el usuario la ilusión de que el personaje reacciona inmediatamente a sus mandos, permitiéndole interactuar en el entorno de juego que le rodea de forma realista.

A mayor complejidad de los elementos del juego (numero de polígonos y tamaño de texturas de personajes y escenarios) obtendremos mayor realismo y mejor experiencia de juego, pero exigirá que la consola sobre la que se ejecute el juego deba ser de gran potencia. Cuanto menor sea la potencia de la consola destino, más deberemos reducir la complejidad de los elementos del juego, a con el fin que la frecuencia de render en tiempo real nunca llegue a bajar de las mencionadas 30 imágenes por segundo.

Es muy importante para un rigger entender la naturaleza del render en tiempo real, y así innovar con nuevas soluciones para los problemas ya existentes en este mundo tan limitado. De modo que, para cada nuevo proyecto, será necesario conocer de primera hora para qué consola se va a desarrollar, y tener bien definidas sus limitaciones de rendimiento.

Rig para cine

2. CREANDO UN RIG

Lo primero que debemos saber cuando empezamos una producción de un videojuego, es hasta dónde podemos llegar en complejidad con nuestro rig, y el número de huesos permitido. Esto dependerá de la consola final para la que estemos desarrollando, del motor de render, y claro está del personaje a riggear (no es lo mismo hacer un rig para un personaje principal que para un secundario).

2.1 Nomenclatura

En trabajos tan complejos como el de un rigger, en el que se manejan multitud de elementos dentro de una misma escena, es fundamental nombrar correctamente los objetos siguiendo una lógica prestablecida (la nomenclatura). Una buena nomenclatura nos hará el día a día más fácil, porque todos los elementos podrán ser fácilmente identificados, y en entornos colaborativos, permitirá que otros compañeros (p.e. un animador) participen en el proyecto sin que se tengan que volver locos intentando entender qué tienen por delante. Cada hueso, controlador y ayudante del rig, se nombraran como marque el proyecto, debido a lo siguiente:

Todo lo que creemos en nuestro software 3D de trabajo debe ser exportado al motor del juego. En videojuegos se utilizan herramientas de exportación que crean archivos xml con los datos del trabajo realizado, y que una vez importados en el motor del juego, éste pueda procesarlos y representarlos. Y es aquí donde entra la importancia de la nomenclatura, ya que ese archivo xml creado por nuestro exportador tiene la información de cada nodo de nuestro personaje, de nuestro rig. Contiene toda la información de la jerarquía creada y de los pesos de la malla al rig.

Así cuando el animador cree/exporte su clip de animación, el cual contiene información de transformación en el tiempo de cada hueso animado, y el motor del juego unirá esos dos archivos. La correcta nomenclatura permite al motor aplicar adecuadamente (mapear) la información del nodo de animación sobre el nodo del rig.

En resumen, si los nodos utilizados por el animador no coinciden con los nodos creados por el rigger, el motor no encontrará la información a mapear y nuestro personaje seguirá en su pose de T….eternamente ;)

2.2 Número de huesos

Bueno, aquí empieza nuestra dura negociación con los programadores sobre el número de huesos que pondremos en cada personaje.

Para los programadores siempre será el mismo, el mínimo posible, y para ti, lógicamente, miles y miles. Hay que asumir una realidad, el programador será quien tiene la responsabilidad de que el resultado final del juego sea fluido, y él marcará el límite (normalmente un número mucho más bajo del que un rigger desearía).

El número de huesos viene supeditado por la plataforma en la cual se está desarrollando. Aquí os voy a exponer una imagen del rig de un personaje del videojuego Castlevania Lords of Shadow: Mirror of Fate de Nintendo 3DS.

Como podéis ver, la cantidad de huesos comparado a un personaje para cine es minúscula, para esta producción de Nintendo 3DS estamos hablando de un total de 20-30 huesos para personaje secundario, y de 30-45 para principales.

2.3 Controladores

Si vamos a crear controladores en nuestro rig, debemos cerciorarnos de que están debidamente configurados: una vez creados estos controladores, hay que asegurarse de que están al final de una cadena de huesos (y no en medio), y de que su nomenclatura es la correcta. Con estos dos pasos bien hechos, nuestros controladores estarán listos para usarse.

Los controladores, a poder ser, no deben pertenecer a la jerarquía. Para ello lo mejor es siempre utilizar constraints. En caso de fuerza mayor y tener que meterlos dentro de nuestra de jerarquía, tendremos que nombrarlo de forma especial, añadiendo al principio o al final del nombre con unas siglas especiales que el motor identificará y descartará del personaje, ya que lo único a tener en cuenta por el motor es la información del hueso que el controlador tenía asignado.

2.4 Jerarquía

La jerarquía es el punto más importante en nuestro rig, será la que nos marque un antes y un después de nuestro trabajo.

Todo nodo utilizado en nuestro rig deberá estar correctamente jerarquizado, factor a tener en cuenta será que todo nodo en medio de una jerarquía no podrá tener ninguna sigla de descarte, ya que el motor la detectará y cortará por ese punto la jerarquía, quedándose fuera los huesos por debajo de ese nodo descartado. Los nodos marcados en amarillo son la malla del modelo y los marcados en rojo son los huesos descartados por nomenclatura a la hora de exportar.

2.5 LOD (Niveles de detalle)

Los LOD (level of detail) son versiones simplificadas de nuestros personajes: con menos polígonos, huesos y calidad de texturas que los utilizados en la versión de alta (la inicial que hemos creado). Por cada personaje podemos tener una versión alta, una reducida, y otra superreducida. Estas versiones simplificadas son usadas por el motor del juego cuando nuestros personajes son vistos a mucha distancia, por lo que no se van a apreciar detalles innecesarios y obtener así mejor rendimiento.

La jerarquía de las versiones simplificadas tienen que ser prácticamente idéntica a la versión normal, para poder aplicar a estos rigs el mismo clip de animación que usamos para la versión normal (los cilps de animación son únicos, no se exportan por duplicado). Por eso a la hora de crear rigs de menor LOD, tan solo descartaremos huesos que estén al final de las cadenas, por ejemplo, los dedos de una mano.

Los huesos que no son menos apreciables desde lejos, y que se suelen eliminar son los dedos, pelo y las faciales.

diferencias-entre-rig-para-cine-o-videojuegos

3. DIFERENCIAS UTILIZANDO SKIN

Trabajando con el skin existe solo una diferencia respecto al cine: cada vértice solo puede tener influencia de 3 huesos.

3.1 Influencia de huesos a un vértice

A la izquierda tenéis un screenshot del parámetro que nos permite configurar este límite.

Hay que tener en cuenta que si se nos ha olvidado tener en cuenta este límite al crear tu skin, al importar el rig el motor del juego hará caso omiso a partir de la información del cuarto peso que tenga un vértice.

4. PROCESO DE EXPORTACIÓN

Bueno aquí viene la parte que ha todo artista se le hace cuesta arriba, entender y saber exportar tu trabajo.

El proceso de exportación se realiza mediante utilidades creadas por el TD o el programador de tools, las cuales engloban parámetros a tener en cuenta por el motor. Estas utilidades recogen información del trabajo realizado por el artista y lo plasman en un archivo, el cual pasa a programación para introducirlo en el motor.

El rigger exporta su trabajo (que contiene la malla del personaje) en un archivo, cuya extensión es un código identificativo. El animador exporta su clip de animación en otro archivo, usando como extensión el mísmo código identificativo. Así al introducirlos al motor, este enlazará cada archivo y crea nuestro personaje con su animación.

diferencias-entre-rig-para-cine-o-videojuegos
*Todas las imágenes están cedidas por Mercury Steam

5. EL RETO DE TENER LIMITACIONES

Para terminar, me gustaría contaros cómo convivo como rigger con las limitaciones propias de una producción para realtime.

Es cierto que limitan nuestro trabajo, y las prestaciones que puede tener un personaje. Pero también hacen posible que juegos impresionantes se puedan ejecutar en máquinas con hardware muy limitado, y eso es un auténtico reto del que sentirse orgulloso. Ten en cuenta que en esta industria se valora muy positivamente qué eres capaz de hacer pese a las limitaciones, así que tu creatividad y tu aportación de valor serán ingredientes básicos para avanzar en tu carrera profesional.

No olvides ponerte las pilas con el script. Es una programación a nivel básico, que hará que tus rigs sean mucho más precisos y fáciles de usar. El scripting en videojuegos no solo se usa para crear  rigs, sino para generar herramientas que sean compatibles con tus trabajos diarios, tales como la exportación, creación de «bakes» automáticos, etc.

Espero que os haya servido de ayuda ;)

Carlos Bolaños
Lead Gameplay Animator en Ubisoft

———————-

Curso Online Avanzado de Rigging Personajes 3D con Maya
Duración: 6 meses online
Software utilizado: Autodesk Maya
Matrícula abierta, plazas limitadas.

Coméntanos qué te ha parecido este artículo ;)

Tu dirección de correo electrónico no será publicada.