5
N o hace demasiado tiempo, la ani- mación 3D de calidad profe- sional requería caras estaciones de trabajo. El software que ejecutaban, por ejemplo Maya (en la versión ilimi- tada), costaba más de 15.000 dólares a comienzos de 2002, y su tecnología se guardaba celosamente bajo restrictivas licencias. Mientras los precios del hard- ware comenzaban a bajar en picado, el precio del software se mantuvo demasia- do alto para los aficionados, y con las duras condiciones de las licencias, se hacía casi impracticable el uso de her- ramientas de animación 3D y así, para mucha gente, la animación 3D en sus propios ordenadores era sólo un lejano sueño. Pero de un tiempo a esta parte, con la aparición de los primeros progra- mas en Software Libre, la situación ha cambiado por completo. Se han propor- cionado gráficos 3D al público en gen- eral, y se han abierto las tecnologías sub- yacentes para que los desarrolladores produzcan toda una nueva serie de apli- caciones. La expresión “7 grados de lib- ertad” fue acuñada por el proyecto K3D. Alude a los 6 grados de libertad en el espacio tridimensional, además de la lib- ertad de distribuir y modificar el código fuente. Este artículo describe alguno de las mejores herramientas en Software Libre para la animación 3D. Animación 3D El proceso de animación en 3D se mues- tra en la Figura 1. Comienza con el mo- delado del objeto 3D. El siguiente paso son las texturas: se añade 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 car- tel en una columna. El modelo 3D pueda ahora animarse. En el proceso de cons- trucción se añaden 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 animación básica, el animador añade los efectos especiales como agua, fuego 33 Animación 3D • PRÁCTICO 33 Número 15 WWW.LINUX-MAGAZINE.ES o humo. Se ilumina la escena ubicando los puntos de luz, como si fuera el rodaje de una película convencional. La etapa de post-producción se encarga de opti- mizar el producto casi acabado, com- binándolo con la película o las escenas de video, y añadiéndole una banda sonora. Normalmente, se usan varios progra- mas diferentes para crear una animación 3D. En primer lugar, necesitamos un pro- grama para crear los modelos 3D. En muchos casos, la animación y el render- izado (conversión de los modelos termi- nados a imágenes fotorrealistas) se reali- zan desde programas diferentes. El ren- derizado es tan complejo que usual- mente requiere una herramienta espe- cializada. Wings3D – Simplifica Formas Complejas Mientras que las formas geométricas son bastante fáciles de construir, las formas irregulares u orgánicas, 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 Animación 3D bajo Software Libre MUNDOS VIRTUALES Necesitamos buen software y mucha potencia de procesador para crear mundos virtuales. Afortunadamente para los ani- madores de hoy en día, tenemos potentes PCs a precios ase- quibles y excelentes herramientas de animación completa- mente libres. POR JOE CRAWFORD Joe Crawford es el propietario de Joetainment Enterprises/ Celestine Studios, un estudio gráfico 3D que usa Software Libre. Joe imparte también diversos cursos de animación por ordenador. EL AUTOR 033-037_3D 07.02.2006 16:41 Uhr Página 33

Animación 3D bajo software libre

Embed Size (px)

Citation preview

Page 1: Animación 3D bajo software libre

No hace demasiado tiempo, la ani-mación 3D de calidad profe-sional requería caras estaciones

de trabajo. El software que ejecutaban,por ejemplo Maya (en la versión ilimi-tada), costaba más de 15.000 dólares acomienzos de 2002, y su tecnología seguardaba celosamente bajo restrictivaslicencias. Mientras los precios del hard-ware comenzaban a bajar en picado, elprecio del software se mantuvo demasia-do alto para los aficionados, y con lasduras condiciones de las licencias, sehacía casi impracticable el uso de her-ramientas de animación 3D y así, paramucha gente, la animación 3D en suspropios ordenadores era sólo un lejanosueño. Pero de un tiempo a esta parte,con la aparición de los primeros progra-mas en Software Libre, la situación hacambiado por completo. Se han propor-cionado gráficos 3D al público en gen-eral, y se han abierto las tecnologías sub-

yacentes para que los desarrolladoresproduzcan toda una nueva serie de apli-caciones. La expresión “7 grados de lib-ertad” fue acuñada por el proyecto K3D.Alude a los 6 grados de libertad en elespacio tridimensional, además de la lib-ertad de distribuir y modificar el códigofuente. Este artículo describe alguno delas mejores herramientas en SoftwareLibre para la animación 3D.

Animación 3DEl proceso de animación en 3D se mues-tra en la Figura 1. Comienza con el mo-delado del objeto 3D. El siguiente pasoson las texturas: se añade una especie de“piel”. Este paso le da a la superficie delmodelo un aspecto natural con luz quese refleja y una estructura para dichasuperficie. El mapeado UV proyectamapas de bits 2D (por ejemplo vetas demadera) en una superficie 3D. Explicadode manera simple, es como pegar un car-tel en una columna. El modelo 3D puedaahora animarse. En el proceso de cons-trucción se añaden las juntas a la figura.Estas juntas permiten al artista mover unobjeto complejo de una manera similar auna marioneta. Tras completar la escenade animación básica, el animador añadelos efectos especiales como agua, fuego

33

Animación 3D • PRÁCTICO

33Número 15W W W . L I N U X - M A G A Z I N E . E S

o humo. Se ilumina la escena ubicandolos puntos de luz, como si fuera el rodajede una película convencional. La etapade post-producción se encarga de opti-mizar el producto casi acabado, com-binándolo con la película o las escenasde video, y añadiéndole una bandasonora.

Normalmente, se usan varios progra-mas diferentes para crear una animación3D. En primer lugar, necesitamos un pro-grama para crear los modelos 3D. Enmuchos casos, la animación y el render-izado (conversión de los modelos termi-nados a imágenes fotorrealistas) se reali-zan desde programas diferentes. El ren-derizado es tan complejo que usual-mente requiere una herramienta espe-cializada.

Wings3D – SimplificaFormas ComplejasMientras que las formas geométricas sonbastante fáciles de construir, las formasirregulares u orgánicas, como pueden serla de una mano o el tronco de un árbol,son un gran reto. Wings3D [1], que tomasu nombre del programa comercial“Nendo”, se ha posicionado como unaherramienta especializada en estecampo. Este particular punto fuerte se

Animación 3D bajo Software Libre

MUNDOSVIRTUALESNecesitamos buen software y mucha potencia de procesador

para crear mundos virtuales. Afortunadamente para los ani-

madores de hoy en día, tenemos potentes PCs a precios ase-

quibles y excelentes herramientas de animación completa-

mente libres. POR JOE CRAWFORD

Joe Crawford es el propietariode Joetainment Enterprises/Celestine Studios, un estudiográfico 3D que usa SoftwareLibre. Joe imparte tambiéndiversos cursos de animaciónpor ordenador.

EL

AU

TO

R

033-037_3D 07.02.2006 16:41 Uhr Página 33

Page 2: Animación 3D bajo software libre

puede competir directamente con losprogramas comerciales existentes en elmercado.

Poder BlenderEn estos momentos, Blender [2] es elúnico paquete de Software Libre quecubre todos los pasos en el proceso deproducción 3D: modelado, mapeado UV,animación y renderizado de la escenafinal. También tienealgunas opcionesde post-produccióny un motor especí-fico para juegos, elúnico de su clase enel sector 3D.

Otro punto fuertede Blender es lavelocidad, que essuperior a sus com-petidores comer-ciales. La subdi-visión de superfi-cies de Blender,Catmull-Clark, quecrea curvas suavesa partir de bloquessimples, es particu-larmente digna demención (véase la

Figura 4), así como las funcionalidadesde animación que son realmente rápidas.

Blender usa OpenGL para la repre-sentación de la escena en pantalla,incluso para la interfaz gráfica deusuario, y aprovecha la aceleración hard-ware que proporcionan las tarjetas gráfi-cas de hoy día. Esto permite al usuario laposibilidad de escalar imágenes o usartransparencias sin que se ralentice exce-sivamente el programa. Sin embargo, lainterfaz está demasiado sobrecargada yestá diseñada de una manera no dema-siado ortodoxa. En lugar de menús ycuadros, Blender usa principalmentesubventanas llenas de botones y barrasde desplazamiento. El diseño de la inter-faz carece de una lógica consistente.Incluso funciones tan básicas como cor-tar y pegar necesitan algo de tiempo paraacostumbrarse en Blender, ya que usan[Alt]+[C] o [Alt]+[V], en lugar de lausual tecla [Ctrl]. Esto es consecuenciadel hecho de que Blender se diseñócomo una herramienta interna para losestudios de animación de la mítica con-sola NeoGeo.

En 1998, uno de los fundadores deNeo-Geo, Ton Roosendaal, fundó laempresa Not a Number con la idea decontinuar el desarrollo de la herramientainterna de animación que ahora conoce-mos como Blender. Su objetivo era lan-zar la herramienta bajo Software Libre.Desafortunadamente, Not a Numbercerró en 2001 debido a dificultadesfinancieras, pero gracias a una campañade donaciones se pudo comprar el

hace evidente cuando necesitamosmodelar seres humanos o animales.Muchos años de desarrollo hacen deWings3D una herramienta enormementepoderosa a la vez que intuitiva. Con unacurva de aprendizaje de sólo unas horas,el usuario puede empezar el procesocreativo muy rápidamente.

Aunque Wings3D se basa en polí-gonos, da la sensación de estar mode-lando con plastilina. La herramienta“Tweak” permite al usuario mover pun-tos de control en un espacio 3D de mane-ra gradual hasta alcanzar la formarequerida. Así mismo, Wings3D tienemuchas funciones para dividir cuboidessimples y crear formas de aspecto na-tural. Para ello, sólo tenemos que posi-cionar el ratón sobre el icono de menú.Presionamos [Del] y con el atajo deteclado solicitado vamos a definir elenlace.

Wings3D se restringe básicamente almodelado y mapeado UV. No hay planespara introducir funcionalidades de ani-mación en versiones futuras. Dicho esto,Wings3D soporta un buen número deformatos para exportar y así facilitar elintercambio de información con otrosprogramas. Si estamos interesados en elmodelado de formas orgánicas, Wings3D

PRÁCTICO • Animación 3D

34 Número 14 W W W . L I N U X - M A G A Z I N E . E S

Figura 1: El proceso de producción, desde la idea hasta el producto acabado.

Figura 2: Wings3D es extremadamente potente a pesar de su sen-

cilla interfaz.

033-037_3D 07.02.2006 16:41 Uhr Página 34

Page 3: Animación 3D bajo software libre

código de Blender y liberarlo como Soft-ware Libre para la comunidad.

La única desventaja de Blender de supasado propietario es el hecho de que suinterfaz se diseñó para profesionales queusan la herramienta a diario. Esto lohace confuso e incluso algo desalentadorpara el usuario normal. Necesitaremosbastante paciencia para conseguir sacartodo el poder que encierra este excelenteprograma, que debe ser uno de los máspotentes programas de Software Librenunca creados. Debido a su ya larga hojade ruta, Blender es extremadamenteestable y tiene una enorme comunidadque proporciona modelos, docu-mentación y un buen soporte para com-batir problemas de cualquier usuario.

K3D: ¿El Futuro?K3D [3] es uno de los desarrollos másrecientes en el campo de los gráficos 3D.La mayor ventaja de K3D es que se tratade un desarrollo nuevo, pero basado enla experiencia ya acumulada. Se consultóa desarrolladores profesionales delmundo 3D para modificar el programade trabajo y reflejar así las demandas de

los profesionales.K3D tiene unalista jerárquicaDeshacer/Rehacer,por ejemplo. Locual significa bási-camente que sidespués de restau-rar un estado yhaberlo modifi-cado, podemosvolver a aplicarlos cambios quehicimos despuésdel punto al quevolvimos. Estodebería ser unafuncionalidaddeseable en la

mayoría de los programas, pero es espe-cialmente útil en procesos de diseñocreativo.

K3D pone especial énfasis es definir larelación entre los objetos de una escena.Si estamos animando un cuerpohumano, las partes delmodelo deben estargobernadas por unaenorme cantidad derelaciones para crearuna impresión de natu-ralidad: cuando elcuerpo comienza acaminar, el muslo semueve empezando porla cadera. Además, laparte inferior de lapierna se mueve desdela rodilla. Ambosmovimientos debensolaparse. En K3D, unobjeto puede controlara otro. Los usuariospueden guardar estasinterdependencias,creando de esta ma-nera funcionalidades

personalizadas para cubrir sus requisitosparticulares.

El desarrollo de K3D no está en abso-luto completo. Por ejemplo, las he-rramientas de modelado 3D no están tanmaduras como las de Wings3D. Sinembargo, K3D ha optado por unafilosofía diferente, que de nuevo poneespecial atención en las dependenciasentre los objetos. Este método, conocidocomo paramétrico o modelado por pro-cedimientos, implica que los cambios almarco básico de un modelo se aplican demanera inteligente a sus componentes.Los desarrolladores han diseñado tam-bién una madura arquitectura de pluginspara proporcionar una sólida base paraextensiones futuras.

En el momento de escribir esteartículo, el programa está en la versión0.5 (desarrollo) y 0.4 (estable), y algunasfuncionalidades clave aún no estándisponibles. Todavía se está trabajandoen herramientas básicas como el escala-do y la rotación. Las funciones de ani-

Animación 3D • PRÁCTICO

35Número 15W W W . L I N U X - M A G A Z I N E . E S

Figura 3: La interfaz de usuario de Blender con un modelo completo.

Figura 4: Blender con un modelo antes de aplicarle la subdi-

visión de superficies Catmull-Clark.

Para ayudarnos a automatizar tareas recurrentes, las herramien-tas gráficas suelen integrar un lenguaje de script. Los programaspropietarios usan a menudo lenguajes propios, que tienen queaprender sus usuarios (por ejemplo, Maxscipt en 3D StudioMax).

Los programas en Software Libre se caracterizan por el ampliouso de estándares abiertos, que permiten al usuario con algunasnociones de C o C++ un acceso mucho más fácil. Blender, porejemplo, soporta scripts en Python.

Scripts

033-037_3D 07.02.2006 16:41 Uhr Página 35

Page 4: Animación 3D bajo software libre

de que el intercambio de informacióncon las demás etapas sea el adecuado.

YafrayYafray [4] es en estos momentos la her-ramienta de renderizado más potente delSoftware Libre. Puede generar imágenesextremadamente realistas y estilizadas.El modo en que se aplican las luces ysombras tiene un enorme efecto en el

nivel de realismo a los ojos del obser-vador. Yafray calcula el efecto de la luzsobre la superficie del modelo de unamanera mucho más precisa que otrosprogramas. Calcula sombreados suaves,reflexiones de luz y refracciones basadasen algoritmos de Fresnel. Traza tambiénlas rutas seguidas por los rayos de luzque se dispersan, o luz refractada porobjetos transparentes. Esto se conocecomo “iluminación global” o “cáusticas”.

Normalmente, Yafray se ejecuta comoun programa externo. Tiene, sinembargo, una API para plugins, demanera que otros programas puedan lla-marlo. Por ejemplo Blender puede haceresto para ofrecer al usuario una previewmás concluyente.

Aunque Yafray está de momento en laversión 0.0.8, las características queimplementa el programa son más quesuficientes para hacerlo interesante entareas de producción. La calidad del ren-derizado es comparable a las herramien-tas profesionales que cuestan variosmiles de dólares. Esto hace de Yafray,con la posible excepción de la he-rramienta de renderizado más básicoque incluye Blender, el único programade renderizado en Software Libre aptopara producción en estos momentos.

El renderizado requiere un grannúmero de cálculos complejos.Hablamos de tiempos de render devarias horas o incluso días. En estos

mación son complicadas de usar hoy porhoy. Y, como de momento los desarrol-ladores se están concentrando en la cali-dad más que en la velocidad, puede quetarde bastante en aparecer la versión 1.0de K3D.

Los modelos creados con K3D soncompatibles con las especificacionesRenderMan, el estándar en la industriade la animación. Los modelos K3Dpueden procesarse con herramientasprofesionales como Photorealistic Ren-derman de Pixar. Sin embargo, K3D nose restringe a los productos comerciales.También soporta el excelente, y libreraytracer Yafray, que puede usarse paraconvertir modelos a imágenes finales. Suconvincente diseño incluye una interfazmuy clara basada en GTK2 (véase laFigura 5), así que merece la pena, endefinitiva, hacer el seguimiento de lospróximos desarrollos de K3D.

RenderizadoEl proceso de convertir los modelos 3D aimagen final o a animaciones se sueledenominar renderizado. Como es laúnica etapa del proceso de creación queva a ver la audiencia final, se trata deuna fase muy importante. Y como el ren-derizado es, al mismo tiempo, un pro-ceso muy complejo, suele ser llevado acabo por herramientas especializadas.Por supuesto, tenemos que asegurarnos

PRÁCTICO • Animación 3D

36 Número 14 W W W . L I N U X - M A G A Z I N E . E S

Figura 6: Esta imagen muestra el potencial de la herramienta de renderizado de Aqsis para la

creación de formas complejas.

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

033-037_3D 07.02.2006 16:41 Uhr Página 36

Page 5: Animación 3D bajo software libre

momen-tos, losdesarro-lladores estántrabajando en un redi-seño importante para poderaprovechar la potencia de cálculo delas GPUs de las tarjetas gráficas para losprocesos de renderizado. Esto deberíareducir significativamente los tiempos decomputación en un futuro cercano.

ToxicToxic [5] es un programa de renderizadobasado en cálculos físicos exactos. Usa la“Función de Distribución de ReflexiónBidireccional”, entre otras, para generarimágenes de excelente calidad yextremadamente realistas. En muchosaspectos del proceso de renderizado,Toxic adopta métodos similares a los deYafray, sin embargo, pone más énfasis enla precisión física. El objetivo es alcanzarresultados que no sólo parezcan realistasal ojo humano, sino que también emulenla realidad de una manera matemática-mente correcta. Toxic usa su propio, ybien documentado, formato de archivoXML. Sin embargo, no puede importarescenas de otros paquetes 3D, lo quedificulta enormemente su integración enun flujo de trabajo para producción.

AqsisAqsis [6] se caracteriza por el hecho deque proporciona el soporte más com-pleto para la sintaxis estándar Render-Man para la definición de modelos 3D.Esto significa que es más fácil crear for-mas complejas con Aqsis que con otrasherramientas de modelado. Desafortu-nadamente, Aqsis no incorpora raytra-

cing, estoes, un

trazador derayos de luz, al

menos en elmomento de

escribir esteartículo. Esto dismi-

nuye considerable-mente el realismo de los resultados. Aqsises en estos momentos más interesantepara los desarrolladores que necesitan unaherramienta libre que soporte el estándarRenderMan. Por otro lado, la incorpo-ración de raytracing está contemplada enla hoja de ruta de los desarrolladores, y eltrabajo en Aqsis progresa, de momento,muy deprisa. Aqsis es una interesantepropuesta, pero hoy por hoy se encuentraen una etapa muy temprana de desarrollo.

Beneficios del Software LibreEl acceso al código fuente es una granventaja para los estudios profesionales ylos artistas freelance. Los estudios grandespueden modificar el software estándarpara ajustarse a sus propias necesidades.E incluso el usuario normal puede sacarprovecho de pequeños hackeos al pro-grama.

Una característica de este tipo de soft-ware gráfico es que muchas funcionali-dades pueden implementarse como plu-gins. En el caso de programas propietar-ios, los plugins suelen ser difíciles deencontrar y necesitan reinstalarse concada instalación. Por contra, la comunidadde desarrolladores en Software Libre sueleadoptar rápidamente el código fuente delplugin a la rama principal del programa.En el caso de Blender, muchas funcionali-dades empezaron como plugins. Tambiénhay que contar con el hecho de que el

usuario de a pie puede ayudar en la elabo-ración de la documentación y los tutoria-les. Esto evita muchos quebraderos decabeza a la hora de aprender cómo funcio-nan los plugins que acompañan a las he-rramientas gráficas en Software Libre.

Conclusiones: Software Libre3DEl futuro del Software Libre 3D se presentahalagüeño. Se están produciendo muchosdiseños maravillosos con Blender y Yafray.Sin embargo, siguen sin resolversealgunos problemas. Por ejemplo, falta unformato estándar convincente que mejoreel intercambio de datos entre programas.Así mismo, encontramos que a la hora deproducir animaciones 3D de alta calidadtenemos que luchar con muchas he-rramientas sin interfaces estandarizadas.Esperemos que la experiencia de laenorme base de usuarios, parte de ellosprofesionales, así como el compromiso dela comunidad de programadores, ayude aalumbrar el desarrollo de estas piezas quefaltan, al igual que en otros campos delSoftware Libre.

Por último, señalar que aún existenalgunas lagunas en el flujo de trabajo enproducción, que van desde el modeladoinicial 3D hasta el lanzamiento de lapelícula finalizada: los estudios profesio-nales aún usan herramientas propietariaspara las tareas de montaje en post-produc-ción. Proyectos como Jahshaka [8] oCinelerra [9] podrían en un futuro termi-nar con esas lagunas, permitiendo así a losestudios que todo el ciclo del material ge-nerado por ordenador en una película serealizase con Software Libre. �

Animación 3D • PRÁCTICO

37Número 15W W W . L I N U X - M A G A Z I N E . E S

[1] Proyecto Wings3D: http://www.wings3d.com

[2] Página de Blender con docu-mentación y diversos recursos: http://blender.org

[3] K3D (documentación disponible enlínea): http://k3d.sourceforge.net

[4] Yafray: http://www.yafray.org

[5] Toxic: http://www.toxicengine.org

[6] Aqsis: http://www.aqsis.org

[7] Povray (documentación, commu-nidad): http://povray.org

[8] Jahshaka: http://www.jahshaka.org

[9] Cinelerra: http://heroinewarrior.com/cinelerra.php3

Recursos

033-037_3D 07.02.2006 16:41 Uhr Página 37