etereaetereaaboutnewsworkstrainingsuccesseterealinksmoreetereashop
Home > Training > Introducción a la Animación 3D
ENGLISH  /  ESPAÑOL
Etérea Workshops Banner
Por favor: no hagas un copiar-pegar de este material en tu página, weblog o foro sin mi permiso. En su lugar puedes incluir un link a esta página.
 
Introducción a la Animación 3D   © Cristóbal Vila. Noviembre 2000
Introduction to 3D Animation   1. Introducción
2. Modelado
3. Características superficiales
4. Texturizado
5. Iluminación
6. Animación
7. Renderizado
8. Postproducción
9. Volcado
 

NOTA IMPORTANTE : estos textos datan del año 2000, una eternidad en el campo de los ordenadores, programas y cuestiones técnicas… Alguno de los contenidos puede estar obsoleto, pero creo que el núcleo del documento todavía es interesante y educativo para algunas personas, especialmente si consideramos que se trata de una primera y muy básica aproximación al 3D.

Cristóbal Vila, junio 2006


Go to english translation by Rita Granda from Toronto [ Thanks Rita ]


1. INTRODUCCIÓN. DIFERENCIAS CON LOS DIBUJOS ANIMADOS

Una de las primeras cosas que habría que aclarar es la diferencia entre una animación 3D y una animación tradicional (como una clásica película de dibujos animados de la Disney):

  • En los DIBUJOS ANIMADOS tenemos precisamente eso: dibujos que pasan por delante de nuestros ojos a gran velocidad, concretamente a razón de 24 imágenes cada segundo (24 fps / fotogramas por segundo). En realidad cualquier película de cine es exactamente lo mismo, sólo que en ese caso serían 24 fotografías tomadas de la realidad. Simplificando el proceso: un animador tradicional tiene que DIBUJAR cada fotograma uno por uno. Dibujar, pasar a tinta y aplicar los colores… Normalmente se trabaja sobre un material transparente y así, por debajo, pueden verse pasar los fondos estáticos más elaborados.

  • En una ANIMACIÓN 3D por ordenador, en cambio, no estamos dibujando. Lo que hacemos es construir, modelar en 3 dimensiones cada uno de los elementos, actores o escenarios que aparecen en todas las escenas. El ordenador y las diferentes herramientas (software) que utilizamos nos permiten generar esas formas, aplicarles todo tipo de características superficiales, iluminar la escena y mover cualquier cosa, ya sea un actor, una luz o una cámara.

La gran diferencia es que aquí no hay que crear una versión diferente de cada objeto para cada fotograma, sino que una vez creado podemos verlo desde cualquier punto de vista. Aunque estemos hablando de escenarios y actores virtuales tienen una naturaleza tridimensional.

Hemos explicado superficialmente un proceso que realmente tiene bastante complejidad. Vamos a verlo con un poco más de detalle.



2. MODELADO

Una vez decidido el guión de la historia, después de planificar cada escena y realizar multitud de bocetos y otras pruebas previas se comienza con el proceso del modelado: la creación de la estructura tridimensional de cada elemento.

Si miramos a nuestro alrededor y analizamos la forma de los objetos veremos que existe una enorme variedad. La labor de un modelador comienza por analizar cada una de las formas básicas que define un objeto. Un balón de fútbol es una esfera, una lata de comida puede ser un cilindro y un dado un cubo. Estos son objetos simples basados en formas básicas (llamadas muchas veces “primitivas”).

Pero una gran parte de los objetos se componen de varias formas básicas. Podemos ver un embudo como la intersección entre un cono y un cilindro estrecho; una librería o un edificio se componen de muchos paralelepípedos (bloques) de diferentes grosores, anchuras y alturas.

Y finalmente existen formas mucho más difíles de modelar, desde los objetos con multitud de curvas —como un coche deportivo o el famoso Gugenheim de Bilbao— hasta las formas orgánicas de casi todos los seres vivos —un árbol, una rosa, un gato o una persona— y en general de la naturaleza que nos rodea —montañas y formaciones geológicas, el agua en movimiento, las nubes—. Para todas estas situaciones los desarrolladores de software han tenido que crear sistemas de modelado generalmente bastante complejos (curvas nurbs y mallas de control, sistemas de partículas, simulaciones dinámicas, etc.)

Inicialmente (y todavía hoy en muchos programas de modelado) el sistema utlizado por el ordenador para representar cualquier estructura son los polígonos. Un cubo tiene 6 caras, cada una de ellas es un polígono —un cuadrado—; una pirámide como las que encontramos en Egipto se compone de 4 triángulos y una base cuadrada. Pero incluso una forma redondeada tambien se representa mediante polígonos; el ejemplo más claro de la vida real lo podemos ver en un balón de fútbol, que se compone de 12 pentágonos y 20 hexágonos.

Normalmente las superficies curvas son tratadas mediante triángulos. Algunos programas pueden trabajar con polígonos de cualquier número de lados pero otros no. La gran “ventaja“ de un triángulo es que sus 3 vértices siempre están en el mismo plano (esa es la razón por la que una silla de 3 patas nunca puede cojear) y en cambió en un polígono cuadrado o de nivel superior los vertices pueden desplazarse accidentalmente dando lugar a una forma no planar, lo cual puede causar conflictos internos que afecten a la buena visualización de la superficie.

Hoy en día existen otros sistemas de modelado en donde el usuario no trabaja con polígonos, sino con superficies curvas definidas matemáticamente. Imaginemos una circunferencia: podría representarse como un polígono de muchos lados pero también podría representarse como una función matemática entre dos variables X e Y (el conjunto de los puntos de un plano que equidistan de otro) . Evidentemente el usuario no tiene que vérselas con engorrosas fórmulas, sino que de la misma forma que en un programa vectorial como Illustrator o Freehand resulta sencillo trazar curvas perfectas (no sólo círculos o elipses) en un modelador no poligonal se disponen de diferentes tipos de herramientas (splines, NURBS, patches bezier, etc) para crear superficies curvas complejas.

Cuando trabajamos con polígonos es necesario economizar, no merece la pena utilizar muchos polígonos para definir una superficie curva (una simple esfera) si se va a observar desde muy lejos. Los creadores de juegos optimizan mucho el número de polígonos de sus objetos para poder mover esa información en tiempo real (no hay que perder de vista que el ordenador debe llevar un control absoluto de dónde se encuentra cada vértice de un polígono en cada momento, y el número de puntos en el espacio puede irse con relativa facilidad a varios millones).

La ventaja de los splines (curvas matemáticas) es que siempre definen la superficie perfectamente por mucho que nos acerquemos. Sin embargo resultan bastante más dificiles de manejar y en ciertas situaciones puede resultar muy engorroso resolver algunos problemas con ellas.



3. CARACTERÍSTICAS SUPERFICIALES

Si volvemos a mirar a nuestro alrededor comprobaremos que a parte de la estructura de las cosas tenemos una gran variedad de acabados superficiales. Todo esto debemos imitarlo en el ordenador.

Una vez resuelto el modelo debemos ir a cada una de sus partes o piezas y asignarles diferentes propiedades:

  • Color: es quizá lo que más claramente percibimos las personas. Y sin embargo no siempre es algo tan sencillo: ¿de qué color es un espejo? ¿y un vaso? ¿y nuestra piel? Normalmente se maneja más de una variable para definir el color, como la difusión, que controla la cantidad y el color de la luz dispersada por el objeto, o el color ambiente que controla la sensibilidad del material a la luz ambiente (básicamente controlamos la cantidad de luz que hay presente en las sombras de un objeto, ya que casi nunca aparecen negras).

  • Especularidad: controla los brillos o destellos que produce la luz en un objeto. Un objeto es muy brillante si tiene una alta especularidad y mate si la tiene baja.

  • Reflectividad: controla los reflejos del entorno en la superficie del objeto. Muchas veces cuando miramos un objeto no estamos viendo el color de ese material, sino lo que refleja (el caso más estremo sería un espejo). La superficie de un coche nuevo es reflectante, la de una tela vaquera no. Normalmente un objeto muy reflectante también es muy brillante (especular).

  • Transparencia: un vidrio de nuestra ventana dejará ver lo que hay al otro lado —si está limpio—. Si no intervinieran otros factores no tendríamos por qué ver el cristal, lo que ocurre es que a veces está teñido y casi siempre distinguimos el propio cristal por los reflejos que emite, los destellos de luz o las deformaciones que se producen al mirar a su través.

  • Refracción: esas deformaciones son el resultado de un proceso de refracción. El cristal de una lupa deforma lo que hay debajo —aumentándolo— por un proceso de refracción. Un palo metido en el agua parece doblarse, por el mismo motivo.

Existen otras propiedades (luminancia, causticidad, características anisotrópicas, etc.) pero las anteriores son las más importantes. Las diferentes aplicaciones 3D nos permiten controlar estos parámentros y de su buen ajuste depende el realismo de un material. Por muy bien modelado que esté un objeto, éste puede perder toda su credibilidad si el color está muy saturado o si todas las superficies son demasiado brillantes y reflectantes (defectos muy comunes en los trabajos de muchos que empiezan).



4. TEXTURIZADO

Este debería ser un subapartado del anterior punto, pero por su importancia lo estudiamos aparte.

Muchos objetos no pueden definirse con un único color superficial. El terrazo del suelo, la madera de los muebles o el estampado de una camisa, se componen de diferentes colores con una distribución a veces geométrica y otras completamente azarosa. Por eso recurrimos a las texturas.

Si escaneamos un trozo de mármol y guardamos la imagen con un determinado formato, después podemos aplicar ese acabado superficial a cualquier objeto. Y no tiene por qué ser algo plano: podemos aplicarlo a un cilindro, a una esfera o a lo que queramos, haciendo que la imagen cubra por completo toda la superficie o bien de manera que se vaya repitiendo progresivamente.

Este tipo de textura (generalmente una imagen real o creada por nosotros en un programa de imagen, como Photoshop) se conoce como textura bitmap —o mapa de bits—. Como en cualquier otra imagen bitmap (como una foto) es muy importante controlar la resolución, adaptándola a nuestras necesidades; si no lo hacemos podría ocurrir que al acercarnos mucho al objeto aparecieran los pixels de la imagen.

Para evitar este problema (pues a veces sería necesario crear texturas gigantescas) se han desarrollado otros sistemas de texturizado, llamados procedurales o shaders. Se trata de unos algoritmos internos que el mismo programa 3D realiza, normalmente partiendo de estructuras fractales, que aportan diferentes beneficios:

— La resolución siempre es óptima (nunca llegamos a ver pixels).

— Por su naturaleza fractal normalmente imitan muy bien los acabados caóticos de la naturaleza (como la corteza de un árbol, las vetas de un mármol o las llamas del fuego).

— En ningún momento percibimos fenómenos de repetición (algo muy desagradable pero lamentablemente muy utilizado, haciendo que una pequeña textura bitmap se repita en todas direcciones y evidenciando la artificiosidad de la imagen).

— Normalmente los cálculos que el ordenador tiene que realizar son más rápidos que cuando se aplica un mapa de bits muy grande (de todos modos algunos shaders pueden llegar a ser muy complejos y, por tanto, no tan rápidos).

Existen 4 procedimientos básicos para aplicar una textura:

  • Planar: para aplicar una textura de mármol en un suelo, p.ej. Si aplicamos este sistema en un objeto veremos que en la cara donde intervenimos aparece la textura perfectamente definida, pero en las adyacentes aparece proyectada longitudinalmente.

  • Cúbico: para evitar el anterior problema podemos utilizar este sistema. Si tenemos que texturizar un armario lo haríamos mediante una aplicación cúbica, proyectándose la textura en las 6 direcciones de las caras de un cubo.

  • Cilíndrico: si queremos ponerle la etiqueta a una botella de vino usaremos una proyección cilíndrica.

  • Esférico: para aplicar la textura de los mares y continentes a la bola terrestre, éste sería el procedimiento idóneo.

Evidentemente hay muchos objetos que se salen de estas formas, y en donde no vemos tan claro ninguno de estos sistemas de texturizado (¿una jirafa?). Y ahí es donde interviene el ingenio: a veces podemos descomponer un objeto en diferentes zonas más básicas, otras podemos texturizar una pieza antes de serle aplicada una deformación… Cuando utilizamos shaders, muchos de ellos se aplican en todas las direcciones, cubriendo perfectamente toda la superficie (otra gran ventaja de este tipo de texturas).

En cualquier caso existen otros sistemas más complejos de texturizado, como el UV, que tiene en cuenta cómo ha sido generado el objeto en la fase de modelado (siguiendo las coordenadas de generación) para aplicar la textura adaptándose a la forma como un guante.

Todos los aspectos de una infografía influyen en la calidad de la misma, pero quizá sea el texturizado lo que más importancia tenga. Una buena textura puede salvar un modelado mediocre (de hecho los videojuegos basan su calidad más en el texturizado que en el modelado).



5. ILUMINACIÓN

Esta es una de las disciplinas más difíciles de la infografía, pues en el mundo real la luz tiene un comportamiento complejo que no resulta fácil imitar en nuestro ordenador. La principal dificultad deriva del hecho de que la luz es emitida desde un determinado punto (el Sol, una bombilla, la llama de una vela…) y al chocar con los cuerpos los ilumina, pero también se refleja en ellos, iluminando otros puntos que, en principio, parecería que no deberían verse afectados por ella.

En cualquier programa 3D disponemos de diferentes tipos de luces para iluminar una escena. Por lo general siempre se habla de 4 clases de luces (existen otras, pero ástas son las más importantes):

  • Radial: una luz que procede de un punto concreto —que nosotros situamos en la escena— y emite sus rayos en todas las direcciones. Sería la lúz idónea para una bombilla que cuelga de la pared, o una llama…

  • Spot o foco: las típicas luces de los teatros o espectáculos. Están dirigidas en una dirección concreta y podemos controlar la mayor o menor apertura del cono de luz, así como su difusión (si se recorta brusca o suavemente) y otros factores.

  • Paralela: es la luz ideal para simular a nuestro Sol. Éste es un astro que se encuentra en un punto concreto y que emite luz en todas las direcciones, por lo que podríamos emplear una luz radial para representarlo. Pero respecto a nosotros, el Sol se encuentra muy, muy lejos. Tanto, que posicionar un punto luminoso a muchos miles de kilómetros no resulta práctico. Por eso disponemos de este tipo de luces: se llaman paralelas porque aunque las situemos a muy poca distacia de nuestra escena los rayos que emiten son paralelos, como —prácticamente— lo son los del Sol cuando llegan a la Tierra.

  • Ambiente: es un tipo de luz que no procede de ningún punto concreto. Viene de todas direcciones. Como hemos dicho la luz no sólo procede de un determinado punto y llega a un objeto en una dirección, iluminándolo desde un cierto ángulo, sino que ademas rebota. En una habitación con las paredes blancas —o claras— la luz que entra por una ventana (es decir: desde una determinada dirección) rebota en todas las paredes y objetos que se encuentra a su paso, de modo que podemos encontrarnos con un sofa que está levemente iluminado en una zona en la que debería estar en sombra (fijémonos que en una habitación casi nunca veremos zonas al 100% de oscuridad —negro—). Al aire libre también sucede otro fenómeno, que es la dispersión de la luz al atravesar la atmósfera, las nubes o la contaminación.

Para poder simular este tipo de efectos se crearon las luces ambiente. De todos modos veremos que existen cierto tipo de sistemas que tienen en cuenta los fenómenos reflexión de la luz (radiosidad), aunque resultan enormemente lentos, por la gran cantidad de cálculos que el ordenador debe procesar.

Por supuesto en cualquier tipo de luz pueden controlarse infinidad de parámetros: intensidad, color, atenuación con la distancia (“dropoff”), rayos, halos (“glows”), lens flares, etc

Directamente relacionadas con las luces están las sombras arrojadas por los objetos. En el mundo real cada luz que analicemos proyecta una sombra al toparse con un obstáculo, aunque se traten de luces reflejadas. En un programa 3D, en cambio, se puede controlar una luz para que no proyecte sombras, con el objeto de ahorrar cálculos. Debemos pensar que la infografía es un constante engaño a nuestros ojos y cualquier truco y artimaña son válidos siempre y cuando ahorremos tiempo de cálculo y no se resienta substancialmente la calidad de la imagen.



6. ANIMACIÓN

Si nos fijamos, estamos exponiendo un proceso similar al del cine o la fotografía: construimos escenarios, les damos una mano de pintura, los iluminamos adecuadamente y ahora sólo nos queda contratar buenos actores y fotografiar o rodar la acción. ¡Casi nada!.…

En ciertas animaciones el movimiento queda limitado tan sólo a una serie de “vuelos” alrededor o dentro de un escenario. El ejemplo más obvio es la infografía arquitéctonica. Para un programa 3D una cámara es un objeto más que se puede añadir en nuestro escenario, dándole ciertas características (formato de imagen, apertura de foco…) para captar un entorno desde su objetivo virtual. Normalmente podemos añadir tantas cámaras como queramos y moverlas a nuestro antojo, con la ventaja de que no contamos con las limitacines de las pesadas cámaras reales.

La cosa empieza a complicarse si queremos mover otros objetos. Pocas veces es tan simple como desplazar o girar un elemento: la mayoría de las veces tenemos piezas móviles que se desplazan y rotan unas respecto a otras y en los casos más complejos hablamos de mover personajes, haciéndoles caminar, correr, reir, gritar o llorar… Entonces ya estamos hablanco de una disciplina enormemente compleja. Las hormiguitas de Bichos o los juguetes de Toy Story, los dinosaurios de Parque Jurásico y los personajes de La Amenaza Fantasma representan las cotas más altas del perfeccionamiento hasta el que se ha llegado en este campo. Una perfección conseguida con el esfuerzo de muchas personas, muy especializadas, trabajando durante mucho tiempo, con las mejores máquinas y programas.

A grandes rasgos y simplificando mucho: para animar un personaje una vez modelado y texturizado, es necesario crear un esqueleto interno de huesos virtuales (“bones”). Podemos pensar en los huesos de nuestro cuerpo porque es una buena imagen visual, pero no tienen por qué ser huesos físicos.

Las diferentes piezas de este esqueleto se hallan unidas por “links” generando una serie de jerarquías: el hombro es el padre del húmero; éste es el padre del cúbito (y del radio, pero no tenemos por qué utilizar dos huesos: recordemos que es algo simulado); el cúbito a su vez es padre de la mano y ésta de cada una de las primeras falanges de los dedos. Cada falange tiene una hija, una nieta… y así hasta el final.

Una vez creada la estructura interna del esqueleto con todas sus jerarquías definimos los límites de los movimientos, los indices de rozamiento, la viscosidad… es decir, asignamos las posibilidades de movimiento que puede tener cada pieza respecto a las demás y finalmente definimos cómo afectan las distintas partes de la estructura interna a la “piel” (la malla de polígonos o de NURBS) externa para hecer, por ejemplo, que al doblarse un brazo se produzca aquí un pliegue y allí se engorde un músculo.

Con toda esta estructura perfectamente organizada ya podemos empezar animar, haciendo que cada elemento se mueva al ritmo adecuado, controlando para ello las curvas de velocidad, de modo que el personaje adquiera una determinada personalidad. Fácil ¿no?.

Estos refinamientos son propios de los programas de alto nivel y dentro de estos existe una dura competencia por proporcionar las herramientas más potentes, ágiles e intuitivas para trabajar. Maya y Softimage son los líderes indiscutibles en este campo.



7. RENDERIZADO

Hasta este momento hemos trabajado nosotros y ahora le toca a la máquina. Como decíamos al principio: en 1 segundo de cine tenemos 24 fotogramas (en el sistema de vídeo PAL hay 25 fps y en el formato americano NTSC 30 fps) y el ordenador debe calcular cada una de estas imágenes. A este proceso se le llama renderizado.

Existen varios sistemas (algoritmos) de renderizado, pero los más importantes serían:

  • Wireframe: normalmente se utiliza para hacer test de movimiento, para ver que tal van las cosas y no llevarnos una sorpresa. Es el más rápido, y lo que nos muestra es tan sólo unas líneas que definen los polígonos de cada elemento. No distinguimos ningún tipo de textura sino tan sólo la estructura de los objetos (como cuando estamos modelando), pero resulta de enorme utilidad para testear la calidad de los movimientos en una animación antes de pasar a usar otros sistemas mucho más lentos. Normalmente vemostanto la estructura delantera (visible) como trasera (invisible) de los objetos. Hay una variante llamada “Hidden Line”—Líneas Ocultas— que permite ocultar la parte de atrás de los objetos o bien los elementos que pasan por detrás de otros.

  • Phong: en varios programas éste es un algoritmo bastante tosco, que ni siquiera puede representar sombras arrojadas ni otros muchos fenomenos físicos y —en esos casos— también se utiliza sólo para testear la animación. Pero debido a su gran velocidad de cálculo algunos programas lo han convertido en su motor de renderizado de más alto nivel, depurándolo e implementándole algunas prestaciones para suplir esas carencias. De hecho, y a pesar de sus muchas limitaciones, es el más utilizado en grandes producciones, donde el tiempo de renderizado no puede dispararse excesivamente.

  • Raytracing: aquí las reflexiones, las sombras proyectadas o las refracciones son calculadas de acuerdo con parametros asimilables al mundo real dando un resultado bastante aproximado a la realidad. Lo malo es que resulta mucho más lento que Phong y normalmente se utiliza más en imágenes estáticas que en animaciones. En este sistema cada rayo visual que sale de la cámara llega a los objetos y, en función de los índices de reflexión, transparencia o refracción de aquí pasa a otros objetos o luces. Cada rayito visual que sale de nuestra cámara corresponderá a un pixel (mínima unidad de información visual) de nuestra imagen.

  • Radiosity: es el más perfecto de todos los sistemas de renderizado, pero también el más lento —con diferencia—. Aquí se calculan también las interacciones entre la luz y el color de objetos más o menos próximos, de manera que, si por ejemplo, colocamos una pelota roja cerca de una pared blanca veremos como una zona de la pared más cercana a la pelota se tiñe de rojo. Otro ejemplo: si iluminamos una pared, ésta refleja parte de esa luz proporcionando una luz más tenue hacia los objetos que se encuentren cerca. Este es un sistema perfecto para simulaciones muy realistas en el campo de la arquitectura, especialmente en interiores, ya que ilustra muy bien el comportamiento de la luz en esas condiciones. También se utiliza mucho para crear los escenarios de algunos videojuegos en 3D para aportar realismo (con la particularidad de que la escena ya está previamente calculada y guardada en el disco, de lo contrario sería imposible jugar en tiempo real…)

Una vez renderizada una secuencia podemos volcarla (grabarla) directamente a un vídeo o —lo que suele se más habitual— pasar ese archivo a un programa de postproducción para retocar algunas cosas antes de su volcado a vídeo (o cine) definitivo.



8. POSTPRODUCCIÓN

A veces es interesante ajustar algunas caracteristicas de la imagen o animación una vez calculada. Cosas sencillas como saturar el color o subir las luces, enfocar o desenfocar un poco la imagen… o cosas más complicadas como encajar diferentes piezas de una animación donde nos ha interesado tener el primer plano por un lado y el fondo por otro (para poder actuar sobre ellos independientemente) o bien integrar un elemento infográfico en una escena real. Tanto si estamos hablando de una imagen estática como de una animación existen numerosos programas que ayudan a realizar estas funciones: Photoshop y AfterEffects son los más conocidos.



9. VOLCADO

Normalmente se le llama así al proceso de pasar la información que tenemos en el ordenador a un sistema de vídeo profesional (Betacam) o doméstico (VHS) o de cine, mediante ordenadores y plataformas más o menos especializadas. En el caso de una imagen estática también tenemos que darle una salida, ya sea imprimiéndola en papel, filmando unos fotolitos o pasando la imagen a transparencia. También existe la posibilidad de que la animación o la ilustración se queden en un soporte informático para su posterior publicación en Internet o en un CD-ROM.

Etérea Workshops Banner
Por favor: no hagas un copiar-pegar de este material en tu página, weblog o foro sin mi permiso. En su lugar puedes incluir un link a esta página.
All images copyright Cristóbal Vila