Você está na página 1de 5

033-037_3D

07.02.2006

16:41

Uhr

Pgina

33

Animacin 3D PRCTICO

Animacin 3D bajo Software Libre

MUNDOS VIRTUALES
Necesitamos buen software y mucha potencia de procesador para crear mundos virtuales. Afortunadamente para los animadores de hoy en da, tenemos potentes PCs a precios asequibles y excelentes herramientas de animacin completamente libres. POR JOE CRAWFORD

o hace demasiado tiempo, la animacin 3D de calidad profesional requera caras estaciones de trabajo. El software que ejecutaban, por ejemplo Maya (en la versin ilimitada), costaba ms de 15.000 dlares a comienzos de 2002, y su tecnologa se guardaba celosamente bajo restrictivas licencias. Mientras los precios del hardware comenzaban a bajar en picado, el precio del software se mantuvo demasiado alto para los aficionados, y con las duras condiciones de las licencias, se haca casi impracticable el uso de herramientas de animacin 3D y as, para mucha gente, la animacin 3D en sus propios ordenadores era slo un lejano sueo. Pero de un tiempo a esta parte, con la aparicin de los primeros programas en Software Libre, la situacin ha cambiado por completo. Se han proporcionado grficos 3D al pblico en general, y se han abierto las tecnologas subJoe Crawford es el propietario de Joetainment Enterprises/ Celestine Studios, un estudio grfico 3D que usa Software Libre. Joe imparte tambin diversos cursos de animacin por ordenador.

yacentes para que los desarrolladores produzcan toda una nueva serie de aplicaciones. La expresin 7 grados de libertad fue acuada por el proyecto K3D. Alude a los 6 grados de libertad en el espacio tridimensional, adems de la libertad de distribuir y modificar el cdigo fuente. Este artculo describe alguno de las mejores herramientas en Software Libre para la animacin 3D.

Animacin 3D
El proceso de animacin en 3D se muestra en la Figura 1. Comienza con el modelado del objeto 3D. El siguiente paso son las texturas: se aade una especie de piel. Este paso le da a la superficie del modelo un aspecto natural con luz que se refleja y una estructura para dicha superficie. El mapeado UV proyecta mapas de bits 2D (por ejemplo vetas de madera) en una superficie 3D. Explicado de manera simple, es como pegar un cartel en una columna. El modelo 3D pueda ahora animarse. En el proceso de construccin se aaden las juntas a la figura. Estas juntas permiten al artista mover un objeto complejo de una manera similar a una marioneta. Tras completar la escena de animacin bsica, el animador aade los efectos especiales como agua, fuego

o humo. Se ilumina la escena ubicando los puntos de luz, como si fuera el rodaje de una pelcula convencional. La etapa de post-produccin se encarga de optimizar el producto casi acabado, combinndolo con la pelcula o las escenas de video, y aadindole una banda sonora. Normalmente, se usan varios programas diferentes para crear una animacin 3D. En primer lugar, necesitamos un programa para crear los modelos 3D. En muchos casos, la animacin y el renderizado (conversin de los modelos terminados a imgenes fotorrealistas) se realizan desde programas diferentes. El renderizado es tan complejo que usualmente requiere una herramienta especializada.

Wings3D Simplifica Formas Complejas


Mientras que las formas geomtricas son bastante fciles de construir, las formas irregulares u orgnicas, como pueden ser la de una mano o el tronco de un rbol, son un gran reto. Wings3D [1], que toma su nombre del programa comercial Nendo, se ha posicionado como una herramienta especializada en este campo. Este particular punto fuerte se

EL AUTOR

WWW.LINUX-MAGAZINE.ES

Nmero 15

33

033-037_3D

07.02.2006

16:41

Uhr

Pgina

34

PRCTICO Animacin 3D

Figura 1: El proceso de produccin, desde la idea hasta el producto acabado.

hace evidente cuando necesitamos modelar seres humanos o animales. Muchos aos de desarrollo hacen de Wings3D una herramienta enormemente poderosa a la vez que intuitiva. Con una curva de aprendizaje de slo unas horas, el usuario puede empezar el proceso creativo muy rpidamente. Aunque Wings3D se basa en polgonos, da la sensacin de estar modelando con plastilina. La herramienta Tweak permite al usuario mover puntos de control en un espacio 3D de manera gradual hasta alcanzar la forma requerida. As mismo, Wings3D tiene muchas funciones para dividir cuboides simples y crear formas de aspecto natural. Para ello, slo tenemos que posicionar el ratn sobre el icono de men. Presionamos [Del] y con el atajo de teclado solicitado vamos a definir el enlace. Wings3D se restringe bsicamente al modelado y mapeado UV. No hay planes para introducir funcionalidades de animacin en versiones futuras. Dicho esto, Wings3D soporta un buen nmero de formatos para exportar y as facilitar el intercambio de informacin con otros programas. Si estamos interesados en el modelado de formas orgnicas, Wings3D

puede competir directamente con los programas comerciales existentes en el mercado.

Poder Blender

En estos momentos, Blender [2] es el nico paquete de Software Libre que cubre todos los pasos en el proceso de produccin 3D: modelado, mapeado UV, animacin y renderizado de la escena final. Tambin tiene algunas opciones de post-produccin y un motor especfico para juegos, el nico de su clase en el sector 3D. Otro punto fuerte de Blender es la velocidad, que es superior a sus competidores comerciales. La subdivisin de superficies de Blender, Catmull-Clark, que crea curvas suaves a partir de bloques simples, es particuFigura 2: Wings3D es extremadamente potente a pesar de su senlarmente digna de cilla interfaz. mencin (vase la

Figura 4), as como las funcionalidades de animacin que son realmente rpidas. Blender usa OpenGL para la representacin de la escena en pantalla, incluso para la interfaz grfica de usuario, y aprovecha la aceleracin hardware que proporcionan las tarjetas grficas de hoy da. Esto permite al usuario la posibilidad de escalar imgenes o usar transparencias sin que se ralentice excesivamente el programa. Sin embargo, la interfaz est demasiado sobrecargada y est diseada de una manera no demasiado ortodoxa. En lugar de mens y cuadros, Blender usa principalmente subventanas llenas de botones y barras de desplazamiento. El diseo de la interfaz carece de una lgica consistente. Incluso funciones tan bsicas como cortar y pegar necesitan algo de tiempo para acostumbrarse en Blender, ya que usan [Alt]+[C] o [Alt]+[V], en lugar de la usual tecla [Ctrl]. Esto es consecuencia del hecho de que Blender se dise como una herramienta interna para los estudios de animacin de la mtica consola NeoGeo. En 1998, uno de los fundadores de Neo-Geo, Ton Roosendaal, fund la empresa Not a Number con la idea de continuar el desarrollo de la herramienta interna de animacin que ahora conocemos como Blender. Su objetivo era lanzar la herramienta bajo Software Libre. Desafortunadamente, Not a Number cerr en 2001 debido a dificultades financieras, pero gracias a una campaa de donaciones se pudo comprar el

34

Nmero 14

WWW.LINUX-MAGAZINE.ES

033-037_3D

07.02.2006

16:41

Uhr

Pgina

35

Animacin 3D PRCTICO

Scripts
Para ayudarnos a automatizar tareas recurrentes, las herramientas grficas suelen integrar un lenguaje de script. Los programas propietarios usan a menudo lenguajes propios, que tienen que aprender sus usuarios (por ejemplo, Maxscipt en 3D Studio Max). Los programas en Software Libre se caracterizan por el amplio uso de estndares abiertos, que permiten al usuario con algunas nociones de C o C++ un acceso mucho ms fcil. Blender, por ejemplo, soporta scripts en Python.

los profesionales. personalizadas para cubrir sus requisitos K3D tiene una particulares. lista jerrquica El desarrollo de K3D no est en absoDeshacer/Rehacer, luto completo. Por ejemplo, las hepor ejemplo. Lo rramientas de modelado 3D no estn tan cual significa bsimaduras como las de Wings3D. Sin camente que si embargo, K3D ha optado por una despus de restaufilosofa diferente, que de nuevo pone rar un estado y especial atencin en las dependencias haberlo modifientre los objetos. Este mtodo, conocido cado, podemos como paramtrico o modelado por provolver a aplicar cedimientos, implica que los cambios al los cambios que marco bsico de un modelo se aplican de hicimos despus manera inteligente a sus componentes. del punto al que Los desarrolladores han diseado tamvolvimos. Esto bin una madura arquitectura de plugins debera ser una para proporcionar una slida base para Figura 3: La interfaz de usuario de Blender con un modelo completo. funcionalidad extensiones futuras. deseable en la En el momento de escribir este cdigo de Blender y liberarlo como Softmayora de los programas, pero es espeartculo, el programa est en la versin ware Libre para la comunidad. cialmente til en procesos de diseo 0.5 (desarrollo) y 0.4 (estable), y algunas La nica desventaja de Blender de su creativo. funcionalidades clave an no estn pasado propietario es el hecho de que su K3D pone especial nfasis es definir la disponibles. Todava se est trabajando interfaz se dise para profesionales que relacin entre los objetos de una escena. en herramientas bsicas como el escalausan la herramienta a diario. Esto lo Si estamos animando un cuerpo do y la rotacin. Las funciones de anihace confuso e incluso algo desalentador humano, las partes del para el usuario normal. Necesitaremos modelo deben estar bastante paciencia para conseguir sacar gobernadas por una todo el poder que encierra este excelente enorme cantidad de programa, que debe ser uno de los ms relaciones para crear potentes programas de Software Libre una impresin de natununca creados. Debido a su ya larga hoja ralidad: cuando el de ruta, Blender es extremadamente cuerpo comienza a estable y tiene una enorme comunidad caminar, el muslo se que proporciona modelos, documueve empezando por mentacin y un buen soporte para comla cadera. Adems, la batir problemas de cualquier usuario. parte inferior de la pierna se mueve desde K3D: El Futuro? la rodilla. Ambos K3D [3] es uno de los desarrollos ms movimientos deben recientes en el campo de los grficos 3D. solaparse. En K3D, un La mayor ventaja de K3D es que se trata objeto puede controlar de un desarrollo nuevo, pero basado en a otro. Los usuarios la experiencia ya acumulada. Se consult pueden guardar estas a desarrolladores profesionales del interdependencias, Figura 4: Blender con un modelo antes de aplicarle la subdimundo 3D para modificar el programa creando de esta mavisin de superficies Catmull-Clark. de trabajo y reflejar as las demandas de nera funcionalidades

WWW.LINUX-MAGAZINE.ES

Nmero 15

35

033-037_3D

07.02.2006

16:41

Uhr

Pgina

36

PRCTICO Animacin 3D

macin son complicadas de usar hoy por hoy. Y, como de momento los desarrolladores se estn concentrando en la calidad ms que en la velocidad, puede que tarde bastante en aparecer la versin 1.0 de K3D. Los modelos creados con K3D son compatibles con las especificaciones RenderMan, el estndar en la industria de la animacin. Los modelos K3D pueden procesarse con herramientas profesionales como Photorealistic Renderman de Pixar. Sin embargo, K3D no se restringe a los productos comerciales. Tambin soporta el excelente, y libre raytracer Yafray, que puede usarse para convertir modelos a imgenes finales. Su convincente diseo incluye una interfaz muy clara basada en GTK2 (vase la Figura 5), as que merece la pena, en definitiva, hacer el seguimiento de los prximos desarrollos de K3D.

Renderizado
El proceso de convertir los modelos 3D a imagen final o a animaciones se suele denominar renderizado. Como es la nica etapa del proceso de creacin que va a ver la audiencia final, se trata de una fase muy importante. Y como el renderizado es, al mismo tiempo, un proceso muy complejo, suele ser llevado a cabo por herramientas especializadas. Por supuesto, tenemos que asegurarnos

Figura 6: Esta imagen muestra el potencial de la herramienta de renderizado de Aqsis para la creacin de formas complejas.

de que el intercambio de informacin con las dems etapas sea el adecuado.

Yafray
Yafray [4] es en estos momentos la herramienta de renderizado ms potente del Software Libre. Puede generar imgenes extremadamente realistas y estilizadas. El modo en que se aplican las luces y sombras tiene un enorme efecto en el

Figura 5: K3D tiene una clara interfaz basada en GTK2.

nivel de realismo a los ojos del observador. Yafray calcula el efecto de la luz sobre la superficie del modelo de una manera mucho ms precisa que otros programas. Calcula sombreados suaves, reflexiones de luz y refracciones basadas en algoritmos de Fresnel. Traza tambin las rutas seguidas por los rayos de luz que se dispersan, o luz refractada por objetos transparentes. Esto se conoce como iluminacin global o custicas. Normalmente, Yafray se ejecuta como un programa externo. Tiene, sin embargo, una API para plugins, de manera que otros programas puedan llamarlo. Por ejemplo Blender puede hacer esto para ofrecer al usuario una preview ms concluyente. Aunque Yafray est de momento en la versin 0.0.8, las caractersticas que implementa el programa son ms que suficientes para hacerlo interesante en tareas de produccin. La calidad del renderizado es comparable a las herramientas profesionales que cuestan varios miles de dlares. Esto hace de Yafray, con la posible excepcin de la herramienta de renderizado ms bsico que incluye Blender, el nico programa de renderizado en Software Libre apto para produccin en estos momentos. El renderizado requiere un gran nmero de clculos complejos. Hablamos de tiempos de render de varias horas o incluso das. En estos

36

Nmero 14

WWW.LINUX-MAGAZINE.ES

033-037_3D

07.02.2006

16:41

Uhr

Pgina

37

Animacin 3D PRCTICO

usuario de a pie puede ayudar en la elaboracin de la documentacin y los tutoriales. Esto evita muchos quebraderos de cabeza a la hora de aprender cmo funcionan los plugins que acompaan a las herramientas grficas en Software Libre.

Conclusiones: Software Libre 3D


El futuro del Software Libre 3D se presenta halageo. Se estn produciendo muchos diseos maravillosos con Blender y Yafray. Sin embargo, siguen sin resolverse algunos problemas. Por ejemplo, falta un formato estndar convincente que mejore el intercambio de datos entre programas. As mismo, encontramos que a la hora de producir animaciones 3D de alta calidad tenemos que luchar con muchas herramientas sin interfaces estandarizadas. Esperemos que la experiencia de la enorme base de usuarios, parte de ellos profesionales, as como el compromiso de la comunidad de programadores, ayude a alumbrar el desarrollo de estas piezas que faltan, al igual que en otros campos del Software Libre. Por ltimo, sealar que an existen algunas lagunas en el flujo de trabajo en produccin, que van desde el modelado inicial 3D hasta el lanzamiento de la pelcula finalizada: los estudios profesionales an usan herramientas propietarias para las tareas de montaje en post-produccin. Proyectos como Jahshaka [8] o Cinelerra [9] podran en un futuro terminar con esas lagunas, permitiendo as a los estudios que todo el ciclo del material generado por ordenador en una pelcula se I realizase con Software Libre.

momentos, los desarrolladores estn trabajando en un rediseo importante para poder aprovechar la potencia de clculo de las GPUs de las tarjetas grficas para los procesos de renderizado. Esto debera reducir significativamente los tiempos de computacin en un futuro cercano.

Toxic
Toxic [5] es un programa de renderizado basado en clculos fsicos exactos. Usa la Funcin de Distribucin de Reflexin Bidireccional, entre otras, para generar imgenes de excelente calidad y extremadamente realistas. En muchos aspectos del proceso de renderizado, Toxic adopta mtodos similares a los de Yafray, sin embargo, pone ms nfasis en la precisin fsica. El objetivo es alcanzar resultados que no slo parezcan realistas al ojo humano, sino que tambin emulen la realidad de una manera matemticamente correcta. Toxic usa su propio, y bien documentado, formato de archivo XML. Sin embargo, no puede importar escenas de otros paquetes 3D, lo que dificulta enormemente su integracin en un flujo de trabajo para produccin.

cing, esto es, un trazador de rayos de luz, al menos en el momento de escribir este artculo. Esto disminuye considerablemente el realismo de los resultados. Aqsis es en estos momentos ms interesante para los desarrolladores que necesitan una herramienta libre que soporte el estndar RenderMan. Por otro lado, la incorporacin de raytracing est contemplada en la hoja de ruta de los desarrolladores, y el trabajo en Aqsis progresa, de momento, muy deprisa. Aqsis es una interesante propuesta, pero hoy por hoy se encuentra en una etapa muy temprana de desarrollo.

Beneficios del Software Libre


El acceso al cdigo fuente es una gran ventaja para los estudios profesionales y los artistas freelance. Los estudios grandes pueden modificar el software estndar para ajustarse a sus propias necesidades. E incluso el usuario normal puede sacar provecho de pequeos hackeos al programa. Una caracterstica de este tipo de software grfico es que muchas funcionalidades pueden implementarse como plugins. En el caso de programas propietarios, los plugins suelen ser difciles de encontrar y necesitan reinstalarse con cada instalacin. Por contra, la comunidad de desarrolladores en Software Libre suele adoptar rpidamente el cdigo fuente del plugin a la rama principal del programa. En el caso de Blender, muchas funcionalidades empezaron como plugins. Tambin hay que contar con el hecho de que el

Recursos
[1] Proyecto Wings3D: http://www. wings3d.com [2] Pgina de Blender con documentacin y diversos recursos: http:// blender.org [3] K3D (documentacin disponible en lnea): http://k3d.sourceforge.net [4] Yafray: http://www.yafray.org [5] Toxic: http://www.toxicengine.org [6] Aqsis: http://www.aqsis.org [7] Povray (documentacin, communidad): http://povray.org [8] Jahshaka: http://www.jahshaka.org [9] Cinelerra: http://heroinewarrior.com/ cinelerra.php3

Aqsis
Aqsis [6] se caracteriza por el hecho de que proporciona el soporte ms completo para la sintaxis estndar RenderMan para la definicin de modelos 3D. Esto significa que es ms fcil crear formas complejas con Aqsis que con otras herramientas de modelado. Desafortunadamente, Aqsis no incorpora raytra-

WWW.LINUX-MAGAZINE.ES

Nmero 15

37

Você também pode gostar