Servicio Técnico Portátil

Usar matemáticas como pincel para crear animaciones 3D en Pixar: así funciona la generación procedural

Puede que «generación procedural» nos suene extraño y no seamos capaces de relacionarlo con su definición, pero no es tan extraño como puede parecer. De hecho se usa en Pixar y en la industria de la animación 3D desde los años 80.

La generación procedural es una técnica basada en fórmulas matemáticas que crea algoritmos recursivos, es decir, la creación automática de nuevos elementos. Esto da pie al lanzamiento de juegos con mapas infinitos como pasa con Minecraft, No Man’s Sky, Nowhere, Spore, Binding of Isaac, Dead Cells o Proteus entre varios más gracias a que la generación procedural. 

Un recurso muy utilizado en videojuegos y funciona de forma automática. Por ejemplo, si queremos crear un campo de trigo, se genera de forma automática cada planta y su movimiento natural y orgánico. De esta manera se dota de realismo al mapa sin hacer una merma en rendimiento debido a la gran cantidad de proceso gráfico que ello conllevaría si no se hiciera uso de estas técnicas.


Nosotros hemos hablado con Íñigo Quilez, Film Tech Artist y uno de los impulsores de la generación procedural y el lenguaje shading. Íñigo Quilez ha trabajado como Film Tech Artist en Pixar durante varios años y nos ha contado cómo se crean animaciones 3D con esta técnica.

Cuando él trabajó en Pixar desarrolló nuevos algoritmos y técnicas para la creación de escenas como el bosque escocés de la película Brave.

Tal y como nos comenta, fue la única forma de generar tanto detalle en los árboles de la citada película y el esfuerzo dio sus frutos. La misma técnica se repitió en otro corto llamado Lava y en la película The Good Dinosaur, más conocida como El viaje de Arlo.


Al salir de Pixar continuó el desarrollo de la técnica y ahora sube ejemplos a su canal de YouTube. Su vídeo con más visitas es «Painting a Selfie Girl, with Maths» y que os mostramos a continuación. En este vídeo explica paso a paso cómo se crea cada parte de la animación y muestra en el lateral derecho las fórmulas usadas en cada momento y explica con voz en off el por qué de cada una de ellas. De hecho, este tipo de generación procedural se aplicaba exclusivamente a las animaciones de figuras 3D, sin embargo, él ha depurado la técnica hasta para poder partir desde cero, creando la propia figura.


Queda claro que las matemáticas son algo más que esa asignatura aburrida que empezábamos a ver en el colegio y es que esconden un lado divertido y dinámico con el que se puede llegar a jugar y crear universos enteros.

Íñigo Quilez nos dice que prueba cada fórmula hasta conseguir el nivel de detalle exacto que busca para esa escena. Un trabajo de muchas horas que luego vemos resumido en unos pocos minutos o al que incluso no damos importancia si no somos conscientes de lo que hay detrás.

Creación 3D con matemáticas

Íñigo Quilez

Todo surge desde una malla tridimensional y unos polígonos regulares que van tomando forma con cada nuevo algoritmo. Lo más importante, en palabras de Quilez, es cuadrar bien el Sign Distance Fuction de la esfera inicial. SDF son sus siglas y en español: Función de Distancia de Signo. Este parámetro devuelve la distancia desde cualquier punto de la esfera, así se consigue un resultado más acorde con la realidad.

Cualquiera puede hacerlo, sí, pero requiere de práctica y también de conocimientos informáticos, técnicos y matemáticos.

La técnica que Íñigo Quilez lleva hasta el extremo usando matemáticas también sirve en videojuegos, cine, cortos de animación, programación, arte, fotografía y hasta música entre otros.

Una técnica que precisa de mucha exactitud, de muchas pruebas y mucha práctica. Con ella consigue generar digitalmente figuras desde fórmulas matemáticas en lugar de contar con un diseñador 3D que crea la figura con un lápiz digital.

Cada fórmula es una pincelada sobre un lienzo en blanco y esto es gracias al lenguaje shading y a la técnica generación procedural que convierte esas órdenes matemáticas y algoritmos en colores y formas.

Así es como se consigue que el agua parezca de verdad, que el árbol sea real y demuestre su textura, así como el pelo de los protagonistas, la ropa, los copos de nieve, la comida, los relámpagos, las plantas, las cataratas, las montañas, etc.


Con la película de Brave, el equipo de rodaje y producción viajó hasta Escocia para plasmar la belleza natural del entorno en la película de animación. Hicieron fotos de los elementos naturales que luego se tradujeron en fórmulas matemáticas.

Gracias al uso de las matemáticas consiguieron darle ese aspecto realista a la película de Brave. Una película de animación que recorre parajes naturales donde sus colores, la velocidad de los movimientos, la longitud, el grosor y los escenarios están bien conseguidos.

Fórmulas usadas en la película Brave

Pixar

En esta técnica es muy importante el color, y tal y como se explica en el vídeo, se trata de muchos fotogramas unos detrás y otros, y a su vez, están compuestos por píxeles. Cada píxel lleva su organización de colores primarios, es decir, rojo, verde y azul. En base a esto se crean todos los demás colores.

Cada fotograma de la película de Brave tiene hasta 2 millones de píxeles y cada uno de ellos está formado por una numeración que corresponde a cada color. La numeración varía según la tonalidad que se busca de un color concreto. Eso supuso muchas horas de trabajo y muchas matemáticas.

Numeración de cada píxel en la película Brave

Pixar

Aún queda mucho por descubrir y mejorar, pero es interesante saber que ahora con matemáticas se pueden crear películas, videojuegos, obras de arte, fotografías, y mucho más, cuando siempre ha sido la asignatura más odiada de nuestra etapa escolar.

Y queda claro que la generación procedural facilita la vida de los creadores de contenidos que se pasarían horas animando figuras de manera realista y, además, está dando sus primeros pasos en lo que a creación de personajes 3D se refiere.