Número 2 | Enero 2006
¡¡Especial de Animación!! Aprende Blender fácilmente
Tutoriales Esqueletizar una araña Esqueletizar un personaje de juegos Animando plumas en el viento Cómo se hizo ‘La era del vapor’ Cómo se hizo ‘Plumíferos’ Cómo se hizo ‘New Pengueon’ Creando una textura en GIMP
Artículos ¡¡Especial del Proyecto Orange!! Reportaje sobre el Foss.in Revisión del libro ‘Stop Staring’
www.blenderart.org
CONTENIDOS Enero 2006 | Número 2 EDITOR Gaurav Nawani editor_Blenderart@yahoo.co.in EDITORA JEFE Sandra Gilbert manager_Blenderart@yahoo.com
¡¡Exclusiva!! 44
Un vistazo al “equipo del Proyecto Orange”. Entrevista en exclusiva de Sandra Gilbert.
ARTÍCULOS Sandra Gilbert Gaurav Nawani Enrico Valenza Juan J. Peña David Lettier Zsolt Stefan Claudio Malefico Andaur DISEÑO Y GRÁFICOS Gaurav Nawani DISEÑO WEB Nam Pham COPYRIGHT© ‘Blenderart Magazine’, ‘Blenderart’ y el logo de Blenderart son propiedad de Gaurav Nawani. ‘Ask Blentuu’ y el ‘logo blentuu’ son propiedad de Sandra Gilbert. Todos los productos y compañías mencionadas en la publicación son marcas registradas de sus propietarios respectivos. www.blenderart.org
Y más... 34
Detrás de las escenas de ‘New Pengueon’ por Enrico Valenza.
9
Plumíferos, un corto del Estudio Manos Digitales.
16
30
21
Aprende cómo animar plumas en el aire y cómo realizar el rig de un humano y una araña.
EDITORIAL
3
Bienvenidos al segundo número de Blenderart. En este número nuestra atención recae en la animación. La animación es un campo muy grande que abarca gran variedad de técnicas y métodos para añadir movimiento, emoción y efectos a un conjunto sin fin de objetos y personajes.
Sandra Gilbert Editora Jefe
Los últimos meses han sido testigos de la puesta a punto del sistema de animación, haciendo que animar sea más fácil e indoloro incluso para aquellos que somos más torpes. La facilidad a la hora de crear el rig del esqueleto hace menos amenazadora la animación de personajes, tentando hasta a los más cautos de nosotros a hacer nuestros pinitos en animación. Somos muy afortunados de que Blender disponga de tantas herramientas para animación. Existe un método y una herramienta para cada cosa que quieras hacer. Para aquellos que no hayan explorado las capacidades de animación de Blender, aquí mencionaré unas pocas herramientas que podréis tener en cuenta en vuestra aventura en el mundo de la animación:
Modo Pose/Cadenas IK & FK Partículas/Duplivértices (Especialmente con opciones de deflexión y fuerzas) Cuerpos blandos Cuerpos rígidos Simulación de líquidos Patrones de deformación Hay una impresionante lista de características y ahora puedes usar cualquiera de ellas o combinarlas para crear tu próxima obra maestra animada. En este número vamos a cubrir unos pocos de esos métodos y técnicas para que animes. También vamos a introducirte en el ‘Proyecto Orange’ y como tema especial, hemos conseguido una pequeña entrevista con algunos de los miembros del equipo Orange. A título personal, el equipo de Blenderart quiere expresar las gracias a la toda la comunidad de Blender por la cálida acogida recibida y el apoyo a nuestro primer número. ¡Feliz blending!
Creación de claves Manipulación de curvas IPO Deformación de Celosías (Lattices) Curvas y trayectorias DupliFrames
www.blenderart.org
Pregunta a Blentuu
P
Hola Blentuu,
Sólo funciona con polígonos de cuatro lados, ésto es porque internamente utiliza la selección bucle de caras para detectar las caras a ser rasgadas. Si sólo se selecciona un vértice, la arista más cercana al cursor del ratón define la dirección en que se rasgará la malla y que parte se moverá. Hay que tener en cuenta que hay 4 posibles direcciones, así que hay que posicionar el ratón con cuidado.
Tengo una pregunta para tu sección de la revista Blenderart. He utilizado otros programas 3D antes como Maya, Max y XSI y todos tienen una herramienta que te permite dividir un polígono por la mitad. No sé como hacer ésto en Blender. He intentado usar la herramienta Cuchillo para dividir polígonos pero cuando corta, los polígonos de ambos lados del que intento dividir también son cortados.
Blentuu responde
Si tienes un problema o un truco que quieras compartir envía un mail a Blentuu a manager_Blenderart@ yahoo.com
4
Cuando se seleccionan aristas, la zona de rasgado queda definida, por lo que la posición del cursor sólo define que parte se va a mover.
Mi pregunta es; ¿hay alguna forma de cortar un solo polígono? Si es así, ¿Cómo? Espero que mi pregunta aparezca en el próximo número. Gracias por adelantado.
Con sólo 1 vértice seleccionado, puedes ir paso a paso abriendo una costura en la malla; ésto también funcionar por ejemplo con las aristas de una rejilla de la malla.
- Alonso
R
Bueno, la respuesta a tu pregunta es no. En Blender, cortar un polígono creará siempre aristas extra, pero no todo está perdido. Con la versión 2.40, tienes algo de control sobre el número de cortes con la nueva y mejorada herramienta Cuchillo. O puedes usar la nueva herramienta Rasgar Malla (Mesh Rip). La herramienta “rasgar” puede usarse para separar 2 partes de la malla con el fin de crear huecos que serán rellenados con nuevos polígonos. Las reglas para el manejo de la herramienta Rasgar(según las notas de lanzamiento) son: Usar el atajo de teclado pulsando V para activarla (La V se asemeja a una cuchilla :) ). Se pasa inmediatamente al modo de traslación.
www.blenderart.org
P
Hola, he disfrutado leyendo vuestra revista Blenderart, y tengo una pregunta para vuestra sección “Prengunta a Blentuu”. Tengo una aplicación en la que me gustaría emplear Blender, sin embargo, no tengo claro si la siguiente opción está disponible. (Podría utilizar un script de python para mi propósito). ¿Es posible calcular el volumen de un objeto en Blender para calcular su masa? Muchas gracias, Charlie Taylor charlie@sallyandcharlie.com
Pregunta a Blentuu
R
P
5
realizando los tutoriales que se incluyen. Gracias por la revista y espero que tratéis algo de la metodología de trabajo con Blender en próximos números.
Python no es uno de mis fuertes, estuve buscando y descubrí que hay un script de python en desarrollo ahora mismo que haría lo que tú necesitas. Se llama ‘AreaVolume’ y puedes encontrar más información sobre su progreso y forma de uso en los foros de python en: http:// Blenderartists.org/forum/showthread.php?t=49216
Matt
R
Hola Blentuu. Tengo una pregunta que desearía que respondieras en el próximo número de Blenderart. Soy novato en Blender (Lo he usado a tiempo parcial los últimos 6 meses y he realizado los tutoriales de la guía de Blender 2.3 un par de veces). Estoy en ese punto en el que el programa empieza a ser familiar y puedo seguir los tutoriales bastante bien. Tengo formación científica y así es como trabajo normalmente, como si estuviera ejecutando un protocolo de laboratorio (leer el procedimiento, reunir materiales y herramientas, seguir las instrucciones, recoger datos, analizar los datos y escribir un informe). Ahora, sin tener ninguna educación artística formal he pensado sobre cuál es la metodología de trabajo en Blender para producir un pequeño proyecto de animación. ¿Siguen los profesionales una metodología general: modelar personajes, añadir texturas e iluminación, crear el rig para animación, crear la animación, renderizar el resultado? Algunas claves para un novato sobre la metodología que usan los profesionales al enfrentarse a un pequeño proyecto serían de gran interés para mí. Me encantó el primer número y estoy entusiasmado
Cualquier metodología que uses se debe adaptar a tu estilo de trabajo. Como se ha dicho, una metodología típica puede ser: A) Planificación. B) Elaboración del guión. C) Bocetos de concepto, quizás crear modelos de arcilla. D) Story Boards (puedes usar únicamente muñecos). E) La siguiente fase se ejecuta añadiendo detalle en sucesivas etapas. Crear los planos y escenas con primitivas básicas, pera obtener una idea del espacio y la escala. Hacer un render rápido con iluminación y colores básicos para evaluar el ritmo de la escena. F) Modelar versiones de la escena con pocos polígonos, refinar el color, la iluminación y el ritmo de la escena. Añadir diálogos y sonido de prueba. Añadir progresivamente más detalles, materiales y texturas, iluminación, afinar el ritmo y el sonido. G) Render final. Esta forma de trabajar funciona mejor en equipo, con todo el mundo asignado a tareas específicas, pero puede ser modificado para el esfuerzo de una sola persona. -- Blentuu
www.blenderart.org
Noticias
6
Lanzamiento de Blender 2.40
La versión 2.40 de Blender ha sido lanzada con una increíble lista de nuevas opciones que nos mantendrán a todos muy ocupados experimentando y aprendiendo. Aunque hay muchas nuevas opciones, el mayor interés se centra en la mejora y revisión del código de la parte de animación. Con nuevas mejoras en los sistema de cinemática inversa, corrección de paso, patrones de deformación, controles de curvas IPO, Skin weighting y en el rigging, la animación es ahora no sólo divertida, sino mucho menos dolorosa. Las nuevas guías de partículas y las partículas sombreadas han añadido una nueva dimensión a la creación de pelo/pieles/hierba. Habiendo jugado ya con varias opciones nuevas, puedo asegurar que bien vale la pena la descarga. Unas pocas opciones han sido trasladadas, pero no eliminadas. Así que antes de entrar en pánico, mirar
Noticias sobre GIMP
los nuevos modificadores, en los botones de Edición. La mayoría de los efectos como la subdivisión, reducción de polígonos (decimate), onda, construcción (build) etc han encontrado su espacio aquí, así como otras nuevas. Hay también otros excitantes cambios y mejoras en las herramientas de edición de imágenes/ UV. Un nuevo sistema permite visualizar inmediatamente las transformaciones en el mapa UV, mientras nuevas herramientas permiten clonar y “ensuciar” imágenes en el mismo Blender. También se ha añadido la capacidad de importar y exportar archivos TIFF. Las noticias de esta nueva versión han alcanzado ya todos los rincones de internet, incluso ha aparecido en la prestigiosa CGTalk, aumentando la creciente popularidad de Blender. Así que si te has perdido alguna novedad de la versión 2.40, entra en el sitio www.Blender.org y descarga una copia. No olvides leer las notas sobre la nueva versión donde encontrarás valiosa información si no te quieres perder ni una de las nuevas opciones. Existe un seguimiento de errores de toda nueva versión de Blender. En las notas de desarrollo, parece que la semana que viene verá la luz la versión “2.41”: En lugar de la “2.40a” se ha cambiado la nomenclatura a/b y la versión revisada de “2.40” se llamará “2.41”
www.blenderart.org
El equipo de Gimp ha lanzado la última versión corregida de Gimp como la nueva versión estable Gimp 2.2.10 y también han lanzado la 2.36, la versión Beta del próximo Gimp 2.4. A pesar de que la versión estable no añade nada, es recomendable actualizar tu viejo Gimp 2.2.9 o 2.2.8 a la nueva 2.2.10. Para aquellos que busquen jugar con las nuevas opciones de Gimp también pueden bajar el código de Gimp 2.36 del sitio www.gimp.org. Existe también una versión para Windows de Gimp 2.35 disponible en Source forge. Aunque es todavía inestable funciona lo suficientemente bien para experimentar con la nueva estructura de menús, cantidad de efectos elementales por fin incluidos para las herramientas de texto y mucho más. Juega con ellos y recoge información para el equipo de Gimp
Reportaje del Foss.in
Reportaje del Foss.in El Linux Bangalore siempre ha sido un gran evento en India. Siendo Bangalore la capital tecnológica de India, existe un enorme interés en el Software Libre. Este año, al Linux Bangalore se le cambio el nombre y se transformó en el FOSS.in debido a que ha crecido enormemente durante el transcurso de los años; y por la cantidad de público que atrae, ya no es correcto considerarlo simplemente como un evento local de usuarios de Linux.
Día 1 Estuve como un usuario de Blender presentando las siempre crecientes calidad y características de Blender en un stand. El evento fue lanzado por Atul Chitnis, uno de los más destacados defensores del Software Libre (FOSS) en India. Después de escuchar el inspirador discurso de Alan Cox, fuimos a buscar los ordenadores que íbamos a usar para nuestras demostraciones en el stand. Obtuvimos unos ordenadores nuevos del almacén. Y entonces me di cuenta de que tenía un pequeño problema en mis manos: Siendo ésta la primera vez que asisto a un evento de este tipo, ¡olvidé traer una copia de Blender conmigo!. Aunque si grabé en un CD-ROM todas las cosas necesarias para las demostraciones el día anterior. No fue mayor problema de todas formas, pues a nuestro lado estaba el mayor contingente del Grupo de Usuarios de Linux de Delhi y ellos tenían todo lo necesario ;). Luego de una corta espera, comencé la demostración de Blender, usando las animaciones de los recientes ganadores de los premios Suzanne. Lentamente las personas comenzaron a acercarse y a discutir entre
7 ellas acerca de cómo se compara Blender con sus contrapartidas comerciales. No respondí a ninguna de esas preguntas, sino que cambié las demostraciones animadas por arte renderizado en Blender. Las preguntas inmediatamente cambiaron a: ¿Cómo se hizo eso en Blender? ¿Cuánto tiempo tomó crear aquello? Exactamente el tipo de preguntas que estaba esperando responder. :) Las cosas estaban saliendo bien para nosotros, aunque no tuvimos acceso a la red sino hasta que Atul se acercó y nos sugirió que nos moviéramos al sector del “Stand de Expo Negocios”, ya que había suficiente espacio ahí, a la vez que tendríamos acceso a la red. Cuando terminó la hora de almuerzo, ya nos habíamos desplazado hacia allá. Al final del día, la multitud se desvaneció.
Día 2 A la mañana siguiente, en el primer evento, fui invitado a presentarme a mí mismo. Puesto que no tenía nada más que hacer, fuí y atendí mi primer evento del FOSS del día… ejem… ‘LinuxChix’. Después de eso regresé a mi puesto y se me indicó que unos pocos chicos estaban interesados en Blender y estuvieron esperándome algún tiempo. Después de un rato, apareció un pequeño grupo de cuatro chicos preguntando que cosas podía hacer Blen-
www.blenderart.org
der. Les mostré algunas cosas en Blender, el ‘Penguin dance’ de Enrico fue un favorito, del mismo modo, la animación ‘Cycles’. Posteriormente, pasadas las nueve, un grupo de jóvenes se presentó en el stand. Ellos eran del tipo entusiasta, y uno de ellos realmente quería ver cómo se podía llegar a esos resultados. Aquí comenzó mi primera sesión en vivo de Blender y créanme que no estaba consciente de lo útil que fue.
Día 3 Éste fue el día más ocupado para mí. Hice unas 5-6 sesiones de demostraciones en vivo de las capacidades de Blender. Era como si mi stand tuviera un alto rango de “Relaciones Públicas” gracias a los
Reportaje del Foss.in comentarios del público. Sartaj Kang, uno de los desarrolladores de KDE (y algunos otros que estaban divirtiéndose mientras observaban a los grupos) era de la opinión de que debí haber dado una charla completa en lugar de las sesiones personalizadas. Pero luego incluso ellos querían un sesión de demostraciones exclusivamente para ellos. Estuve de acuerdo, pero afortunadamente estaban demasiado ocupados como para atender a una. ;) Al lado de nuestro stand, se encontraba otro de HP. Ellos estaban demostrando una versión de Blender corriendo sobre un servidor X modificado, que estaba haciendo uso de tres monitores para dar la impresión de un ‘escritorio panorámico gigante’ para Blender. Ahí estaba el Sr. Manjunath de HP, con el que discutí varias cosas en las que HP podría ayudar al movimiento del Código Abierto. Aunque como ellos dicen (y con justa razón), una compañía comercial tiene intereses comerciales en mente. Aunque estuvo de acuerdo, al menos en teoría, que HP podría hacer uso de las crecientes capacidades de Blender. La charla luego continuó comparando las características potentes de otros programas comerciales con las de Blender, lo que nos devolvió al desarrollo de características necesarias y cuando le hable de la velocidad actual de desarrollo de Blender, pude verlo emocionado por ello.
8 de trabajo como el importar dibujos mecánicos a través de imágenes de referencia o generar modelos con referencias. Ellos podrían no mostrar precisión, pero mantendrían el interés de los estudiantes en los modelos 3D. También le sugerí otras herramientas de CAD de código abierto. A pesar de ésto, le dediqué de una a dos horas en mostrarle como usar Blender
Día 4 Nuevamente el día comenzó de forma lenta, pero éste sería el día mas productivo de todos. Un profesor de la Universidad de Goa se nos acercó y quería aprender lo básico de Blender de tal forma que pudiera presentar esta herramienta a sus estudiantes. Sin embargo, hubo un problema aquí: él estaba buscando herramientas de CAD que Blender desafortunadamente no ofrece. Le propuse métodos alternativos
y debo decir que él estaba realmente interesado en aprender. Espero que pueda hacer uso de esa pequeña pero buena lección. Entonces se nos acercó Vassem, que era estudiante de ingeniería, que estaba interesado en ver si Blender podía ser usado para su proyecto académico sobre ‘foto geometría’. Conversamos bastante sobre el tema y finalmente estuvo de acuerdo con que el usar python con Blender podría ayudarle. Finalmente conocí una persona bastante interesante: Shree Kumar. Él había trabajado con scripting en Blender, y fue una de las personas que hizo que las demos de Blender corrieran en el Cluster de HP (¿o fue en otra cosa?) y si recuerdo correctamente, fue una de las personas que adaptó el servidor X para que usara múltiples monitores por separado en esa máquina. Más importante, ambos desarrollamos un mutuo entendimiento de que podría usar sus talentos para corregir errores de los scripts de python que estaban fallando en mi máquina. ;) Al final del Foss.in, terminé con la sensación de que el próximo año volveré aquí desarrollando un rol mayor que el de este año. Si Blender consiguió generar una buena cantidad de interés, a pesar haber sido anunciado bastante tardíamente en el calendario de eventos, seguramente habría tenido una presencia aún mejor con una charla formal en el evento, y aún mejor, con un desarrollador que sea amigable y no le moleste hacer demostraciones en vivo. Estoy seguro que Tom (Letterrip) estará asintiendo con su cabeza. ;) -- Gaurav Nawani
www.blenderart.org
TALLER - 3D
9
Plumas cayendo Pág. 1
Tutorial plumas cayendo --por Juan J. Peña/Apollux
Introducción: En este tutorial aprenderás a crear el siguiente efecto: objetos muy ligeros de peso en caída libre hacia el suelo. Dichos objetos tan livianos podrían ser plumas, pétalos de rosa, guirnaldas, etc.
El objetivo Durante un momento especial, nuestra protagonista camina tranquilamente por el campo, atravesando un maravilloso césped verde. El sol brilla, el viento sopla ligeramente, la música es melodramática, y todo el entorno es onírico... cuando súbitamente nuestra protagonista ve una pluma blanca caer del cielo. Ésta cae sobre su palma abierta, luego mira hacia arriba, y ve miles de plumas blancas caer desde el cielo. Ella sonríe, de algún modo, ahora sabe que el conflicto ha acabado y su amado está con vida. Lo descrito arriba debería ser familiar para la mayoría de los lectores... aunque con pequeñas variaciones ha sido usado en muchas películas, juegos, novelas, etc. Este tutorial te dirá como trabajar con las plumas... la protagonista, no es nuestro objetivo.
Qué necesitamos Obviamente, lo primero que necesitamos es una pluma digital (CG Feather). Yo en poco tiempo me hice una creando un plano, cortándolo un par de veces y uniendo los extremos. Obtuve algo así:
Nótese que tiene profundidad (de modo que cuando la ves lateralmente, no ves un plano sin profundidad) y (atención especial a ésto) el centro del objeto está ubicado abajo, no el centro de la pluma. Asignarle un buen material blanco sería genial, y si la texturizas con la imagen de una pluma y con el alfa habilitado, no debería ser tan difícil. Éstos son efectos estéticos, no afectarán en nada a la animación, tan sólo hace que se vea mejor. (Sin embargo, si vas a texturizar, recuerda que debe incluir los canales Col, Nor, Ref, Spec y Alpha para obtener un resultado convincente y no sólo una pluma pintada en un trozo de vidrio). Además necesitamos un buen entorno CG donde tendrá lugar la escena. Para ello creé un plano, lo subdividí un par de veces y levanté algunos puntos para lograr el efecto de un terreno. Luego asigné una material verde, luz apropiada y textura Sky en el panel World. Por supuesto, nos gustaría tener a un protagonista interactuando con las plumas mientras caen (ese es el objetivo de la escena, ¿cierto?); pero eso implicaría además, adentrarse en el modelado y la animación de personajes, lo que se sale de nuestro objetivo en este tutorial. En lugar de nuestra querida dama, usaremos un cubo como nuestro principal actor estático.
Para esta práctica usaremos Plumas como objeto, porque son mas difíciles de animar, además de ser el ejemplo mas completo en comparación de los anteriores. Este tutorial está orientado para los usuarios medios y avanzados. Deberías tener un conocimiento previo de la curvas IPO, Dupliverts y Partículas. Se requiere Blender 2.37.
www.blenderart.org
TALLER - 3D
10
Plumas cayendo Pág. 2
Con todo ello en escena, ya estamos listos para seguir. Por ahora, deberías tener algo similar a esto:
rejilla. ¿Cómo? Selecciona la rejilla emisora (clic derecho en ella) Object | Snap | Cursor | Selection Selecciona la pluma (clic derecho en ella) Object | Snap | Selection | Cursor Ahora emparenta la rejilla a la pluma, activa la opción Dupliverts para la rejilla y agrega un sistema de partículas a ella. Recuerda poner un poco de Z Force negativo, de modo que las plumas caigan hacia el suelo.
Dado que éste es un tutorial sobre animación, dejaré el modelado a tu criterio. Puedes obtener un archivo con la escena lista en el sitio de BlenderArt (incluído en la revista), si no tienes ganas de modelar.
El Primer Instinto Lo primero que se me viene a la cabeza es crear un sistema de partículas, de modo que configura al piso y a nuestro actor estático como deflectores de partículas y deja que Blender haga de su magia.Vamos a explorar este camino. Necesitamos crear un emisor de partículas que debería ir arrojando las plumas; una rejilla de malla debería ser perfecto para ésto. Situar la rejilla emisora fuera de la vista de la cámara y situar el centro del objeto plumas en contacto con el centro del objeto
Lo primero que notarás es que al menos que pongas la opción “Key” en un valor alto, las caídas de nuestras plumas serán erráticas, por decirlo de alguna manera. Se obtienen mejores resultados con el valor de “key” puesto en su máximo valor que es 100, pero aun así, puedes tener buenos resultados con valores como 80 o inferiores. Lo segundo que deberías notar, es que incluso con los deflectores en sus valores máximos, las plumas seguirán deslizándose en el suelo, como si tuviera hielo resbaladizo, eventualmente la mayoría de nuestras plumas se abren camino hacia los bordes y caen al vacío... y eso ¡no está bien!
www.blenderart.org
Lo último, pero no menos importante, es que la detección de colisiones para nuestro sistema de partículas no es muy precisa, muchas plumas caen a través del plano, y luego se devuelven. Eso tal vez estaría bien para las plumas que caen fuera de cámara, pero ésto arruinaría cualquier toma de tipo acercamiento (Close UP). No todo es tan malo desde este enfoque. El sistema de partículas nos permite agregar cierta aleatoriedad para hacer nuestra escena mas auténtica. Específicamente, en el panel Particle Motion, la opción BSpline ponerla de modo interpolado y dando a cada pluma una velocidad de partida aleatoria, de ese modo, la ilusión de lluvia comienza a hacerse notar. Las plumas siguen comportándose de una manera algo falsa, pero llegaremos a ello. Hay que tener un cuidado especial con la opción “Vect”, ya que después de cierto punto, tiende a introducir vueltas de 90 grados en las particulas/plumas. En resumen, me refiero a estas preferencias:
Buscaremos un modo de superar el problema de la devolución de partículas, tratando de mantener nuestro buen trabajo.
º
TALLER - 3D
11
Plumas cayendo Pág. 3
Un mejor enfoque Como dije antes, la aproximación de las partículas para la tarea que tenemos entre manos tiene algunos serios problemas, siendo la detección de colisión, el peor de ellos. Sin embargo, las partículas no son los únicos objetos con detección de colisión. Además tenemos detección de colisión para Soft Bodies y Hard Body dynamics en el Game Engine. Encuentro que la detección de colisiones implementada para Soft Bodies es mas refinada, de modo que usaremos esa. Lo primero que deberías tener en cuenta, es que hay dos modos básicos para el uso de Soft Bodies. Tienes los métodos “Goal” y “Spring”. Sin entrar en detalles técnicos, Goal permite que los objetos sean animados usando los modos convencionales, de esta forma te dará un control casi total sobre el resultado final de la animación. Con el modo “Spring” gran parte de los resultados provienen del sistema dinámico (dynamic system), y de algún modo, tienes menos control sobre el resultado final (aunque usualmente se ve mas realista si se compara con la animación hecha a mano). Por supuesto que buscamos una buena relación entre ambos métodos. Idealmente, necesitamos poder influir en la caída por introducción de transformaciones locales mientras las plumas se están moviendo, pero además, queremos que el sistema se encargue de todas las detecciones de colisiones y cualquier otra fuerza dinámica, como ráfagas de viento que podamos incluir para mejorar nuestra escena. De modo que, ésto es lo que llamo un buen acuerdo: (imagen a la derecha).
Por favor, fíjate en estas preferencias:
1. Hemos puesto la aceleración gravitacional en 9.8 (gravedad real), de modo que al sistema Soft Bodies le estamos diciendo que debería tener en cuenta la secuencia de caída de las plumas. 2. Es de hecho, un sistema “Goal”, así que podemos pasarle transformaciones locales (muy importante como verás), pero... 3. Tiene las opciones “Goal Influence” y “Goal Stiffness” puestas en cero, de modo que la deformación de la malla, vendrá enteramente del sistema dinámico. 4. “Goal Dampening”, ha sido puesto al máximo valor para lograr lo expuesto en el punto 2. 5. Para evitar que la pluma se desforme de algún modo desagradable, usaremos ambas opciones “Edges” y “Stiff Quads” en sus máximos valores posibles. Del mismo modo “G Min” y “G Max” están en cero, sólo para asegurarnos.
www.blenderart.org
Está demás decir que Soft Bodies debería ser aplicado a la pluma misma, en lugar de a la rejilla emisora. Lo que sí se debe decir es, hasta que algunos problemas técnicos en no sean resueltos, Blender no puede hacer Render de partículas “dupliverteadas” con Soft Bodies. Así que por ahora, deshabilita el sistema de partículas y Dupliverts en la rejilla. El modo más fácil de hacer ésto, es “desemparentando” la pluma de la rejilla, y escondiendo la rejilla en una capa sin uso. No borres la rejilla o su sistema de partículas, porque los necesitaremos después. También está de mas decir que el suelo y el actor deberían convertirse en deflectores soft bodies (soft bodie deflectors) para que Blender calcule la colisión de las plumas en torno a ellos. Desde la versión 2.40, el cálculo de colisiones soft body ya no está limitado sólo a objetos tipo Mesh. Ahora las colisiones pueden ser calculadas entre 2 o mas objetos soft body. En otras palabras, no mas plumas que atraviesan la malla.
TALLER - 3D
12
Plumas cayendo Pág. 4
Ten en cuenta que al agregar aquellas colisiones extras, aumenta en gran cantidad el tiempo necesario para los cálculos, así que decidí no hacerlo ahora. Si a pesar de todo, has hecho una prueba de Render con tu primera animación, continúa, pero debes saber que tomará mucho tiempo finalizar cada frame. Del mismo modo, para reducir los tiempos de cálculo, no habilité el suelo como deflector soft body, al menos hasta que algo de magia extra se haga. Tan sólo recuerda volver a habilitar el suelo como deflector soft body, de otro modo, las plumas caerán a través de éste.
Canales Delta del IPO Muy subestimados, pero extremadamente útiles son estos canales del IPO. Delta es una letra del alfabeto griego y es comúnmente usada en matemáticas y física, para representar cuánto varía una magnitud dada, en un determinado tiempo. En palabras simples, mide cuanto cambia algo desde su estado inicial. Blender ofrece IPO Delta channels (canales delta) para Localización, Rotación y Tamaño en relación a los tres ejes. Selecciona cualquier objeto, abre una IPO y mira a aquellos canales cuyo nombre comience con una “d”.
recordatorio, entonces te sugiero ir y volver a leer esos capítulos en la documentación oficial. Ahora, con la pluma seleccionada, selecciona el canal “dRotZ” y dibuja una curva para el movimiento circular. No hagas otras de más. He elegido dibujar una curva simple de 2 puntos. Uno está en (0,0) y el otro en (25,60). Ésto causará que la pluma rote 60º cada 25 frames. Con la curva puesta en modo Cyclic Extrapolation, la pluma se mantendrá dando vueltas para siempre.
Imagen con canales Delta destacados.
Refinando Asumiré que el lector ya tiene conocimientos básicos sobre añadir y editar Key frames en una curva IPO, directamente desde la ventana IPO. Si necesitas un
Ahora que hemos resuelto el principal inconveniente de la detección de colisiones, es hora de empezar a trabajar en los detalles. ¿Has visto alguna vez una pluma caer, o una hoja desprenderse de la rama de un árbol? Entonces sabes que éstas no caen en línea recta, tienen un movimiento oscilante, mientras dan vueltas sobre su centro gravitacional. Ciertamente, podríamos animar esos movimientos a mano usando Motion paths y Rotation key frames, y sería fácil hacerlo con un par de plumas. Pero aquí hablamos de cientos de ellas, pueden ser incluso miles de plumas cayendo, así que necesitamos un modo mas flexible y menos laborioso para lograr nuestro objetivo.
www.blenderart.org
(Captura de imagen de la curva dRotZ ).
TALLER - 3D
13
Plumas cayendo Pág. 5
Antes de ir mas allá, quizás te preguntes, ¿por qué usar “dRot” en lugar de “Rot”? Muy simple, de haber usado “Rot”, eso habría causado que cada pluma rote del mismo modo... todas las plumas, a lo largo del tiempo, ¡habrían tenido la misma rotación! Se habría visto bien en una coreografía de baile, pero eso es precisamente lo que queremos evitar cuando tratamos de simular algo tan aleatorio como una lluvia.
veremos en la próxima página, pero evita este problema si puedes.
El usar “dRot” significa que cualquier rotación que dicte el IPO es añadida a cualquier rotación que la pluma haya dado previamente. Así, si damos a cada pluma un comienzo de rotación diferente, ésta rotación se mantendrá única a través de la secuencia entera, lo que da un resultado más deseable. Continuando con nuestros ajustes, ahora que tenemos nuestra pluma dando vueltas sobre su eje de gravedad, necesitamos agregar el movimiento oscilante que es tan característico de este tipo de objetos. Para ello “dLocX” y “dLocY”, nos serán de mucha ayuda. Dibuja unas curvas IPO como las de la imagen, asegurándote de cruzar la línea Cero un par de veces. Cuando estés listo, pon la curva en modo Cyclic Extrapolation, de modo que el movimiento oscilante se mantenga para siempre.
Captura de pantalla de las curvas dLoc.
Para ambas curvas, traté de mantenerme en +/- 1 unidad Blender en torno a la línea Cero. Cualquier cosa mas allá de eso, hará que nuestro trabajo se vea poco natural. Por supuesto, los valores actuales dependen de las condiciones climáticas que trates de representar y la escala global de la escena. Además deberías asegurarte cuando haces zoom out (alejamiento) sobre la curva, que ésta se quede centrada en torno a la línea cero. Es muy simple dibujar curvas que luzcan bien cuando trabajas en ellas, pero éstas tienden a desviarse progresivamente de la línea Cero. Después de algunas pruebas y ensayos, deberías ser capaz de familiarizarte con ellas, no es difícil, creerme.
Ese es un ejemplo de lo que deberías evitar.
En la captura, puedes ver que la curva dLocX se desvía progresivamente del centro, haciendo que en el tiempo, se haga más difícil predecir en qué punto la pluma haga su próximo movimiento. Esta situación se puede arreglar con técnicas que
www.blenderart.org
TALLER - 3D
14
Plumas cayendo Pág. 6
Más arreglos Si reproduces tu animación frame a frame, te darás cuenta que ahora tenemos un movimiento mas natural en la pluma... ya es hora de pulir mas para los detalles finales. El primer detalle, es que ahora tenemos sólo una pluma. ¿Recuedas la rejilla y su sistema de partículas? Si, la misma que ubicamos en una capa sin uso como vimos en las páginas anteriores. Ya es hora de volver a trabajar en ella. Al igual que antes, emparenta la pluma a la rejilla, y deja que ésta haga tantos duplicados como sea necesario. No temas experimentar con las preferencias. El objetivo ahora es crear tanta aleatoriedad como sea posible. Si haces un Render de la escena tal como se encuentra ahora, verás que todas las plumas no aparecen en él. ¿Recuerdas cuando dije que Blender tiene problemas con los soft bodies “dupliverteados”? Bueno éste, es uno de esos casos. Para solucionar este contratiempo, necesitamos hacer de todas esas plumas “dupliverteadas”, duplicados reales. Selecciona la rejilla y presiona [CTRL]+[SHIFT]+[A] o ve a Object >> Clear/Apply >> Make Duplicates Real. Es natural obtener una bajada de rendimiento después de crear los duplicados reales, porque ahora el sistema soft bodies está haciendo cálculos en cientos o miles de plumas al mismo tiempo.
Vuelve a ver tu animación de nuevo, ¿Está todo bien? ¿No? ¿Las plumas duplicadas siguen cayendo en línea recta? ¡¡Tranquilo!! Cuando haces duplicados reales, Blender no hace copia de la animación creada en el IPO, sino, sólo de las mallas y materiales. Resolveremos ésto seleccionando todas las plumas y asegurándonos que la última seleccionada sea la original (es el objeto activo del grupo). Luego ve a Object >> Make Links>> Object IPO. Si ves tu animación, o chequeas cada pluma en la ventana del IPO, verás que todo está bien. Es hora de hacer una prueba de Render. Desde que las curvas del IPO son sólo una, y éstas están enlazadas a todas las plumas, arreglar cualquier error en los canales IPO, es tan simple como seleccionar una de las plumas, hacer cualquier cambio, y éste se traspasará a todas las otras plumas.
Nota: Dependiendo de lo que quieras lograr, en ocasiones sería bueno pasar por alto el sistema soft body antes de hacer duplicados reales... Para ello retrocede un frame antes de usar el comando “Make Real”. No aconsejo hacer clic en “Disable Soft bodies” antes de hacer copias reales porque, podrías necesitar seleccionar manualmente y volver a habilitarlo para cada pluma. Cuando hablamos de cientos de plumas, no es una tarea simple.
www.blenderart.org
Toques finales ¿Qué tal si añadimos unas cuantas ráfagas de viento suave y quizás un campo de fuerza (Force Field Vortex) en torno al actor principal para hacer una escena mas natural y emotiva? No olvides ubicar algunas corrientes de aire cerca del suelo para hacer que las plumas sigan deslizándose, incluso si han tocado la superficie. Para este caso en particular, son el viento (wind) y el campo de fuerza en torno al actor lo que me ha dado mejores resultados, pero eso es un asunto de gustos personales. Si previamente deshabilitaste la deflexión soft bodies para el suelo y/o el actor, recuerda volver a habilitarla antes de hacer un Render final. En mi experiencia, haciendo Render con la deflexión habilitada, el suelo incrementa en gran medida el tiempo necesario para Renderizar cada frame. En mi máquina, el cambio de velocidad es dramático, yendo desde 17 segundos, ¡hasta 4 minutos por cuadro! Créditos de las imágenes: La pluma texturizada dentro del archivo .blend está basada en la imagen libre de una fotografía que encontré en “Image*After”. (http://www. imageafter.com) Otros sitios en los que podrás encontrar imágenes de plumas con licencia libre son “Stock. Xchng” (http://www.sxc.hu), “morgueFile” (http://morguefile.com) y “Gettyimages” (http://creative.gettyimages.com/source/home/ home.aspx).
TALLER - 3D
15
Plumas cayendo Pág. 7
procedimiento, el archivo .blend está disponible en esta edición de la revista para que lo veas. Hemos llegado al final de este breve tutorial para crear lluvia. Para cualquier comentario, no dudes en contactar conmigo, apollux@apollux-designs.com o, búscame en los diversos foros de Blender en la web. Ooh... a propósito, ¿recuerdas aquella pluma solitaria que cae en la mano de nuestra dama en la introducción de este tutorial? Eso se hace con una path curve normal. Selecciona una de las plumas y emparéntala a una ruta (path) que la guíe hacia la palma de la mano abierta
Conclusión A pesar de todo, tan sólo hemos visto un poco de lo que realmente podemos hacer con esta técnica, y ese fue el propósito de este tutorial. Ahora depende de ti ir refinando, personalizando y mejorando tu idea. Éstos son tan solo algunos consejos de lo que podrías hacer para mejorar tu escena:
rimentar un poco con el cielo, ésto es lo que obtuve en mi animación final (ubicación de la película falta por anunciarse). Llevó nada menos que 14 horas hacer el Render con sus 300 frames, así que ojalá te guste. Si tienes cualquier duda acerca de cómo se hizo algún
Juan J. Peña (apollux) 27 años, estudiante de Arquitectura en la República Dominicana. Ha sido usuario de Blender durante mucho tiempo, y eso lo ha llevado a convertirse en uno de los moderadores del Blender Linux FAQ. En su tiempo libre, él sigue su amada pasión, la fotografía amateur. Antes de volver a entrar a la Universidad para estudiar Arquitectura, fue profesor de Ciencias Computacionales (para niños). http://apollux-designs.com
1. Un cielo animado con nubes moviéndose y cambiando sus tonalidades (hazlo coincidir con la dirección del viento). 2. Mejorar el pasto y la hierba del campo. 3. Aumentar el numero de plumas. 4. Agregar mas variación a las plumas, porque ahora, es la misma pluma copiada una y otra vez. 5. Dividir las nubes de plumas en grupos mas pequeños, cada uno con su propia configuración de IPO. 6. Reemplazar el cubo con un personaje animado. Después de agregar algunas ráfagas de viento y expe-
www.blenderart.org
TALLER - 3D -
Esqueletizado y animación de personajes - Pág. 1
Esqueletizado y animación de personajes -- por David “IPKnightly” Lettier Introducción Dotar de movimiento los elementos de tu juego es indispensable para lograr una inmersión total. Algunos objetos como rocas, vegetación, edificios, etc. pueden y deben ser estáticos, sin embargo, tu personaje principal y los personajes no-jugadores(1) que lo acompañan (entre otros elementos artísticos que forman parte del juego) necesitan poder moverse de forma realista para atrapar la mente del jugador y sumergirlo dentro del mundo virtual que estas creando. Para ayudar a tus personajes a moverse, primero debes familiarizarte con la terminología o “jerga” implícita. Animación, ya sea 2D o 3D, consiste en crear una secuencia de cuadros o imágenes que cambian sutilmente a medida que se avanza en la cuenta del número de cuadros o imágenes. Mostrando estas imágenes en rápida sucesión creamos la ilusión de animación o movimiento. Se denomina Cuadros Clave (Keyframes) a aquellas imágenes particulares que definen una posición o punto en el espacio y de las cuales partirán las interpolaciones. En otras palabras, los Cuadros Clave representan un cambio sutil o abrupto en el movimiento de nuestra animación. Pongamos como ejemplo que estás animando una bola que rebota. Para ésto necesitarás crear tres cuadros clave: uno en el aire, uno cuando la bola golpea el suelo y otro en el aire nuevamente pero ligeramente más abajo que antes. Sin embargo nos faltarían imágenes entre cada Cuadro Clave(2); lo que solucio-
namos mediante la interpolación. Interpolación es “el método mediante el cual se construyen nuevos datos a partir de un discreto número de datos conocidos”. En el ejemplo de la bola, definimos la posición/ posiciones/cuadros en los que la bola necesita estar basados en los cuadros clave de inicio y fin. Mediante el uso de interpolaciones, no necesitamos definir/ crear cada cuadro de la animación como la haríamos en animación 2D. La animación vértice por vértice (o animación de transformación de objetivo) se usa para dotar de movimiento a las mallas (y similares) de los personajes. Moviendo los vértices individuales de la malla en cada Cuadro Clave, se puede lograr movimiento realista interpolando cada vértice entre Cuadros Clave. Skeletal animation (animación mediante esqueleto) usa huesos o sistemas de armadura con cada hueso asignado a un grupo de vértices. Éste proceso de asignación de huesos a grupos de vértices se denomina “skinning” ya que consiste en colocarle a los huesos la piel (skin) que es en este caso nuestra malla. De manera que al mover los huesos, movemos también los grupos de vértices que les hayamos asignado. Definiendo la posición de los huesos para cada Cuadro Clave, los huesos y sus grupos de vértices son interpolados entre Cuadros Clave. Una desventaja importante de la “animación
www.blenderart.org
16 esquelética” es la pérdida de control preciso sobre la posición de los vértices en cada Cuadro Clave. También la malla no siempre se deforma correctamente, como por ejemplo en la contracción de un bíceps al mover el hueso del antebrazo. Por otra parte, la animación “per-vertex” consume mucho tiempo ya que se debe definir la posición de cada vértice individualmente, sin embargo ofrece un control más completo. Para este tutorial usaremos animación esquelética. Comencemos por abrir Blender, presiona la tecla [A] luego [X] y finalmente haz clic en “OK>> erase selected object(s)?” para eliminar la cámara, lámpara y cubo suministrados por defecto. Presiona [1 del teclado numérico] para cambiar a la vista frontal. [Shift-F1] para añadir a tu actual archivo Blender el archivo suministrado junto a este tutorial. Encuentra el directorio donde colocaste el archivo suministrado. Haz clic en el archivo .blend y busca la sección Object. Cliquea Object, luego Joe y luego “Load Library”. Tu pantalla debería ser parecida a la de abajo.
TALLER - 3D -
Esqueletizado y animación de personajes - Pág. 2
Como siguiente paso asegúrate de que el cursor esté centrado en el área pélvica de “Joe” desde las vistas frontal y lateral. [Barra espaciadora] Add>>Armature. Ésto creará una nueva armadura o sistema de huesos para nuestra malla “Joe”. Deberías tener algo muy similar a la imagen siguiente.
Ahora comenzaremos a construir un sistema de esqueleto muy similar a la siguiente imagen.
Para hacerlo, con la herramienta extruir presionamos la tecla [E] OK?>> Extruiremos segmentos de huesos (empezando por el hueso de la pelvis) para crear un hueso para el pecho, el cuello y la cabeza. Ahora coloca el cursor en el área del hombro y presiona [Barra Espaciadora] Add>>Bone y comienza a extrudir huesos para crear los tres correspondientes al antebrazo, el brazo y la mano. Duplica ésto para cada brazo (dos en total). Recuerda guiarte por tu imagen de referencia. Una vez finalizado con ésto, coloca el cursor sobre el área mas alta del muslo en la malla para crear el hueso del muslo, luego el de la espinilla y el pie de la misma forma que lo hiciste con los brazos. Ahora coloca el cursor (observando el modelo desde la vista lateral, [Tecla 3 del teclado numérico]) y agrega un nuevo hueso para los dedos de los pies. Asegúrate de agregar uno para cada pie. Ok, ahora que la disposición básica de nuestro sistema de esqueleto está completa es el momento de “emparentar” y “nombrar” ciertos huesos entre si para crear una jerarquía. Estando aún en modo de edición para los huesos presiona [F9] para que aparezcan los botones del modo edición (en caso de que no estuvieran ya ahí). Busca Armature Bones>> Selected Bones en la ventana de botones. Asegúrate de seleccionar
www.blenderart.org
17 todos los huesos con [A]. Para hacer la explicación más sencilla haz coincidir el nombre de tus huesos (bones) y padres (parents) con los de la imagen siguiente. Observa, que es una típica convención de notación agregar “_R” o “_L” para cada hueso derecho (Right) o izquierdo (Left ) respectivamente.
TALLER - 3D -
Esqueletizado y animación de personajes - Pág. 3
Recapitulando hasta este punto, hemos añadido nuestro objeto “Joe” a la escena, hemos creado una disposición básica para nuestro sistema de armadura humanoide, y hemos asignado el nombre y el ancestro (o padre) de nuestros huesos. A continuación asignaremos grupos de vértices al sistema de armadura por medio del proceso denominado pintura de pesos “weight panting” en inglés. (ver cuadro).
to>> Armature y entonces Create Vertex Groups?>> Create From Closest Bones. Con los huesos emparentados a la malla, selecciona sólo la malla y entra en el modo de pintura de pesos (Weight painting mode). Deberías ver algo similar a ésto:
“Weight painting” o pintura de pesos en Blender, es el proceso por el cual pintamos los vértices de nuestra malla para asociarlos con sus respectivos huesos asignándoles al mismo tiempo un valor o influencia. El color de la pintura que utilicemos sobre los vértices servirá para indicarnos el valor de peso o influencia que el hueso tiene sobre el vértice; siendo el peso o valor del color azul 0.0 o ninguna influencia, mientras el rojo indica total influencia (peso 1.0). Ver la imagen de abajo.
Ensayo y error será la técnica elegida hasta que te familiarices con las mallas y la pintura de pesos en general. Teniendo seleccionada la malla [Botón Derecho del ratón] selecciona la armadura que creaste, con la tecla [Mayúscula] mas [Botón Derecho del ratón]. La malla debería verse rosa obscuro mientras la armadura rosa claro. Ahora con ambas seleccionadas, presiona [Ctrl+P] Make Parent
18 de pesos en el panel Links and Materials>>Vertex Groups en la ventana de botones. Para pintar la influencia o valor de peso, [Botón izquierdo del ratón] sobre la malla en en la vista 3D. Mientras pintas sobre la malla notarás que los vértices son coloreados bien sea de rojo, verde, azul; o un color de aquellos basados en el valor de peso indicado en “Paint” en nuestra ventana de botones. Los colores nos indican la influencia que tiene el hueso sobre los vértices. Para la mayoría de las aplicaciones pintar en rojo parece ser suficiente, sin embargo podrías encontrar excepciones. Finalmente en lo que concierne a la pintura de pesos (o grupos de vértices en general), podrías encontrarte con lo que se conoce como “pellizcado” (pinching), áreas donde muchos vértices están asignados a varios huesos creando deformaciones exageradas. Ver imagen de abajo. Para corregir ésto, remueve los vértices que no deberían moverse con el hueso que estás rotando. Nuevamente ésto debería ser principalmente cuestión de ensayo y error.
Serán raras las ocaciones en las que no debas cambiar los vértices seleccionados automáticamente por la opción “Create From Closest Bones” (crear a partir de los huesos más cercanos). En la mayoría de los casos tendrás que al menos seleccionar o remover algunos vértices de los grupos de vértices. Algunas veces es incluso mejor borrar todos los huesos seleccionados pintando sobre los vértices con un peso de cero y opacidad máxima. Como dijimos antes, la pintura de pesos puede ser considerada un poco como un arte. Escoger cuáles vértices pertenecen y cuáles no a cada hueso puede ser algunas veces un trabajo duro. Selecciona el hueso con el que te gustaría comenzar la pintura
www.blenderart.org
TALLER - 3D -
Esqueletizado y animación de personajes - Pág. 4
Finalmente llegamos a la parte divertida, el modo de pose o la verdadera fase de animación. Selecciona la armadura [Botón Derecho del ratón] y entra en el “Modo Pose” (Pose Mode) seleccionándola del mismo menú desplegable donde se encuentran el modo de edición y el modo objeto. Tu pantalla debería verse como ésta.
Antes de comenzar, selecciona el hueso raíz o hueso de la pelvis [Botón Derecho del ratón] y rótalo con [R]. Ésto rota toda la malla/armadura. Si ves que uno o varios vértices no se desplazan con la rotación de la malla tendrás que seleccionar la malla y regresar al modo de pintura de pesos para asignar estos vértices a sus apropiados grupos de vértices. Ver la imagen siguiente.
Si en algún momento deseas regresar la armadura y consecuentemente la malla a sus posiciones originales presiona [Alt+R] para eliminar los valores de rotación aplicados en el modo pose. Observa que también puedes seleccionar Rest Pos para retornar a la posición original, sin embargo ésta no permite aplicar ninguna transformación y no es permanente. Mientras se anima es de mucha ayuda pararse frente a un espejo y representar uno mismo los movimientos si es posible (o puedes pedirle a alguien más que lo haga por ti y grabarlo para referencia futura). Para facilitar la explicación haremos una animación ridículamente fácil. Comenzaremos seleccionando el hueso del cuello con [Botón Derecho del ratón] para luego presionar la tecla [I], selecciona entonces la opción Insert Key>> LocRot. Verás aparecer un cuadro clave para el hueso del cuello en el editor de acciones. Ahora adelanta 10 cuadros presionando la tecla [flecha hacia la derecha del teclado numérico]. Rota el hueso del cuello unos 30 grados (haciéndolo mirar hacia arriba) e inserta otro cuadro clave como hiciste antes. Regresa al cuadro número 1 presionando la tecla [flecha hacia la izquierda del teclado numérico] y presiona [Alt-A] en la vista 3D. Si lo hiciste todo correctamente, deberias ver la malla mirando arriba hacia el cielo. Ver la imagen de la derecha.
www.blenderart.org
19 Ahora vayamos a los botones del motor de juego o Logic [F4] buttons. Crea exactamente lo que ves aquí. (observa que la accion o AC se llama “look_up” o mirar hacia arriba en español) . Ver imagen de abajo.
Una vez hecho ésto y con el cursor sobre la vista 3D, presiona la tecla [P] y después [Enter], ignora el mensaje de error (no correct) de la cámara. Si hiciste todo correctamente, deberías poder presionar y sostener la tecla [L] haciendo que el personaje mire hacia arriba. Como práctica puedes crear otras animaciones: agitar una mano o un ciclo de marcha.
TALLER - 3D -
Esqueletizado y animación de personajes - Pág. 5
Reflexiones finales Para juegos de vídeo, la mayoría de las animaciones serán simples y estáticas (sin desplazamiento del personaje). Sólo cuando se traiga la animación al motor de juego se cambiará la posición de la malla mientras se ejecuta la animación para crear la ilusión de caminata.
20
*(1) NPCs (non-player character) en el texto original. Son los personajes que no controla el jugador. *(2) En animación tradicional se denomina a estos cuadros inbetweens o tweens.
Para las cinemáticas del juego, animaciones mas complejas serán obviamente requeridas. Recuerda que cuantos más cuadros tenga tu animación entre cuadros clave mas lenta será y viceversa. Si mientras animas encuentras que los huesos están demasiado torcidos o difíciles de trabajar, puedes eliminar la rotación del hueso en ese cuadro y reposicionarlo. He hecho todo lo posible para suministrar información correcta, sin embargo, si encuentras algún error por favor contáctame. No me considero un experto, por lo tanto si piensas que algo puede hacerse de forma diferente sigue adelante y hazlo de la forma que te sea más cómoda, yo sólo proveo esta información como ayuda más que como un dictado.
ENLACES Puedes encontrar el archivo .blend en http:// www.cgartwork.com/dcl/characteranimation. blend y una película en formato AVI de una animación más compleja en http://www. cgartwork.com/dcl/characteranimation.avi
www.blenderart.org
David Lettier es un desarrollador de juegos aficionado, practicando y mejorando sus habilidades desde 2004. Siendo un “lobo solitario” David es un programador, animador y diseñador de sonido autodidacta. Si quieres contactarlo para hacerle un comentario/pregunta/sugerencia y/o unirte a su causa utiliza la siguiente dirección de correo electrónico: dlettier@gmail.com
Taller - 3D
21
Esqueletizado de una araña - Pág. 1
Esqueletizado de una araña en Blender
contiene una araña modelada específicamente para este tutorial y que usaré como ejemplo. (Incluído con este número de Blenderart).
--por Gabriel “gabio” Beloin
Algunas cosas básicas antes de iniciar Vamos a hacerle un “esqueleto” a una araña de apariencia real. La mejor forma de partir es obteniendo algunas fotos reales de nuestro objetivo. * Es una araña real, que tiene 8 patas. * El cuerpo está hecho de 2 partes redondeadas. * La cabeza tiene 2 mandíbulas. * Es simétrica. Construiremos un esqueleto para este pequeño bicho. Durante este proceso es importante tener en cuenta que nuestro objetivo debe ser algo sencillo de usar y que nos ayude a hacer unas animaciones que se vean bien sin mucho esfuerzo. Es importante pensar un poco acerca de esto, ya que puedes ser el que use este rig. Debe ser lo suficientemente simple, y a la vez, ser capaz de darte un montón de posibilidades.
Armando un esqueleto para la araña Ahora echémosle un vistazo al archivo .blend que
Partamos agregando un hueso o armadura a la escena. ADD >> Armature. Ahora estás en el Edit Mode (Modo de Edición) editando el nuevo hueso recién añadido. Hay un hueso donde está el cursor. Selecciona el hueso haciendo clic con el botón derecho del mouse en el medio de él (el cuerpo). Ésto seleccionará tanto la raíz como la punta del hueso. Y ahora puedes mover este hueso donde quieras. El hueso está conformado de la raíz, que es la ‘bola’ inferior, el cuerpo que es el ‘octaedro’ y la punta,
www.blenderart.org
representada por la ‘bola’ superior. Mueve y gira este hueso de tal modo que quede en la cabeza de la araña, el centro de este personaje: Este hueso tendrá un nombre, lo llamaremos “Head”
(Cabeza). Para darle un nombre, presionamos [F9] y veremos algunos paneles que nos serán de utilidad. Lo que estamos buscando está en el panel de “Armature Bones” (Huesos de armadura). Si la cabeza del hueso está seleccionada, verás unos botones bajo “selected bones”. Estará el campo “BO:” que te permitirá cambiar el nombre de este hueso de “Bone” a “Head”. Para ver el resultado en la vista 3D, activa el botón “Draw name”. Está en el panel “Armature”.
Taller - 3D
22
Esqueletizado de una araña - Pág. 2
Sigamos agregando huesos En una vista lateral, (que obtendremos presionando el botón [NumPad3]) escoge la raíz de “Head” y agrega un nuevo hueso por extrusión, usando la tecla [E]. Ahora tienes 2 huesos cuyas raíces están ubicadas en el mismo punto. A este hueso, cámbiale el nombre a “Abdomen”. Haz que este hueso quede emparentado con “Head”, escogiendo el hueso “Abdomen” y en el panel “Armature Bones” donde dice “child of:” escoge en el menú desplegable, el hueso “Head”. Es tiempo de pensar como jerarquizar el esqueleto (Ver el ejemplo a la derecha). Se puede emparentar un hueso a otro. Esto significa que el hueso “hijo” hará lo que el hueso “padre” haga. Esto da la habilidad de construir esqueletos sólidos. Por ejemplo, si mueves el cuerpo las patas lo seguirán. Es importante saber qué dependerá de qué. Una forma general de construir un esqueleto es partir con un “hueso maestro”, que será el hueso “padre” de los huesos restantes. Ésto es importante en el caso de que necesites mover el modelo completo: Sólo
necesitarás mover el “hueso maestro” y será suficiente. Generalmente llamamos a este hueso el hueso “Raíz” (Root). Agrega un nuevo hueso mientras estás en modo edición (Edit mode) con “Add>Bone” y ponle por nombre “Root” y colócalo en algún lugar lejos del personaje (Por debajo es un buen sitio). Puedes emparentar el hueso “Head” al hueso “Root”. Sin embargo existe un método más eficiente. Escoge el hueso “Head” manteniendo presionado [Shift] y después el hueso “Root” de tal forma que quede activo, y suelta la tecla [Shift], entonces presiona [CTRL-P] y escoge “Keep Offset”. La opción “conected” que aparece es otro tipo de relación. Básicamente es una relación “padre-hijo” pero la raíz del hueso “hijo” seguirá la punta del hueso “padre”. Ésto te permitirá crear cadenas de huesos como los huesos de tu brazo. Si levantas tu brazo, los dedos le siguen ¿No es así? Ahora deberías tener algo parecido a lo siguiente:
Ahora haremos el esqueleto de las 8 patas. No te preocupes, existe una forma de hacerlo con sólo la mitad del esfuerzo. Dado que la araña es simétrica, es posible indicarle a Blender que, mientras nosostros
www.blenderart.org
hacemos una mitad, la otra mitad se haga de forma automática. Ve al panel de botones y activa el botón “X-Axis Mirror Edit” (Edicion Espejo eje X). Presiona [Numpad3] para activar la vista lateral y escoge el hueso “Abdomen” y cópialo usando [Shift-D]. Ésto te dará otro hueso con la misma relación de parentesco que tiene “Abdomen”, “Head”. Muévelo a una de las patas de la izquierda de tal modo que la raíz del hueso quede colocada en la unión de la pata y el cuerpo, y que la punta esté en el medio de la primera articulación visible. Cámbiale el nombre a “Leg.L”. Debe quedar algo similar a lo que muestra la siguiente imagen:
Taller - 3D
23
Esqueletizado de una araña - Pág. 3
Asegúrate de que el hueso también se encuentra en medio de la pata en la otra vista (presiona [Numpad7]). Ahora Usando [Shift-D], copia este hueso para las otras 3 patas. No toques el lado derecho. Ahora, para que Blender haga el espejo de nuestros huesos, debe haber 2 huesos siguiendo el convenio de nombres. Este convenio permitirá a Blender saber lo que corresponde a la parte izquierda y lo que corresponde a la parte derecha de un esqueleto. Los nombres deben finalizar con .L .l .left o .Left, o bien con .R .r .Right o .right. Puede que también aparezca un número (como “name.L.001”). Esto no es problema. Así si tienes un hueso a la izquierda llamado leg.L y aparece un hueso a la derecha llamado leg.R, Blender aplicará el espejo al resto de los huesos correspondientes. Para que ésto funcione vamos a copiar los 4 huesos que hemos hecho y les daremos los nombres adecuados. Escoge los huesos de las 4 patas y duplica los huesos. Mueve las copias, no importa dónde. Presiona [W] y selecciona la opción “Flip Left-Right Names”. Esto cambiará los nombres de Leg.L a Leg.R. Vuelve a
seleccionar los 4 huesos originales (.L) y muévelos un poco. Los 4 nuevos huesos obtendrán sus posiciones reflejadas. Genial ¿no? (Mira la siguiente imagen).
copiará tus movimientos y construirá el otro lado de la armadura junto con el tuyo. Una vez hecho ésto, es necesario recalcular la rotación de todos los huesos para asegurarse de que están hacia arriba. Para ello, escoge todos los huesos y presiona [CTRL-N]. El resultado comenzará a verse bastante complejo, mira la imagen a continuación.
Ahora ya puedes empezar a extruír todos los huesos de la izquierda para llenar las patas. Ten en mente que faltan 4 huesos más por pata. Asegúrate de que los huesos están en el centro de la geometría mirando sus posiciones en la vista lateral y superior. Cada unión debería estar donde la geometría de las patas sea más estrecha. Los nombres se generarán de forma automática y estarán bien. A medida que progreses, notarás que Blender
www.blenderart.org
Taller - 3D
24
Esqueletizado de una araña - Pág. 4
El modificador de Esqueletos Cuando hayas terminado con los huesos, comenzaremos a preparar la malla para unirla al esqueleto que hemos creado. Para hacerlo, hay que abandonar el modo de edición. Presiona [TAB], y luego selecciona la araña, entonces presiona [F9] para que Blender nos muestre los botones de edición y buscamos el panel “Modifiers”.
En el archivo Blend de la araña, ya hay un modificador activo, que es el “SubSurf”. Presiona el botón “Add Modifier” y escoge la “Armature” que aparecerá en la lista. Busca el botón que contenga el nombre “OB:” y haz clic sobre él. Ahora tipea en este espacio el nombre “Armature” (Sin comillas), que es el nombre de nuestro esqueleto. Ahora, cuando seleccionas el esqueleto y entras en el “pose-mode” (modo de poses) [CTRL-Tab], al mover un hueso debería moverse algo de la Araña. Pero en general ésto llega a estar bastante lejos de ser perfecto.
Aquí es donde comenzamos a ajustar la envoltura. De vuelta al Botón Edit, en el panel de Armadura, habrá un botón “Envelope” (envoltura). Activándolo veremos y ajustaremos estas envolturas. Básicamente definen un área de cada hueso donde la geometría seguirá al hueso. Cambiar el área para un ajuste mejor, se logrará haciendo la selección de un hueso y escalando la zona con [ALT-S]. También es posible el ajuste de las envolturas de la armadura en EditMode (presionando [Tab]) y hay generalmente otras opciones, como escalando la punta o la bola raíz. Al principio las envolturas serán parecidas a ésto:
Ajustar la zona para tocar toda la geometría, aún mezclando cada zona dentro de otra de forma adecuada, es difícil. Es posible visualizar el resultado del escalado de la zona en pose-mode: Mueve un hueso, si hay algunos vértices que no lo siguen, escala la zona un poco hasta que veas los vértices moverse donde deberían estar con el resto del grupo de vértices. www.blenderart.org
Para algunos huesos como el hueso “Head” o el hueso “Abdomen” no es realmente posible lograr buenos resultados con el método de envoltura para poder mover la malla a su alrededor. Por lo que tendremos que ajustar los vértices que corresponden a estos huesos a mano. Escala la envoltura de estos huesos a 0, para indicar que no usaremos envolturas en estos huesos. En este caso usaremos el otro método que nos provee Blender para ajustar mallas a armaduras: Grupos de vértices (Vertex Groups). Cuando hayas terminado con las patas, nos aseguraremos que la “Head” y el “Abdomen” funcionan. Para ello seleccionaremos la Araña y entraremos en el EditMode. Vamos al EditButton y buscamos el panel “Link and Materials”
Taller - 3D
25
Esqueletizado de una araña - Pág. 5
Ahora puedes agregar un grupo, presionando en el panel el botón “New” dándole por nombre “Head”. Blender, naturalmente, hará corresponder esos dos elementos y usará este grupo de vértices cuando muevas el hueso “Head”. Escoge la geometría para que se vea como la siguiente imágen:
escogiendo uno de ellos y entonces seleccionando el hueso “Root”, y presiona [CTRL-P]. Tendrás que hacerlo uno por uno.
Automatizando algunas tareas tediosas:Limitadores de movimiento Ahora, es posible continuar de esta forma, y animar cada parte por separado una a una; sin embargo sería demasiado largo y tedioso el hacerlo. Agreguemos alguna magia al asunto. Ahora presiona el botón “Assign”. Eso es. El número “Weight” (Peso) es el “peso” que se le da al grupo de vértices al momento de la asignación. Por ahora dejemos ese número en 1. Haz lo mismo para el hueso “Abdomen” y el sector del abdomen, de acuerdo a la imagen de la derecha. Verifica que todo haya quedado en orden moviendo el esqueleto: La malla que corresponde a la araña debe seguirle. De no ser así, vuelve a asignar los vértices que no sigan a su correspondiente hueso e inténtalo otra vez.
Añadamos un IK solver (Solucionador Cinético Inverso) para todas las patas. Ésto nos permitirá animar una pata completa moviendo un solo hueso. Selecciona el esqueleto y ve al modo de edición. Escoge las puntas de todos los últimos huesos de cada pata. Ve a la vista superior (con [NumPad7]) y haz una extrusión de un nuevo hueso de todas ellas. Con todos los nuevos huesos seleccionados, presiona [ALT-P] y escoge “Clear Parent”. Entonces apadrina todos estos huesos
www.blenderart.org
Ahora, antes de proceder a agregar IK solvers a nuestro proyecto, es buena idea asignar limitadores idénticos donde corresponda y luego copiarlos. Te ahorrará tiempo. Para eso agregaremos un limitador de piso a uno de los huesos nuevos que extruimos recientemente, y luego copiaremos este limitador al resto, debido a que son idénticos (Todos los limitadores apuntarán al mismo hueso, que será el hueso de piso o “Floor”) y entonces seremos capaces de asignar cada IK solver, uno a uno, ya que cada hueso apunta al mismo objetivo. Si se hace en el orden incorrecto, puedes arruinarlo todo, ya que al copiar los limitadores, se elimina cualquier otro limitador que haya estado asignado anteriormente. Siempre es mejor crear y copiar los limitadores sencillos (como el limitador de piso) y entonces agregar posteriormente los limitadores especiales (como los IK Solvers) uno a uno.
Taller - 3D
26
Esqueletizado de una araña - Pág. 6
Partamos entonces. Hagamos que Blender nos muestre una vista lateral de la araña (Prueba presionando [NumPad3]) y dupliquemos el hueso “Root” y coloquémoslo a la altura de donde deba quedar el piso. Este hueso no será emparentado con ningún otro y será mejor así. Este hueso será nuestro “Hueso de piso”. Dale por nombre “Floor”, y ve al modo pose. En el panel de botones de edición, presiona el botón “Add Constraint” y luego escoge “Floor”. Debería verse algo similar a ésto:
Una última cosa: Con todos los huesos aún seleccionados, ve al panel “Armature Bones” y apaga todos los botones “Deform” (uno por cada hueso). Haz lo mismo para los huesos “Root” y “Abdomen”, ya que estos huesos no moverán ningún vértice.
Colocándole un valor de 5 a la propiedad “ChainLen” debería corregir el problema de la jerarquía y la línea de puntos naranja debería apuntar al primer hueso de la pata, como corresponde. Repite para cada una de las patas restantes.
Y ahora el IK solver. Ve al modo pose con [CTRL-TAB]. Escoge uno de los nuevos huesos que fueron creados anteriormente, y el último hueso de la pata a la que corresponda este nuevo hueso, presiona [CTRL-I] y escoge la opción “to selected bone”. Ésto agregará un limitante del tipo IK solver al hueso correspondiente a la última pata que apunta al nuevo hueso recién extruido. Si intentas mover el hueso objetivo ahora, notarás que el cuerpo completo se mueve y la línea de puntos naranja se devuelve al hueso “Root”. Ésto es debido a que el IK solver sigue la jerarquía de huesos hasta que llega al de mayor jerarquía posible. Para evitar ésto, puedes usar la propiedad “ChainLen:” que encontrarás en el panel “Constrains” del bloque “IK Solver” en el grupo “EditButton”.
El esqueleto resultante debería permitirte darle poses a la araña de una forma sencilla. Tan sólo necesitas mover uno de los huesos objetivos IK para mover una pata. Además puedes mover la cabeza y las patas la seguirán apropiadamente. Incluso puedes elevar el piso (Hueso “Floor”) o mover el hueso “Root” para mover la araña. Ahora podemos esconder los huesos que no nos servirán para una cierta animación. Para ello, escoge todos los huesos que no vayas a usar cuando animes, y presiona [H]. El resultado puede ser semejante a ésto:
Ahora indícale a Blender que el OB: para usar como objetivo sera “Armature”. Entonces aparecerá un nuevo campo, que contendrá “BO:”. Colócale a ese campo el nombre del hueso que usaremos como piso; en este caso “Floor”. Es hora de copiar ésto a todos los huesos recientemente extruidos. Selecciona todos estos huesos y al final selecciona el hueso que dejaste con el limitador “Floor”. Presiona [CTRL-C] en la vista 3D y escoge la opción “Constraint”. ¡Tada!
www.blenderart.org
Taller - 3D
27
Esqueletizado de una araña - Pág. 7
NOTA: Revisa los archivos que corresponden a este tutorial en el sitio de BlenderArt.Uno de ellos contiene poses prearmadas como las que se ven en las imágenes de la izquierda.
Escalando una pared...
Algo la molesta... Gabriel Beloin
(gabio) proviene de Sherbrooke, Canadá. Actualmente trabaja como administrador de redes. Gabriel ha usado Blender durante 3 años, desde la versión 2.26. Está activo en varias comunidades como Elysium, Zoologique y CGtalk, y además es parte del equipo de desarrolladores de Blender como beta tester y programador en python.
Atacando...
¡Ja! Está muerta.
www.blenderart.org
TALLER - 3D
28
Realización de: La era del vapor - Pág. 1
Realización de: La era del vapor --por Zsolt Stefan
Concepto Todas las buenas imágenes tienen alguna historia detrás de ellas. Obtuve la idea de esta máquina a partir de una existente que vi en un “Parque Histórico” local, básicamente, un enorme museo al aire libre. Allí estaba, una enorme bestia de hierro, vieja y oxidada. Pero podrías decir que cuando fue construida, su valor era mucho mayor. Es un móvil a vapor, básicamente un motor a vapor emplazado sobre ruedas, de modo que podrías transportarlo dondequiera que fuera necesario, y hacer funcionar a otras máquinas a partir de él. Apenas lo vi, supe que quería hacer un render 3D a partir de él, así que obtuve el mejor partido de la situación y tomé dos fotografías, una de ellas exactamente de uno de los laterales. Luego, dos más muy cercanas de la superficie metálica. Éstas, luego se utilizaron como imágenes de referencia y texturas.
Modelado Fui afortunado al haber tomado una fotografía de la vista lateral de la máquina, ya que ésto facilitó el modelado. Aquí hay una versión primaria del archivo blend, durante la fase inicial de modelado: vea la imagen de la derecha. Hay un plano en el medio, con la fotografía que tomé insertada en él con UV mapping, de modo que se visualice en la vista 3D. Este plano está escalado hacia los valores correctos de altura y ancho de la máquina. Un paso muy impor-
tante antes de comenzar el modelado, es determinar la escala. Blender utiliza “unidades internas”, no unidades reales, así que para poder realizar una escena realista, tú debes decidir qué significa una Unidad Blender (BU). En este caso, opté por 1 BU = 10 cm, la máquina completa mide 4 mts de largo por 2,4 m de altura. El modelado, generalmente comienza por un plano o un cubo, y luego, a partir de él, comenzar con extrusiones, subdivisiones, y las herramientas de modelado en “loop”. Todo ésto, con ayuda del plano medio mapeado con UV. Como en la mayoría de los motores, se trata de un modelo mecánico; así que apenas utilizo “Subsurf”, así que todos los detalles están modelados a mano. Un pequeño script muy útil que uso a menudo es “Bevel Centre”. Ésto me permite agregar pequeños biselados a los objetos, ya que en la vida real no existen aristas totalmente afiladas. Los biselados capturan la luz, dándole mayor realismo, y agregando desgaste y rasgaduras. Pero ¡Cuidado! Sólo agrega bisel cuando el modelo esté terminado. No hay forma de deshacerlos, y no podrás cambiar el modelo una vez que las aristas hayan sido biseladas. Detalles... Muy importante agregar el “toque final” de realismo de toda escena: añadir los pequeños deta-
www.blenderart.org
lles, éstos son los que aportan realismo a la escena. Aquí hay una vista en primer plano del modelo, con el mallado alámbrico visible. Note las tuercas y pernos, todas las conexiones están modeladas. Sin embargo, algunos modelados, como las piezas en la parte trasera del motor, no resultan visibles en el render final.
Otra vista del motor, desde atrás:
TALLER - 3D
29
Realización de: La era del vapor - Pág. 2
Materiales, texturas
Durante el modelado, siempre comienzo agregando materiales y texturas. La mayoría de las partes metálicas, utilizan metal, un metal oxidado. Ésto se hizo con una sencilla técnica, que utilizo para ocultar texturas repetidas. La forma en que opera es la siguiente: hay dos texturas metálicas similares: la primera es un metal simple, la segunda un metal oxidado, ambas similares en color. Éstas dos texturas provienen de unas fotos muy cercanas que tomé. Ambas están separadas por otra textura, una textura “clouds” con “colour-band” activo. La “colour-band” es mitad blanca y opaca, la otra mitad es blanca y transparente. Entonces se coloca entre las otras dos texturas y se pulsa el botón “Stencil” en “Material settings”, panel “Map To”. Ésto hace que algunas partes de la textura oxidada se vean a través, y algunas no, al azar.
Entonces, se ajustan las propiedades del panel “Map Input” hasta que la parte en donde el metal oxidado visible en el modelo se ve satisfactorio.
de luz, por ejemplo alrededor de la ventana superior izquierda, aunque esto aumentó en varias veces el tiempo de render.
Render Final, post-producción El render final lo hice en tamaño A4 300 DPI, 3636*2657 píxeles, y ésto llevó aproximadamente 15 horas. Como toque final, lo cargué nuevamente en Blender, usando el filtro “Glow” en el “sequence editor” para agregar algo de resplandor a las partes más iluminadas de la imagen, por ejemplo alrededor de las ventanas. Entonces, algunos toques de color y contraste en post-producción dieron esta imagen como resultado final.
Una técnica similar se usó en las paredes del fondo, así como en el piso.
La Escena
Material resultante (imagen de la derecha).
Desde el comienzo, visualicé la gran máquina abandonada en algún tipo de depósito, con apenas una pequeña luz brillando. Lo que sigue es un render preliminar de la habitación. Sólo agregué unos pocos objetos a la escena, para dar un sentido de proporción y realismo, pero no demasiado para no desviar la atención del gran móvil a vapor en el centro. La habitación en sí misma es simple, con unas pocas columnas en la pared del fondo, y algunas ventanas: en la pared izquierda, el cielorraso y la pared detrás de cámara. Éstos son los emisores de sombras. Como un pequeño detalle, las ventanas están rotas. Las Luces: Hay tres luces fuera de la habitación, detrás de cámara, brillando a través de las ventanas, generando sombras mapeadas. Además, se usó “Global Illumination” de Yafray, ésto agregó trazos realistas
www.blenderart.org
Vivo en Hungría, y actualmente estoy cursando Ingeniería en Diseño Industrial en la Universidad de Tecnología y Economía de Budapest. Algunos de mis hobbies son: diseño 3D, por supuesto :), diseño de concepto y producto, ver buenas películas, salir con amigos, postear en Elysiun y otros foros, y dibujar.
TALLER - 3D
Realización de: El Proyecto Plumíferos - Pág. 1
El Proyecto Plumíferos --por Claudio “malefico” Andaur
30
Figura: efectos visuales por “Manos Digitales Animation Studio” para producciones Pol-ka (¡todo hecho en Blender 2,36!)
no relacionados al “CG”, y ésto nos obliga a trabajar en nuestro tiempo libre los fines de semana.
La experiencia de Daniel se basaba principalmente en 3DStudio Max y rápidamente lo convencimos (Muajajaja) de cambiar hacia Blender como herramienta principal de animación. Rápidamente reunimos un equipo de conocedores de Blender (la mayoría de ellos, estudiantes que habíamos formado) y comenzamos a desarrollar un avance (trailer) con los personajes creados por Daniel.
La organización fue uno de los primeros y más duros problemas a resolver.
Introducción En este artículo quisera resumir brevemente la realización del avance (trailer) del Proyecto “Plumíferos”, un proyecto comercial de largometraje de animación 3D que estamos realizando en Argentina utilizando Blender. Este avance fue estrenado durante las conferencias de Blender en Siggraph 2005, y luego fue nominado para el premio Suzanne (Suzanne Award) edición 2005, en el “Blender Art Festival”. Si no has podido verlo, visita http:// www.plumiferos.com. El argumento es acerca de un pequeño gorrión macho llamado “Juan” y una hembra de canario llamada “Feifi” y su camino para encontrarse. Está destinado principalmente al público infantil, incluyen numerosos “gags” cómicos y un trasfondo psicológico para el público adulto. Este proyecto comenzó hace aproximadamente un año, cuando el director y guionista original Daniel DeFelippo contactó con Gustavo Giannini de “Manos Digitales” y conmigo con la idea de realizar una película de animación 3D. Gustavo y yo ya estábamos utilizando Blender y otras herramientas de Código Abierto para crear animación CG y VFX para programas de televisión en vivo, comerciales de TV, y también para enseñar animación de personajes 3D en una escuela local de arte digital.
Aún cuando no éramos un grupo grande enseguida notamos cuán duro sería coordinar el trabajo de todos y ensamblar todas las partes de una vez. A veces se perdía una textura, otras había dos versiones del mismo modelo o diferentes configuraciones de iluminación. Además, todos nosotros teníamos (y aún tenemos) empleos de tiempo completo que atender
www.blenderart.org
Los personajes y modelos originales de Daniel fueron modificados, modelados y texturizados al mismo tiempo que se creaban las escenas para recrear ciertas partes de la ciudad de Buenos Aires donde ocurre la acción. Había muchas cuestiones que abordar. Teníamos personajes con plumas en sus alas, árboles en cantidad, muchos automóviles alrededor, y alas desenfocadas con “motion blur” y las propias limitaciones y salvedades de Blender. Hay que tener en cuenta que usamos Blender 2.36, así que no teníamos las herramientas de animación de personajes que están disponibles actualmente.
TALLER - 3D
31
Realización de: El Proyecto Plumíferos - Pág. 2
Algunas cosas técnicas Debido a que no teníamos máquinas demasiado rápidas disponibles para la renderización, se usaron todos los trucos conocidos para aumentar la velocidad de los tiempos de render. Por ejemplo, series (“array”) de luces negativas para simular sombras difusas u oclusión ambiental, algunos objetos fueron renderizados en capas separadas, otros fueron reemplazados por texturas, etc. Para los árboles usamos tanto el script L-System disponible en Blender.org como Arbaro (http://arbaro.sourceforge.net), la excelente aplicación Java. Hicimos numerosas renderizaciones de un árbol con distintas orientaciones de luz y luego usamos estas renderizaciones como texturas para planos con el objetivo de mantener una baja cantidad de polígonos. Otros efectos comunes como profundidad de campo y neblina atmosférica se crearon usando máscaras blanco y negro para objetos y composiciones en la escena de posproducción, un truco muy conocido por el conocedor promedio de Blender. A propósito de ésto, utilizamos el Método del gradiente (puede leerse acerca de esta técnica en http:// www.elysiun.com/forum/viewtopic. php?t=30959) para crear las máscaras blanco y negro en vez de los típicos plugins Z-Buffer, ésto se hizo de este modo por varias razones, teníamos muchos objetos con texturas alfa así que si hubiéramos usado plugins Z-Buffer, estos objetos se hubiesen renderizado como invisibles. El desenfoque de movimiento (“Motion
blur”) de las alas fue complejo de realizar. El desenfoque de movimiento de Blender era demasiado lento para ser práctico en muchas situaciones, además sólo queríamos desenfocar las alas de Juan, no a Juan en sí mismo, así que hicimos una versión especial de nuestra pequeña ave sólo con sus alas como parte renderizable. Así que se renderizaron numerosos layers manipulando las guías NLA de las alas batiendo para obtener un aspecto más natural en el desenfoque. Finalmente, todas las capas de alas fueron desenfocadas y ensambladas juntas con la capa del ave sin alas. Se agregó desenfoque de movimiento y de zoom adicional en los cuadros finales en el software de composición. El desenfoque de las ruedas de los automóviles se hizo de forma similar. El giro de las ruedas se hizo utilizando un script de phyton. Las plumas se generaron con una herramienta de python desarrollada por nosotros que nos permitió variar las medidas de las plumas a lo largo de un contorno designado. Cada pluma tenía un esqueleto de dos huesos que permitía a las alas curvarse si era necesario. Cada pluma tenía varias restricciones de rotación copiadas, las cuales eran controladas por claves de huesos en el esqueleto principal del personaje, de modo que no fue necesario atender a cada pluma a lo largo del tiempo de animación; sólo animamos las claves de plumas de cada ala. Como paso final, los esqueletos de las plumas fueron emparentadas en los vértices a caras específicas de la malla de las alas, de modo que las plumas siguieran correctamente la
deformación del personaje. La actuación de Juan en la escena de “audición” se hizo usando las funciones NLA y RVK. Todos los movimientos de apertura y cierre de alas se animaron previamente y se combinaron con la animación corporal remanente usando NLA. Nuestra configuración de alas emplumadas funcionó perfectamente en este esquema. El flujo de trabajo habitual para animar esta escena fue hacer primero la animación corporal, luego la animación facial y como último paso, la sincronización labial. Actores argentinos profesionales como Guido Kaczca y Manuel Vicente le dieron sus voces al personaje del ave (Juan) y a la voz “en off” del director en la escena de la audición. El particular desempeño de Guido Kaczca fue clave para inspirar los movimientos faciales y corporales de Juan. Durante nuestro trabajo, encontramos muy útil filmar a los actores durante su desempeño, para imitar algunas de sus gesticulaciones involuntarias. La función “scrubbing” de sonido del Blender se usó exhaustivamente para lograr la apropiada animación de la sincronización labial de Juan. La edición de audio y la música se hicieron en el estudio de sonido Sonomondo, una vez que todas las secuencias fueron editadas apropiadamente.
Notas acerca del flujo de trabajo Para la escena de la autopista, trabajamos primero en una versión “proxy” usando objetos simples que representaban a los
www.blenderart.org
diversos automóviles y personajes. En esta escena enfocamos nuestro trabajo en animar objetos y cámaras a lo largo de trayectorias. La secuencia completa fue dividida en varias partes a partir del “storyboard”, y usando estas escenas “proxy” hicimos un “3D animatics” (guión animado) que renderizamos en OpenGL. Una vez que se hizo y corrigió la animación de objetos y cámaras, las marionetas fueron reemplazadas por los personajes finales. Este procedimiento hizo que el trabajo con escenas largas fuese mucho menos penoso. Realmente, los personajes principales se agregaron en escenas separadas mientras que todos los fondos quedaron en un lugar separado. Al trabajar de esta manera, pudimos enfocarnos en la coreografía del vuelo y las gesticulaciones sin tener que preocuparnos por las transformaciones en tiempo real de la geometría de los fondos. Además, al mismo tiempo que estábamos animando, los personajes estaban siendo modelados y texturizados por separado. Fue necesario diseñar cuidadosamente estrategias de renderización desde el primer día. Es muy importante tener una idea clara acerca de qué puede o no ser renderizado por separado y qué cosas pueden hacerse en post producción, en lugar de intentar renderizar todo desde el principio.
TALLER - 3D
32
Realización de: El Proyecto Plumíferos - Pág. 3
Trabajo y proyectos futuros La realización de estos vídeos fue no solamente una experiencia divertida y emocionante, sino que fue importante comprender las propias capacidades y limitaciones de Blender. La mayoría de los problemas que encontramos durante la producción fueron reportados a los equipos de desarrollo de Blender, y se trabajaron junto con los propios descubrimientos del Proyecto Orange. Creemos firmemente en el potencial y poder de Blender, y las funciones de animación agregadas recientemente, simplemente demostraron que no estábamos equivocados cuando elegimos a Blender como nuestra plataforma principal. Además, durante la realización de estos avances, también usamos Blender para la realización de efectos visuales en programas de TV local en tiempo real, comerciales de TV y otras aplicaciones profesionales con gran éxito. Todavía hay muchas cuestiones a superar para alcanzar nuestra meta de lograr una película de animación 3d plenamente funcional, por ejemplo, estamos en el proceso de creación de un estudio capaz de reunir todos los artistas para que podamos trabajar juntos en un entorno creativo.
Créditos y agradecimientos Por supuesto, ninguno de nuestros sueños podrían haberse convertido en realidad, si no fuera por el continuo y excelente trabajo del equipo de programadores de Blender, descubriendo “bugs” y desarrollando nuevas funciones. No podremos dar las gracias suficientes a todos por
construir una herramienta tan valiosa como Blender. Quisiera agradecer a Chris Want, Roland Hess, y a Martin Poirier, por su ayuda y consejo, y por supuesto a Ton Roosendaal simplemente por ¡ser Ton!.
Scripts en Python: Claudio Dobniewski Claudio Andaur Programación en C/C++ : Felipe Sánchez
Un agradecimiento especial de parte de todo el Equipo de Plumíferos a todas las personas que brindaron su tiempo, esfuerzo y aún prestaron sus máquinas para renderizar, sin esperar nada que no fuera el éxito del proyecto, sin un orden particular: Manuel Pérez, Diego De Gennaro, Iván Hoffmann, Raúl Medina, Alejandro Am, David Teres, Alvaro Vidal, Claudio Dobniewski, Felipe Sánchez, Lorena Maza, Pedro Knigge y Ale Barbesi
El Equipo de Plumíferos Director: Daniel DeFelippo Productor Ejecutivo: Gustavo Giannini Supervisor 3D: Claudio “malefico” Andaur Animadores: Manuel Pérez Daniel DeFelippo Iván Hoffmann Claudio Andaur Modelado, texturas, iluminación: Iván Hoffmann Diego De Gennaro Raúl Medina Claudio Dobniewski Alvaro Vidal Alejandro Barbesi Claudio Andaur
www.blenderart.org
Más imágenes en la página siguiente...
TALLER - 3D
Realización de: El Proyecto Plumíferos - Pág. 4
Claudio “malefico” Andaur
Nací en Buenos Aires, Argentina en 1970 (hombre, ¡me siento viejo!) Soy técnico químico y trabajo con Blender desde la versión 1.80. Enseño Blender en una Escuela de Arte Digital en Buenos Aires, y he escrito documentación de Blender en español e inglés (también he coordinado los esfuerzos de traducción al español y he traducido numerosos documentos disponibles en mediawiki.Blender.org). Hice muchas presentaciones de Blender en comunidades linux y Universidades de Argentina y otros países americanos. Actualmente lidero el Proyecto Plumíferos de 3D y animación de personajes. Tengo una hermosa bebé y una maravillosa esposa.
www.blenderart.org
33
TALLER - 3D
Realización de: New Penguoen - Pág. 1
Realización de : New Penguoen 2.38 --Por Enrico Valenza
Introducción El objetivo de “NEW PENGUOEN 2.38” era intentar reconstruir en Blender el maravilloso comercial de Citroën C4 de 2005. (El Robot bailarín, hecho por Embassy VFX). Me encantó ese comercial cuando lo vi, así que se me ocurrió la idea: ¿no habría sido divertido reemplazar al robot gigante con un gigantesco pingüino? Mientras tanto, el límite de recepción de trabajos para premios Suzanne estaba cerca, así que pensé en enviarlo solamente si es que lograba terminarlo a tiempo. El chiste del pingüino cocinado al final de la animación estaba progresando; así como la frase original del spot era “Nuevo Citroën C4 - Vive con Tecnología”, la frase de la parodia que estaba haciendo sería “ Nuevo Penguoen 2.38 - Cocinado con Blender 3D”. 2.38 fue la versión de Blender con la que trabajé, con todas sus maravillosas características de animación. Después de investigar un poco me enteré que la locación del spot estaba en Vancouver, Canadá, sobre el techo de una oficina postal. Realmente el equipo de Embassy tomó algunas fotos de alta resolución del entorno y entonces las ajustó a la geometría 3D. Eso fue exactamente lo que hice dentro de Blender: la única diferencia que yo no tenía las fotos de alta resolución de Vancouver así que tuve que pintar usando el Gimp texturas detalladas de los edificios y del paisaje. Pero primero tenía que
preparar el ambiente.
El ambiente Existen pocos scripts de Python que pueden ser usados para rastrear una cámara en Blender; sin embargo preferí hacer todo el trabajo a mano. No quería realmente una copia exacta. Así que usé un video AVI de baja resolución del spot original (que encontré en la red) como fondo en una lista de cámara para usar como referencia (una plantilla si se prefiere). OK. Primero se agrega un plano a la escena (Add>>Mesh>>Plane), y se asígna un material con [F5], luego se va a la ventana de texturas con [F6] y se abre el video de animación como imagen, escogiendo la opción “Movie”. Luego se coloca el cursor sobre una ventana 3D y presiona [NUMPAD0] para obtener la visión de la cámara; y ahora en el menú inferior escoge “View>>Use Background Image>>Load Texture” y se procede a cargar la textura del material. Aquí se puede borrar el plano, ya que su propósito fue hacer que la textura sea seleccionada. En este caso, el video AVI de fondo también funcionó como una historieta base. Y así descubrí que el spot completo tenía un tamaño total de 751 cuadros de animación. Comencé por añadir un simple plano para el piso (que en realidad es el techo de la oficina de correos) y algunos cubos para los elementos principales. Mirando a la ventana con la vista de cámara, moví la cámara (seleccionándola y presionando [G]) para
www.blenderart.org
34 igualar la perspectiva. Haciendo unas pocas pruebas, encontré que la profundidad focal usada originalmente fue de 31.0 (Se ajusta el valor escogiendo la cámara, luego se presiona [F9], luego [I]>>Insert Key>>Lens con el puntero del mouse sobre el panel de la cámara que se animará). De este modo, agregando claves IPO a la posición de la cámara y su rotación (se hace presionando [I]>>Insert Key>>LocRot) y siempre haciendo corresponder el video original y los cubos dibujados en Blender, logré hacer corresponder todas las tomas, y al mismo tiempo, logre generar un ambiente casi similar al del spot original. Colocando una esfera en el centro de la escena y haciendo algunos pequeños renderizados, también logré igualar la intensidad de la luz solar. Una lámpara colocada bajo el piso provee un falso efecto de radiosidad.
TALLER - 3D
Realización de: New Penguoen - Pág. 2
35
Generar un renderizado de 751 cuadros tomara un tiempo largo; además, las luces que generan sombras añaden un montón de tiempo, y si tienes una escena muy grande, los datos para calcular el “octree” (N. del T.: Estructura interna de Blender usada para calcular el color de un pixel) debe considerar objetos lejanos (N. del T.: Y de hecho, si los objetos están lejos, o bien la escena es demasiado grande, la generación de cuadros se vuelve increíblemente lenta.). Al final, el tiempo que tomará el renderizado se vuelve enorme, y no es lo mejor tratándose de una animación. Así que mi prioridad fue disminuir los tiempos de renderizado usando cualquier método posible. Aquí desactivé el plano Z de la limitante, logrando de esta forma que el plano de la sombra no se eleve cuando el pingüino salte.
Una forma de hacer esto es permitir que el “octree” calcule sólo la parte principal, o las partes animadas de los elementos en la toma. Esto se hace ajustando los materiales para las partes sin movimiento y las lejanas activando la opción “shadeless” (“sin sombra”, presionando [F5] en la ventana de botones, en la ventana “Material”) y deseleccionando la opción “traceable” (“Trazable”, se usa para calcular sombras) en la ventana “Links and Pipeline”. Cuando se calcule el “octree”, no se tomarán en cuenta los materiales que no sean trazables ni los que no generen sombras, por tanto no habrá sombras que calcular.
Por supuesto, cada sombra y efecto de luz de los objetos que no emiten sombras, deben ser pintadas en las texturas de algún modo. Las sombras que se ven bajo los postes de iluminación y de las papeleras han sido extraídas de un renderizado previo, y la imagen con transparencia alfa ha sido asignada a un plano no trazable para igualar su ubicación.
Pero, ¿Qué sucede con la sombra que arroja el pingüino sobre el piso? Un plano pequeño que sólo proyectara una sombra ha sido limitado a seguir un objeto vacío (Limitante CopyLocation, se obtiene presionando [F7] y el panel es el “Constraints”) el cual está emparentado al esqueleto del pingüino (con [CTRL+P]) y de esta forma seguirá el movimiento del pingüino.
www.blenderart.org
TALLER - 3D
Realización de: New Penguoen - Pág. 3
El edificio principal ubicado entre la izquierda y el centro, también contiene materiales que no arrojarán sombras, pero ha sido modelado (solo para los lados visibles) sólo para incrementar el efecto de perspectiva cuando la cámara se esté moviendo. Luego de modelar, la hemos desarrollado con el script Python “Archimap UV Unwrapper” y el diseño desarrollado fue exportado con el script “Save UV Face Layout”, para trabajarlo con el Gimp.
36 A la izquierda tenemos una captura de pantalla del edificio principal con las texturas y las sombras pintadas. Debajo de las imágenes a la izquierda, tenemos la foto de fondo: Los edificios lejanos y el cielo han sido grabados como capas separadas. y los edificios contienen un canal de transparencia alfa.
www.blenderart.org
TALLER - 3D
37
Realización de: New Penguoen - Pág. 4
El Pingüino El pingüino fue modelado partiendo con un cubo y extruyendo caras, con el usual modelado poligonal (tutorial aquí “Modelando a Bongo”). Realmente ya había sido modelado hace un tiempo atrás, con el nombre de “Pengzilla” (modelado específicamente para probar la nueva característica de softbody).
muy buen Script! Entonces, pinté la textura para agregar algunos detalles mejores. Los materiales acá también son importantes; todo la cabeza del pingüino tenía asignada una textura Oren-Nayar con sombreado Blinn ajustado con limites de color (“ramps”); los límites igualaban el color de la luz de sol y de las sombras de ambiente. Una simple textura generada por procedimientos, asignada como mapa en el canal de normales (botón “Nor” del grupo de botones de materiales), proveyó un efecto falso de dispersión de sub-superficie. Una screenshot de los efectos convertidos en textura de imagen.
Básicamente, el cuerpo tenía 2 materiales distintos, la piel blanca y la piel negra; ambas generadas usando el generador de texturas de Blender, para obtener su apariencia final. El generador de texturas de Blender es una herramienta realmente útil, sin embargo, mientras más las uses, más tiempo es necesario para el renderizado. Mientras que las texturas basadas en imágenes, se renderizan rápido. En este caso, convertí las texturas de procedimiento a una imagen, usando el script “texture baker” de z3r0_d. Este script funciona bien, sin embargo algunas veces se produce un efecto de espejo en algunas áreas de la textura. No fue problema, ya que con un retoque en el GIMP todo fue corregido. ¡Realmente un
www.blenderart.org
TALLER - 3D
38
Realización de: New Penguoen - Pág. 5
Lo siguiente es el esqueletizado y ajustar la malla al esqueleto. (Debo ser honesto: usualmente hago el texturizado, el esqueletizado y el ajuste de malla casi al mismo tiempo, funciona mejor conmigo). Con las nuevas funciones de animación, el trabajo de esqueletizado ha sido tremendamente mejorado; ahora es suficiente con hacer un click en la pantalla para agregar huesos, y asignándole la constante IK a uno de ellos, puedes construir rápidamente una cadena IK. En tan solo unos pocos minutos, volví a hacer un esqueleto para el pingüino y entonces comencé a agregar limitantes a los huesos para automatizar algunas funciones.
[F7]) comprendiendo unos pocos cuadros de animación, para crear efectos automáticos de seguimiento, y de superposición para las áreas de gordura del pingüino. También agregue huesos con la limitante de “Stretch” (estirar) en el área de las piernas para simular un mínimo de músculos estirándose. El ajuste de la malla para unirla a la armadura, se hizo creando grupos de vértices (Ventana de edición, [F9]) lo que tomo más tiempo; de cualquier modo, este es un problema demasiado largo para comentar aquí.
Por ejemplo, le asigné 2 limitantes de acción al hueso “back” (atrás) apuntando al hueso “pelvis”: mientras el huesos de la pelvis puede rotar a la izquierda o a la derecha, el hueso de atrás (hueso “Back”) rota en dirección opuesta para balancear la posición. Además, agregué huesos para la gordura, con limitantes “Locked Track” apuntando a objetos vacíos (“empties”) que deje emparentados a los huesos “root” del esqueleto; los objetos vacíos tenían un emparentado de tipo “Slow” (en la ventana de objetos
www.blenderart.org
TALLER - 3D
39
Realización de: New Penguoen - Pág. 6 rizando toda la escena en OpenGL (Manteniendo presionada la tecla [CTRL] y seleccionando con el mouse el último icono en la cabecera de la ventana 3D, señalado con la flecha roja en la imagen).
La animación no lineal no fue usada en este caso; la animación completa se ejecutó en una toma simple. Usando el spot original como plantilla para las posiciones clave, hice las animaciones usando la técnica del pose a pose. En resumen: asigne posiciones “KeyFrame” (cuadro clave) para el carácter, asigné los valores IPO de la animación a “Constant” (constante) (en el editor de acción presiona [A] para seleccionar todas las “Keys” (Claves o directrices, en este caso), ve al menú “Key” en la cabecera y escoge “Interpolation Mode” -> “Constant”). Esto es para establecer los tiempos de animación. Entonces se cambian las “Keys” a “Linear” y se comienzan a agregar movimientos entre medio, creando también arcos en los movimientos. Luego, se modifican las “Keys” a interpolación “bezier” y se modifica nuevamente donde sea necesario para evitar que las acciones sean las mismas todo el tiempo. En la ventana del editor de curvas IPO, escoge las curvas, ve al modo de edición y modifica las curvas de acción, para ralentizar o acelerar los movimientos simples. Desde luego tuve que arreglar las acciones para que se ajustaran a la forma del pingüino, de forma muy diferente del auto-robot original. Hice algunas pruebas de la animación, rende-
Usualmente renderizo diferentes elementos en pasos separados y luego hago una composición en el secuenciador de Blender ([CTRL]+[FLECHA IZQUIERDA] para cambiar de escenas, o bien el menú SCR: de la cinta superior principal); esta vez complete el renderizado completo de una sola vez. Además, la rápida transición entre el pingüino saltando de forma normal a la forma de pollo rostizado, se hizo cambiando la malla del pingüino en medio de la animación por una copia (Hecha presionando [SHIFT]+[D]) idéntica, pero con diferentes texturas, y asignando cada malla a una capa (Layer) diferente, para poder usar la Key (clave) “Layer” en ambas mallas (I -> Insert Key -> Layer).
activado, ¡el efecto de emparentado lento apenas era visible!. Así que lo volví a renderizar con el efecto desactivado, y exceptuando la primera y última toma (en donde el emparentado lento no era necesario) fue todo lo necesario. Hay un montón de cosas que no se pueden explicar aquí, como por ejemplo: La construcción detallada del esqueleto y el ajuste de la malla al esqueleto, el efecto atmosférico para los objetos 3D, el huevo desapareciendo al comienzo de la animación, muchos consejos de texturizado para incrementar la ilusión de realidad, el pintado de texturas y de los “mattes” de fondo, y podríamos seguir. Tal vez, en el futuro, todo esto (y otras cosas) serán materia de un libro con instrucciones “paso a paso”. ¡Disfruten su tiempo Blendereando!
Sin embargo, el secuenciador fue usado de todos modos para agregar las barras horizontales negras arriba y abajo del encuadre, para agregar el texto al final, y para el oscurecimiento de luz en los lados (sólo para igualar la apariencia del spot del C4). También use el secuenciador de Blender para cargar la música (Hecha con Audacity, que es open source). Encendiendo el botón “Sync” del panel de sonido (Sound Panel), podría observar la animación con audio en tiempo real, y presionando el botón “MIXDOWN”, Blender exportó un archivo WAV perfectamente sincronizado. Y finalmente combine la animación y el audio en VirtualDub.
Conclusión
“New Penguoen 2.38” tomó alrededor de 3 semanas de trabajo en mi tiempo libre, mas 40 horas para el renderizado. El renderizado se hizo a una resolución de 800x600 con el efecto “motion blur” (movimiento difuso, un efecto de velocidad y suavizado de movimiento cuadro-a-cuadro) puesto en el valor de 16 (ubicado a la mitad de la ventana “Render”, [F10]), para descubrir al final que con el “motion blur”
www.blenderart.org
Enrico Valenza (alias EnV)
es un ilustrador freelance y vive en Italia. Aparte de las técnicas de pintura tradicional que ha usado por 20 años, ha comenzado a usar cg con el Gimp y Blender hace 3 ó 4 años. Gracias a Blender, él espera poder progresar al campo de la animación. Recursos The Embassy Visual Effects Inc., que hicieron el comercial original del Citröen C4. Un artículo acerca de Luxology donde aparecía la campaña publicitaria de Embassy Citröen C4, la localización original de filmación en Vancouver. Audacity, VirtualDub, Recursos de documentación de Blender, scripts y plugins de modelado Bongo, y el tutorial de modelado poligonal de Blender.
TALLER - 2D
40
Textura galvanizada - Pág. 1
Elaborando una textura de metal galvanizado en Gimp. --por Gaurav Nawani
Introducción En ocasiones es preferible usar una imagen como base de un texturizado a una textura de procedimiento. Esto se debe a que ésta provee un mayor control sobre la apariencia del modelo en 3D. Buscar una apariencia de metal galvanizado en una textura puede ser un problema, programas de manipulación de imágenes 2D como Gimp pueden ser de gran ayuda en este sentido. Esta vez vamos a aprender a hacer una “textura de metal galvanizado” completamente en Gimp en unos sencillos pasos.
Paso 1 Crea en
Paso 4 Ahora genera los dibujos de hojuelas del
Gimp una imagen nueva [Ctl + N] de una resolución de 400x320. Establece en ella una selección de 320x200 como se puede ver en la imagen. Agrega una nueva capa sobre la capa “Background”. Renombra la capa a “base-color”.
galvanizado duplicando la capa “noise”, sin modificar la selección ve a Filters |Blur |Crystalize y cambia los ajustes como se pueden ver en la imagen, esto creará las hojuelas que dan la apariencia del galvanizado al metal, y a la nueva capa dale el nombre de “cristalize”
Paso 2 Utiliza la paleta de selección de color para escoger un color gris pálido, puedes hacer una réplica de esa configuración desde la paleta color. Ahora rellena la selección sobre la capa “base-color” con este color.
Paso 5 La textura ha quedado con una apariencia muy buena. Ahora duplica la capa “noise” y aplica “Filters | Blur |Gaussian blur” a un valor de 5. Renombra esta capa a “noise blur” y ubícala por encima de la capa “cristalize”. Ahí mismo cambia el modo a “Multiply”. Puedes también ajustar el valor de “layer opacity” a tu gusto.
Paso 3 Guarda la selección y añade otra capa, renómbrala a “noise”. Rellena esta nueva capa con blanco. Ahora aplica los filtros | Noise |Scatter RGB’. Desmarca la opción “Independent RGB”, posiciona los controles deslizantes en el valor 0.28 y presiona OK.
www.blenderart.org
a) Antes de aplicar el filtro Noise
TALLER - 2D
41
Textura galvanizada - Pág. 2 Paso 6 Ya casi tienes completa la textura. Ahora necesitas agregar algo de intemperie para hacer más autentica la textura. Primero asumo que has guardado la selección, si no fuera así entonces haz clic derecho sobre la capa base en la paleta de capas y da clic en “Alpha to selection”. Ahora agrega una nueva capa en la parte superior de la carpeta capas. Entonces ve hasta Filters |Render | Noise y genera un “ruido de plasma de color”
Tu textura de metal galvanizado está lista para ser usada. La imagen que ves aquí abajo ha sido creada con el mismo método y se le han agregado algunos detalles
b) Después del aplicar el filtro Noise
La pila de capas como se vería luego del paso 5.
Como sólo necesitas las variaciones del ruido generado, desatura la capa para eliminar el color. Ve al menú “Layers |Colors |Desaturate”. Cambia el modo de la capa a “Multiply” y ajusta a el control deslizante de “Layer opacity”.
www.blenderart.org
Gaurav Nawani es un artista gráfico en IronCode Software. Es un entusiasta del open source y adora escribir artículos como un autor independiente. Aparte de sus hábitos usuales como fotógrafo y viajero, además cocina frecuentemente ;)
Consejos de animación - Pág. 1 Consejos de animación -- por Sandra Gilbert
Introducción Como cualquier forma de arte, en el fondo, no es la herramienta la que produce el resultado, sino que es el artista con su conocimiento y destreza. La animación no es diferente. Mientras que con variados programas con un montón de buenas herramientas pueden hacer la vida del animador más sencilla, la animación seguirá siendo pobre si no se hace adecuadamente. En la industria de la animación, se ha establecido desde hace tiempo 12 principios básicos para la animación. Pueden encontrarse escritos, re-escritos, y parafraseados por toda la internet. Con el advenimiento de las nuevas herramientas para animación de Blender, es una buena idea revisar estos principios antes de animar. Está bien, he aquí otra encarnación de las reglas doradas de la animación :).
42 De un vistazo, aquí están los 12 Principios Básicos de la Animación: 1.Estirar y aplastar 2.Anticipación 3.Puesta en escena 4.Acción directa y pose a pose 5.Continuidad a través de una acción superpuesta 6.Ralentizar el inicio y el final 7.Arcos 8.Acción secundaria 9.Temporizado 10.Exageración 11.Dibujo sólido (igual o diferente a su Peso) 12.Apariencia
Estirar y aplastar Uno de los elementos más importantes a dominar como un animador. Entrega la ilusión de peso y volumen a los personajes, animación facial y a objetos como las pelotas que rebotan. Además puede ser útil cuando se animan diálogos. Algo para recordar cuando se necesita estirar o aplastar algo, es mantener siempre el mismo volumen. Piensen en una pelota rellena con agua. Si la aplastan, el agua se moverá a distintas partes de la pelota, pero siempre tendrá el mismo volumen. En Blender las herramientas que pueden ayudar mejor con el uso de estas técnicas son las “lattice deformations”, “soft bodies” y las “shape keys” (N. del T.:Estos comandos/modificadores no están en español, por eso se dejan en inglés).
www.blenderart.org
Anticipación La anticipación es el acto de comenzar un movimiento antes de que el movimiento realmente se produzca. Generalmente se considera como un movimiento inverso que precede al movimiento final. Puede ser hecho de forma amplia o sutil. Dependiendo del efecto que se desee lograr, con una anticipación amplia reservada para algún efecto cómico.
Puesta en escena La puesta en escena es el equivalente a la composición fotográfica. Una puesta en escena definirá las acciones claramente. Un uso adecuado de acercamientos, enfoques y tomas de escena completa pueden ayudar a que la audiencia comprenda mejor el tono, estado de ánimo, y la acción de la escena. Asegúrate de planificar tus tomas y escenas cuidadosamente para no confundir a la audiencia.
Acción directa y pose a pose La acción directa se efectúa cuadro a cuadro, permitiendo completo control sobre el movimiento. La animación pose a pose es la que se produce entre cuadros clave y se controla a intervalos de tiempo, permitiendo al computador rellenar automáticamente los espacios intermedios. Ambos métodos tienen sus usos y comúnmente usarás una combinación de ambos. En Blender es sencillo usar animaciones pose a pose usando “keyframes” (cuadros clave) usando los intervalos que desees y entonces ajustar las acciones con animaciones directas cuadro a cuadro, usando la manipulación IPO (o curvas IPO).
Consejos de animación - Pág. 2 Continuidad a través de una acción superpuesta Al observar el mundo a tu alrededor, notarás que los objetos en movimiento jamás se detienen a la vez. En términos de animación de estudio, a esto se le llama “Continuidad a través de una acción superpuesta”. Un ejemplo de esto es cuando el cabello se acomoda una vez que el personaje se ha detenido. O cuando un animal de piel ajustada se mueve: diferentes partes se están moviendo, pero todas a diferentes velocidades y se detienen en puntos distintos.
Ralentizar el inicio y el final El ralentizado de inicio y final suavizará una acción y la hará aparentar mas cercana a lo real. El concepto básico es similar a esto: Tu agrupas cuadros clave (Keyframes) al inicio y al final de cada acción dejando sólo uno o dos cuadros clave en el medio de la acción. Muchos cuadros clave crean acciones más lentas, pero pocos cuadros clave generan acciones rápidas.
Arcos ¿Recuerdas que tu profesor de matemáticas decía que algún día ibas a usar las circunferencias y los arcos?, pues bien, aquí es donde se usan. Muchos movimientos en la naturaleza son con forma de arco. Un movimiento suave semicircular entrega una sensación más natural al movimiento. Prueba levantando tu brazo y muévelo en varias direcciones, ahí notarás los movimientos en forma de arco. Busca movimientos similares alrededor tuyo.
Acción Secundaria Una acción secundaria provee los detalles menores que hacen que una acción sea creíble. El agregar movimientos de brazos a una caminata, movimientos de cabeza y
43 diálogo son todos ejemplos de acciones secundarias.
Temporizado El temporizado puede hacer la diferencia entre una buena y mala animación. Es una de esas cosas que son mejores aprenderlas probando, errando, y por experiencia. Un cronómetro puede ayudar enormemente a entender bien el temporizado. Enciérrate en una habitación y actúa tus escenas, usando un cronómetro para determinar cuándo parten las acciones y cuándo se deben detener. No olvides superponer las acciones de los diferentes personajes y objetos. Haz que un amigo te ayude a practicar estas escenas, en el caso de que se necesite más de un personaje.
Exageración En términos de animación computerizada, es sencillo que tus movimientos queden planos y tiesos. Una exageración menor de los movimientos y características pueden suavizar tus movimientos y hacerlos más fluidos y realistas. Pero cuidado con la cantidad de exageración que uses, a menos que vayas a animar para un tono muy cómico.
Dibujo sólido El dibujo sólido cubre los principios básicos referentes a dar forma, peso y volumen a los objetos. Esto se aplica de forma más tradicional al dibujo animado de celda hecho a mano, pero debe tenerse en cuenta aún para los animadores de gráfica computacional (CG). Asegúrate que tus personajes y objetos tengan la sensación y apariencia de un objeto sólido. Verifica todos los ángulos para asegurarse de que nada ha sido olvidado.
www.blenderart.org
Apariencia A veces nos encontramos tan centrados en la mecánica de la animación que nos olvidamos de la apariencia. En realidad la verdadera razón para hacer una animación es para contar una historia. ¿Es tu personaje creíble? ¿Tendrá empatía con la audiencia?. Esas son preguntas que es necesario tener en mente cuando los personajes son creados. Asegúrate de que tengan personalidad, incluso si son los malos. De acuerdo, ahora hemos cubierto lo más básico del principio de la animación. Te dará las ideas y conceptos para mejorar tus animaciones, pero como todas las cosas en la vida, para seguir adelante es necesario mayor estudio y un montón de práctica
Hola, mi nombre es Sandra Gilbert (alias Dreamsgate). He usado Blender por algo más de 5 años. Actualmente vivo en Nampa, Idaho, Estados Unidos y trabajo como diseñadora gráfica para un pequeño taller de impresión. Estoy casada y tengo 2 hijos, los que no me dejan suficiente tiempo para mi creciente obsesión por Blender. Aunque de alguna forma siempre me las arreglo para encontrar el tiempo para explorar nuevas funciones en Blender, estar al tanto de las últimas noticias e iniciar nuevos proyectos. Alguno de los cuales incluso alcanzo a terminar.
Especial - Entrevista al equipo del ‘Project Orange’
Entrevista by Project Orange b
Por - Sandra Gilbert ¿Alguna vez te has sentado y observado cómo un proyecto o idea literalmente explota sobre la escena? Ahora, para la comunidad de Blender, esto no es algo inusual. Tenemos un largo historial de apoyo a cualquier idea, proyecto comunitario, o campaña de recolección de fondos que venga al caso. Pero, aún con nuestro historial de apoyo, la popularidad y apoyo que se ha reunido alrededor del proyecto Orange, ha crecido a niveles históricos. Noticias referidas al tema han aparecido no sólo en sitios de la comunidad, sino que también han alcanzado sitios que difunden noticias acerca del “Open Source” e incluso ha aparecido como artículo principal de
la revista 3D World en su edición #68 donde el sitio del Project Orange fue elegido como el sitio del mes. Blender, que partió como una herramienta de producción casera, alguna vez gozó de una retroalimentación e interacción inmediata por parte de usuarios y desarrolladores en forma diaria. Con un deseo de recapturar esa sinergia única de desarrollo y un deseo bastante real de desarrollar un software de calidad profesional de animación de código abierto, nació el Project Orange (Proyecto Naranja). La Blender Foundation hizo equipo con Montevideo (Instituto de Artes Visuales de los Países Bajos) para producir y distribuir la animación resultante. Con Montevideo administrando los asuntos legales , tributarios y de contratación; y la Blender Foundation haciéndose cargo del proceso creativo, un nuevo enfoque estaba por golpear a la comunidad de Blender y a apoderarse de nuestra imaginación. Desde una idea básica, pronto apareció un estudio de producción completo. Dos apartamentos fueron arrendados y el equipo fue preparado. Jan Morgenstern y su estudio WaveMage estuvieron de acuerdo
44 con proveer toda la música y los efectos de sonido a disposición para el proyecto. Luego, el Prof. Mark Alan Matties, del Departamento de Ciencias de la Computación del Bowie State University y además director del centro de computadoras BSU Xseed, ofreció la BSU Xseed para poder ser usada como centro de renderizado por el periodo necesario para completar el proyecto de la película abierta Orange. La oferta de un centro completo permitió la inclusión de escenas más creativas, que requerirían mayores tiempos de renderizado, en un lapso de tiempo menor, cosa que permitía cumplir con el calendario de producción. Y mientras toda la estructura organizacional está en marcha, la historia real gira alrededor de un equipo de artistas brillantes, quienes voluntariamente se encerraron en un estudio en Amsterdam para trabajar 16 horas diarias. Lanzándose ideas los unos a los otros, saltando los escollos en el camino y resolviendo problemas, el Orange Team ha estado trabajando duro creando un estilo que será por siempre propio. Cuando decidí escribir este artículo y obtuve el permiso de usar la información del sitio web, pensé que sería simple resumir toda la información que ellos publicaron
www.blenderart.org
en el sitio. Quedó demostrado que ese no sería el caso. Ellos pusieron tal cantidad de información en el sitio que simplemente, no podía condensar todo en un artículo corto. Habiendo seguido el proyecto desde sus inicios, no me había dado cuenta de la cantidad de información que había sido publicada sino hasta que la descargue por completo y traté de colocarla toda en perspectiva. Meses de trabajo han estado siendo publicados para nuestra formación. Su trabajo y dedicación para lograr esto no es sino asombroso. Ellos han presionado las capacidades de Blender, encontrando sus fortalezas y debilidades. De hecho su trabajo y comunicación cercana con los programadores ha hecho que el desarrollo de muchas características de Blender se haya acelerado al máximo, entregándole a la comunidad un nuevo conjunto de herramientas para nuestro deleite y para el uso en variados proyectos. Herramientas como el nuevo sistema de partículas, que hace que la creación de cabello realista sea mucho más sencilla. Y las “shape keys” han añadido una forma mucho más sencilla de hacer animaciones faciales. La lista de nuevas herramientas añadidas a Blender ya sobrepasa lo esperado, por decir lo menos.
Especial - Entrevista al equipo del ‘Project Orange’ Durante los últimos 6 meses su trabajo ha encendido la imaginación de una comunidad entera. Usuarios de Blender alrededor del mundo están probando hacer sus primeras animaciones, inspirados por el Project Orange y la facilidad de uso de las nuevas herramientas de Blender. Hemos estado observando cómo los primeros bocetos se están convirtiendo paso a paso en una película. Las pruebas de las nuevas herramientas, y los informes de progreso nos deleitan con las posibilidades que este tipo de proyectos entregan. Manteniendo el ideal del Open source/Creative Commons, los desarrolladores han compartido libremente cada uno de los pasos del proceso, educando a la comunidad acerca de nuevas técnicas, a medida que ellos mismos las descubren. A medida que las semanas han pasado, ellos han estado probando y refinando cada una de las etapas del proceso. Ahora que han dejado atrás el punto medio del proyecto, los personajes están construidos, los escenarios están definidos, y la temporización básica está en su lugar. Con cada semana que pasa, los escenarios se están refinando y ubicando en su lugar. Todo mientras Jan Morgenstern ha estado trabajando conjuntamente con el equipo para crear la música y el audio para el cortometraje. Mientras se acercan a las últimas etapas de
la producción, el equipo esta presionando aún más fuertemente para tener todo organizado y terminado. La grabación de las voces para los personajes ha sido completada por dos actores conocidos dentro del ambiente alemán: Tygo Gernandt como Proog y Cas Jansen como Emo. Los desarrolladores grabaron la sesión de grabación de las voces, cosa que les dio un muy buen material de referencia para animar las expresiones de Proog y Emo. Desde este punto, el equipo esta ajustando los detalles de cada detalle y dando un buen acabado a todo. Sabiendo lo ocupados que están los miembros del equipo en este punto, decidí intentar obtener una entrevista con el equipo del Project Orange, esperando que al menos uno de ellos tuviese el tiempo de
contestar unas pocas preguntas. Para mi sorpresa, cinco de ellos tuvieron el tiempo de responder. Así que sin mas que decir, aquí esta la entrevista.
45 1.- Aparte de los objetivos oficiales del proyecto, ¿qué es lo que personalemente esperan cumplir u obtener de ésta experiencia? Lee J. Cooks (LohnC): Ah, ésta es una pregunta que tiene un millón de respuestas jeje. Pienso principalmente que trabajar con un equipo en un proyecto ha sido algo nuevo para todos en el equipo, y en la mitad de proyecto hemos estado puliendo nuestras especialidades, y el cómo poder integrarnos bien. Espero y creo que hemos aprendido un montón acerca de formular una idea de mucha gente, y ponerla en práctica. Al final podría decirse que terminamos como hermanos. Toni Alatalo (Antont): Aprender sobre todos los aspectos referentes a hacer una película. Y también conseguir un nivel profesional en Blender y el desarrollo relacionado. Ha demostrado ser divertido también, junto con conocer a un gran grupo de la gente, cosa muy reconfortante considerando muchos aspectos de la vida. Andy Goralczyk (@ndy): Realmente adoraría hacer una película *buena* que no sólo disfrute mirar, sino que también una película que le guste a otras personas. Y realmente espero que éste no sea un corto CG aburrido y promedio, nosotros queremos tratarlo como arte, como verdadera pelícu-
www.blenderart.org
la. Además, apenas deseo poder divertirme en el proceso y aprender… ¡eso es todo! Bastian Salmela (basse): Hmm…metas personales… Diría… aprender cómo hacer realmente una película, como los chicos grandes las hacen, y también sobre de que se trata este programa extraño llamado Blender. Bassam Kurdali (slikdigit): Pasar 6 meses haciendo un corto animado es mi mayor motivación personal más grande; es lo que más desearía hacer con mi tiempo. Más allá de esa meta, diría que el aprender juega una gran parte en mi motivación: convertirme en un mejor animador, aprendiendo de las capacidades substanciales de mis compañeros de equipo, aprendiendo más sobre el hacer una película. Además no
estaría disconforme si el Project Orange me permitiera hacer más fácilmente proyectos similares en el futuro.
Especial - Entrevista al equipo del ‘Project Orange’ 2- Estando ocupados como lo están y tan rápidamente como se están desarrollando las nuevas herramientas, ¿encuentran difícil adaptarse a las herramientas nuevas? Lee J. Cooks (LohnC): Guau, ha sido sorprendente la velocidad de todo últimamente. Muchas veces formulamos una gran idea entre el equipo que podría ser grandiosa para la comunidad y en nuestro flujo del trabajo para la película, se la proponemos a Ton, y él durante la noche ya está trabajando en aquello, y la idea se hace realidad como una nueva herramienta de Blender. Puesto que lo usual es que necesitamos esa herramienta en esa misma semana para continuar con la película, y además la queremos optimizada cuanto antes, muchas de las últimas noches han pasado intentando aprender todas las nuevas cosas en Blender. Admito que intento dominar una nueva herramienta en Blender, pero la mayoría de las veces uno tiene que aprender tanto cuanto sea posible de cómo funciona antes de usarla, ¡y por supuesto la próxima noche una nueva herramienta estará ahí! Tony Alatalo (Antont): Cada día es de aprendizaje… para mí, que soy un tipo de desarrollo de herramientas, la perspectiva es diferente, desde luego… Tengo un montón de tiempo para aprender. Andy Goralczyk (@ndy): Básicamente estamos trabajando con Blender unas 15 horas al día, todos los días, cada semana… así que estamos aprendiendo nuevas cosas a medida que van saliendo. La ventaja es que la mayoría de las nuevas herramientas que aparecen son prácticamente programadas
para nuestras necesidades. Desde luego toma algún tiempo acostumbrarse a todo, pero no ha sido del todo difícil. Es grandioso ver el software evolucionando a medida que lo estás usando. Bastian Salmela (basse): SI!!!... je, pienso que soy el único en el estudio que se queja de que hay demasiadas cosas nuevas apareciendo en el repositorio CVS cada día. Simplemente no tengo el tiempo para aprenderlas todas. Pero, desde luego, éstas son las herramientas que pedimos, herramientas que necesitamos, así que intento aprenderlas lo mejor que puedo. Bassam Kurdali (slikdigit): Nahhh!... OK, bueno, a veces al principio podía probar cada cosa nueva a medida que iba creándose, sin embargo ahora con el calendario es un poco difícil hacerlo. Es sencillo para mí estar al día con las herramientas de animación, ya que soy el que pide al menos la mitad de ellas, y dejo que Andy se preocupe acerca de las herramientas para materiales y renderizado – Ni siquiera he hecho un renderizado de pruebas con el nuevo sistema de capas de materiales, pero me prometí a mi mismo que estaré un tiempo jugando con estas herramientas una vez que el proyecto se termine.
46 mente la mayor de todas ellas es el flujo del trabajo de producción. La idea (como suele suceder en las películas normales) puede cambiar levemente, y mejorarse cada día más y más. Además algunos modelos y esqueletos siempre están trabajándose y siendo reemplazados (algunas veces, debido a una nueva herramienta o característica). La flexibilidad de trabajar con Bassam en mantener todo consistente y mantenerse al día con el siempre cambiante cortometraje, junto con el siempre cambiante programa ha sido lejos la mayor experiencia. Tony Alatalo (Antont): No sé si es la más grande, pero una muy buena lección básica es que en la programación de animaciones no es necesario controlar cuadro-a-cuadro las cosas como sucede en la lógica de un videojuego, sino que las cosas pueden hacerse bien creando curvas IPO, etc. Andy Goralczyk (@ndy): La fuerza principal detrás del proceso de aprendizaje es el he-
3- Hasta el momento, ¿Cuál ha sido su mayor experiencia de aprendizaje en este proyecto? Lee J. Cooks (LohnC): Puedo decir que aquí he aprendido más cosas que las que los dedos de todo el mundo pueda contar en esta maravillosa experiencia. Probable-
www.blenderart.org
cho de que todos nosotros tenemos campos distintos de experiencia. De mis compañeros de equipo he aprendido mucho más referente a la animación, cinematografía, iluminación, modelado, además de los aspectos técnicos del renderizado en este proyecto que en cualquier otro proyecto anterior. Bastian Salmela (Basse): La cerveza en Amsterdam es mucho más barata que en Finlandia, y el agua en Amstel no te matará, sin embargo recuerda bañarte después. Bassam Kurdali (slikdigit): Ésta es mi desobediencia a la autoridad del taller. No puedo decir que he hecho mayores avances hasta el momento, pero espero poder mejorar un poquito. Además estoy aprendiendo mucho sobre la realización de un corto animado de este tipo, especialmente con los problemas básicos que hemos tenido para estabilizar la historia. No creo que vaya a comenzar una producción nuevamente sin tener una historia totalmente finalizada.
Especial - Entrevista al equipo del ‘Project Orange’ La planificación para el proyecto es también bastante interesante. Es asombroso ver cuanta estabilidad y velocidad nos otorga, comparada con mi usual aproximación de “Planificación sin planificación”. 4- El Project Orange se ha convertido en el foco de considerable atención; ¿Qué se siente de que todo lo que están haciendo sea observado por muchos pares de ojos? Lee J. Cooks (LohnC): Ja ja… bueno, es bastante extraño cuando alguien como el Embajador de Medios Europeos viene a echar un vistazo a lo que estamos haciendo, a veces debo admitir que habiendo estado en el estudio cada día durante los últimos 3 meses, me resulta difícil creer que podríamos generar esa atención, cada día ha tenido sus propios desafíos y usualmente nosotros nos concentrábamos en aquello, aunque a veces te sientes un poco en “shock” de vez en cuando cuando te das cuenta de que estás siendo observado. Tony Alatalo (Antont): Ellos no me ven, soy desconocido y estoy bien escondido. Supongo que mayormente nos olvidamos de aquello. Andy Goralczyk (@ndy): Algunas veces ayuda bastante, estamos obteniendo un montón de retroalimentación en nuestro proyecto, y no sólo en nuestro sitio web. Un montón de gente de nuestro proveedor de sitio web, y el Instituto de Artes y Multimedia de los Países Bajos nos están ayudando
47
y soportando constantemente. Sin embargo, también existe un montón de ruido (principalmente desde la internet) siendo arrojado a nosotros. En algún punto uno simplemente tiene que descartar todo eso y concentrarse en el trabajo. También quisiera agregar, que contrariamente a lo que muchos esperan de forma no realista, ¡nosotros no somos Pixar, Dreamworks o SPI!. Ni siquiera estamos intentando serlo. Siendo realistas, no tenemos el talento, la experiencia ni la magia necesarias, sin embargo si somos el Estudio Orange.
nombrar los placeres de Amsterdam.
Bastian Salmela (Basse): Es como estar en el “Gran Hermano”. Excepto que tienes que conformarte con nosotros, ya que no hay forma de votar para que alguien se vaya… Hmmm, pero sí… bueno, me gusta sentarme y observar las reacciones de la gente. A veces están muy excitados, otras veces muy molestos… dependiendo de si estamos haciendo algo bien o mal… Siempre tienen un montón de opiniones. Siempre es divertido.
Lee J. Cooks (LohnC): Oh, ésta es otra pregunta difícil de responder. Probablemente es seguro decir que si pensaba una cosa antes de que el proyecto se iniciara, cuando comenzó todas mis expectativas se vinieron abajo. Realmente ha sido de lejos lo más divertido de todo lo que pude haber esperado, pero de forma muy opuesta a lo que esperaba antes de comenzar. Los desafíos, el trabajo arduo, el compartir ideas y visualizar otras escenas después de acabar con una toma con resultados maravillosos ha sido asombrosamente divertido, es como un largo partido de tenis, es divertido, pero agota. Aprendes a usar Blender por
Bassam Kurdali (slikdigit): Realmente no es un problema. Todos nos comportamos como normalmente lo hacemos. Andy nos envía amenazas desde su escritorio, Lee igualmente nos muerde el cerebro (N. del T. probablemente quiere decir agota o agobia), Basse produce pinturas con comidas esotéricas y va en aumento (está usando rollos de pescado a la suiza con leche ahora) mientras que Toni y yo nos ponemos a
Ahora en serio, estamos mayormente enfocados en el trabajo que hacemos, pero los comentarios en la internet nos proveen de un buen relajo de vez en cuando. Mucha gente en la comunidad se ve entusiasta acerca del proyecto, y nos han contribuido libremente con sus consejos e ideas. 5- Mientras trabajan arduamente para poder cumplir con las fechas de entrega, ¿Esta experiencia es más, o menos “Divertida” de lo que originalmente esperaban?
www.blenderart.org
más tiempo sin mayor prisa excitante, pero cuando viene, es bastante más satisfactorio. Tony Alatalo (Antont): Hm… tal vez más… bueno, ya no recuerdo que era lo que originalmente esperaba. Andy Goralczyk (@ndy): ¡Resultó más divertido de lo que esperaba! Todos sabíamos desde el principio que sería un trabajo duro, pero al final definitivamente valdrá todo el esfuerzo entregado. Bastian Salmela (Basse): Sigue siendo divertido. A veces no lo es, como cuando comienzas a pelear con algo que no funciona como se espera que lo haga y el tiempo se acaba. Pero al final, siempre acaba funcionando. Siempre es importante tener fechas límite, no sólo hacen tu trabajo difícil, sino que además te permiten realmente terminar cosas y avanzar en la siguiente… simplemente porque debes hacerlo.
Especial - Entrevista al equipo del ‘Project Orange’ Bassam Kurdali (slikdigit): Es bastante cercano a lo que esperaba en términos de diversión. 6- ¿Qué aspecto de este proyecto disfrutaron más? Lee J. Cooks (LohnC): Trataré de que esta respuesta sea corta y concisa… *Pienso algunas horas* OK. Lo que disfruto más de este proyecto es tener un director técnico. Si alguien puede echar a perder un ordenador, ese alguien soy yo. ¡Y ahora hay alguien alrededor que sabe como resolver eso!
Andy Goralczyk (@ndy): Pienso que lo que disfruto mayormente es el hecho de ser capaz de trabajar con gente que comparte los mismos intereses, trabajando en un objetivo común, en el mismo lugar.¡Y además la oportunidad de realmente volverse loco con los estilos, animación, iluminación, todo!
ción japonesa. Les informaré a todos si hay algún progreso en aquello.
Bastian Salmela (Basse): Tal vez la posibilidad de realmente trabajar a tiempo completo en solo diseñar, dibujar, modelar, animar… En lugar de lo que estoy acostumbrado a hacer en casa, teniendo un montón de horas para user Blender después de medianoche… Y toda la cerveza barata por supuesto.
Bastian Salmela (Basse): Tengo que trabajar con esas pequeñas cosas de las que nadie sabe para qué sirven, y escucho a alguien decir “ooh ¿que son esas cosas?”.
Bassam Kurdali (slikdigit): No puedo mencionar una sola cosa, en serio… Animar ha sido una gran diversión durante los últimos días, haciendo cosas extrañas, y preparar algunas de las expresiones faciales también ha sido bastante entretenido. Tony Alatalo (Antont): Tal vez el permitirme poder concentrarme en cosas interesantes, como el scripting de animación… Pero también ser parte de todo el proceso.
48
7- ¿Alguna cosa más que escape de la vista de la película que quieran compartir con nosotros? Lee J. Cooks (LohnC): Bueno, sigo presionando a Bassam por aquello, pero sigo presionando para incluir esa gran escena de pelea de espadas al estilo de la anima-
Tony Alatalo (Antont): ¡Los zapatos son grandiosos! Andy Goralczyk (@ndy): ¡El queso alemán es bueeeeeeeeeeno!
Bassam Kurdali (slikdigit): Bueno, hemos obtenido un par de grandes estrellas (en los Países Bajos) que harán las voces para nuestros personajes. No estoy seguro si se me permite revelar los nombres aún, creo que sólo le interesará a la audiencia alemana, pero es una buena noticia para nosotros, aunque podría ser más para que el corto sea tomado más seriamente por los no miembros de la comunidad de Blender, por ejemplo en festivales, etc.
www.blenderart.org
El Project Orange aún tiene algo de tiempo antes de que llegue el día de acabar con todo y volver a casa. Para más información y noticias acerca del progreso del proyecto, el sitio web es http://orange.Blender.org --Sandra Gilbert
Comentario
Stop Staring
49 Aprender a hacer animaciones faciales siempre ha sido un misterio para aquellos que no son conscientes de las herramientas y las técnicas empleadas. Requiere el entendimiento de los elementos faciales básicos y sus movimientos al hablar, y además entender las técnicas eficientes de modelado. Sólo entonces, es que esta ardua labor puede ser divertida. El Libro “Stop Staring” (Traducido como “Para de mirar”) provee al usuario una aproximación muy ordenada hacia el aprendizaje de las animaciones faciales. El libro en sí, esta dividido en 4 partes que comprenden 13 capítulos bien pensados.
lo básico en lo referente al ciclo de habla de la boca humana y provee una forma muy práctica de obtener los resultados deseados en el computador. Por ejemplo, la mayor parte de nosotros como novatos, pensaremos que necesitamos hacer movimientos de boca para reflejar los movimientos de boca en el modelo 3D, sin embargo hacer esto es molesto y complicado, mientras que el autor explica una forma lógica y organizada de obtener un mejor resultado, ofreciendo el conocimiento detrás de la apariencia de las expresiones en la boca mientras se habla una palabra.
En la parte 1 se comienza aprendiendo lo básico del moviemiento de la boca mientras se habla, y de la sincronización de labios equivalente en el modelo 3D, también se aprende el movimiento de los ojos, cejas, y la marca base facial que soporta estos movimientos.
En resumen, el libro cubre cada aspecto de la animación facial, desde la base de los movimientos faciales hasta definir cómo conseguir el modelado o topología necesarios para cada parte del rostro que juega un papel importante en dar las expresiones. Al final de la lectura del libro, puedes esperar convertirte en una persona bien versada en el modelado de un rostro animado, su esqueletización y la animación del mismo.
La parte 2 trata con la introducción a las poses de labios. También cubre la topología de una boca en una malla 3D, y finalmente termina con la construcción de cuadros clave para el habla.
Este libro puede considerarse una lectura obligada para cada candidato a animador que exista. - Blenderart
La parte 3 trata con la base de las expresiones producidas con el movimiento de los ojos y las cejas en conjunto. Posteriormente explica la topología del ojo y las cejas en la malla 3D. La parte 4 pone en práctica todo el conocimiento aprendido en las primeras 3 partes. Además detalla técnicas como la preparación esquelética, sopesado y esqueletizado con explicaciones prácticas de las animaciones que vienen en el CD que incluye el libro. La parte brillante de este libro son las explicaciones de todo
www.blenderart.org
Nombre: Stop staring, Facial modeling and animation done right (Para de mirar, modelado facial y animación hechos correctamente) Autor: Jason Osipa Páginas: 334 Publica: Sybex (Dist. SPD India) & CD-Rom Edición: Septiembre 2003 Lenguaje: Inglés ISBN 81-7366-815-9
Galería – Premios Blender Animation 2005 – Pág. 1
50
Esign Chris Larkee (knellotron) Premio: Mejor Trabajo de Animación www.blenderart.org
Galería – Premios Blender Animation 2005 – Pág. 2
Jake Rocks Thorsten Schlueter Nominado: Mejor Trabajo de Animación www.blenderart.org
51
Galería – Premios Blender Animation 2005 – Pág. 3
Alchemy Trailer (Trailer Alquimia) de Jason Pierce Nominado: Mejor Animación de Personaje “Copyright 2005 Jason Pierce. Usado con permiso”
52
treefrog.nature de Jason Pierce Nominado: Mejor Trabajo de Animación “Copyright 2005 Jason Pierce. Usado con permiso”
www.blenderart.org
Galería – Premios Blender Animation 2005 – Pág. 4
Laws of Motion (Leyes de Movimiento) Robert Tiess (Robertt) Nominado: Mejor Animación de Personaje enlace: http://www.Blender.org/cms/Animation_Festival_200.718.0.html
www.blenderart.org
53
Galería – Premios Blender Animation 2005 – Pág. 5
54
Alchemy Trailer by Jason Pierce Nomination: Best Character Animation “Copyright 2005 Jason Pierce. Used by permission”
Learning to Fly (Aprendiendo a Volar) de Grzegorz Rakoczy Nominado: Mejor Animación de Personaje www.blenderart.org
Galería – Premios Blender Animation 2005 – Pág. 6
New Penguoen Enrico Valenza (Env) Premio: Mejor Historia o Idea para Animación
www.blenderart.org
55
Galería – Premios Blender Animation 2005 – Pág. 7
Plumíferos de Estudio Manos Digitales Nominado: Mejor Historia o Idea para Animación
www.blenderart.org
56
Galería – Premios Blender Animation 2005 – Pág. 8
57
The Goat, the Boy and the Sun (El Carnero, el Chico y el Sol) de Martin White Nominado: Mejor Trabajo de Animación
www.blenderart.org
Galería – Premios Blender Animation 2005 – Pág. 9
The Exodus (El Éxodo), Intro Animada de Ecks www.blenderart.org
58
Galería – Premios Blender Animation 2005 – Pág. 10
59
Pequeño Fallo :P Esta imagen fue enviada por Cekuhnen para el nº1 de Blenderart pero no pudimos publicarla por un error de comunicación entre nosotros. Disculpas a Cekuhnen. Enhorabuena también a Cekuhnen por ser galardonado con la mejor pieza en la exposición SOFA por esta imagen.
Consumption (Consumo) Cekuhnen
www.blenderart.org
Próximo Número...
60
Número 3
Disponible en Marzo de 2006 Tema: Renderizado
TITULARES
Explicación del motor de renderizado en Blender Los distintos tipos de luces y algunos trucos Y más...
RENUNCIA Blenderart.org no asume ninguna responsabilidad tanto expresa como implícita por el material y su naturaleza, o la exactitud de la información que es publicada en esta revista PDF. Todos los materiales presentes en esta revista PDF han sido publicados con el permiso expreso de sus respectivos autores. Blenderart.org y los participantes renuncian a toda garantía, expresa o implícita, incluyendo, pero sin limitarse a, las garantías implícitas de comercialización o aptitud para un propósito en particular. Todas las imágenes y materiales presentes en este documento son impresas/ reimpresas con el permiso expreso de los autores. Esta revista PDF está archivada y disponible en el website Blenderart.org. La revista BlenderArt Magazine está disponible bajo licencia Creative Commons ‘Attribution-NoDerivs2.5’. La licencia CC está disponible en http://creativecommons.org/licenses/by-nd/2.5/legalcode
www.blenderart.org
Equipo de Traducción
61 • Rubén Lucendo González (Jinx NK) • Juan Antonio Maldonado Hervás (Nono) • Marçal Mora (Victor K) (http://es.youtube.com/watch?v=eXY4rSjyBS8) • David Martínez Pichon (Pitxy) • Carles Rentero Alfonso (Carles aussie)
Argentina • Irene Coremberg (IRENKA) (http://www.irenka.com.ar) (http://www.3d.irenka.com.ar) (http://www.irenka21.blogspot.com/) • Dardo Figueroa (Afkael) • Mariano Sánchez (MangakaMS)
México
Chile
• Kurt Vicente Kulander Sánchez (Kurt V Kulander) • Gildardo Mancera Flores (naphta) (http://na-phta.deviantart.com) • Juan Carlos Meza Gómez (Tiger) (http://www.13thtiger.blogspot.com) • Wilebaldo Santana Hernández (BlackBird)
• César Cespédes (Cesar) • Paola Monsalve (Lenoxmo) (http://www.paolamonsalve.com/) • Jorge Ortega O. (stargeizer) (http://www.sgz.cl) • Carlos Valdívia Valdívia Tapia (Jugo Concentrado)
Panamá
Colombia
• Fernan Franco C
Perú
• Raúl Amarú Linares Molano (raulender) (http://www.raulinares.com) • Juan Darío Rodas Marín (Ayurá) (http://www.ayuracreativo.com)
• José Espinoza Álvarez (Metza) (http://metza.wordpress.com)
Puerto Rico
Costa Rica
• Edgardo René Bartolomei Pérez (Arcangel)
• Alex Fabricio Castillo Hidalgo (alexfabricio41)
Venezuela
Ecuador • David Ortega Mazzini (DavidOrtega) (http://www.davidortega.net)
España • Miguel Ángel Buñuales Bergasa (MABB) (http://www.rlyeh.es) • Juan Carlos García González (jcggoviedo) (http://blender-asturias.blogspot.com) (http://blog.educastur.es/animacion3d) • Rafael Gil Pastor (erregepe) • David Lorente (http://www.david-lorente.net)
• José Gregorio Cabana (Cabanadigital) (http://www.cabanadigital.com/) • Einer Iriarte (AngelNegro) (http://www.eichnews-online.com) • Héctor Eduardo (Hector Eduardo)
País desconocido • Gerlin González Valenzuela
www.blenderart.org