Está en la página 1de 35

Diseño Gráfico 3D

con Software Libre ( Una Introducción Práctica a Blender )


Actualizado a V. 2.33
Blender 2.33 Yafray 0.0.6 Wings3D 0.98 GIMP 1.2.4

Carlos González Morcillo


Escuela Superior de Informática de Ciudad Real
http://www.nicodigital.com Universidad de Castilla-La Mancha
Carlos.Gonzalez@uclm.es
Introducción
¿Qué es este documento? ¿Por qué Software Libre?
Algo sobre Blender, Yafray, Gimp, Wings...

E ste manual que tienes en tus manos (o en tu


pantalla) es una recopilación de los guiones
de prácticas de la asignatura "Animación para
la Comunicación", impartida en la Escuela Superior
de Informática de Ciudad Real (Universidad de Cas-
lizado con las necesidades de los usuarios (al menos,
mientras exista la comunidad de desarrolladores del
software que, difícilmente puede desaparecer). La ve-
locidad de crecimiento de Blender y de los progra-
mas y plugins que hay alrededor es impresionante.
tilla-La Mancha). Por esta razón, encontrarás en el Casi mensualmente aparece una nueva versión con
texto referencias a conceptos que fueron explicados una enorme lista de mejoras importantes. Es, sin
en clases de teoría, o se completaron en la misma se- duda, un fenómeno imparable. Por estas y otras razo-
sión de prácticas. nes estoy cada día más convencido que la apuesta
realizada por el Software Libre es la acertada. En este
Esta nueva versión de los apuntes, del curso 2003- documento se hace referencia a varios programas (la
2004, incluyen algunas sesiones totalmente nuevas mayoría libres o, en su defecto, totalmente gratuitos
(como la práctica de Render Realista empleando Ya- -Como ZweiStein o Teddy-).
fray), y en general, han sido revisados y ampliados
utilizando las últimas versiones de Blender. Será bienvenida cualquier sugerencia sobre estos
apuntes, así como notificaciones de errores encontra-
Este documento no pretende ser un manual exhaus- dos en la dirección Carlos.Gonzalez@uclm.es.
tivo de Blender, ni explicar toda la funcionalidad de
la herramienta. Simplemente trata de facilitar la Finalmente, quiero agradecer a todos los compañe-
toma de contacto (habitualmente dolorosa) con una ros de Nicodigital la ayuda prestada; la lista de nom-
herramienta de diseño 3D de características profe- bres sería muy, muy larga. Como no podía ser de
sionales. El planteamiento es tratar de obtener, en 30 otra forma, a los alumnos de Animación de la ESI de
horas de prácticas, una visión general del ciclo de de- Ciudad Real, por el interés mostrado en la asignatu-
sarrollo en un proyecto de síntesis de imágenes tridi- ra; todo el esfuerzo por mi parte merece la pena. Y
mensionales por computador, incluyendo modelado, por último, y no menos importante, a Nines y a mi
texturizado, animación, render y composición de ví- familia, por apoyarme en todos los berenjenales en
deo. los que me meto :-)

¿Y por qué utilizar Software Libre?. Buena pregun- En definitiva: espero que este documento te sirva
ta... Responderé con otra: ¿Y por qué utilizar Softwa- para comenzar en este mundillo de la síntesis de
re Propietario (o Privativo)?. No hay, en principio, imágenes tridimensionales por computador. Creo
diferencias notables de calidad en los resultados ob- acertado incluir en este punto un refrán que resume
tenidos por artistas profesionales utilizando Blender, a la perfección el ciclo de aprendizaje en diseño 3D:
Gimp, etc... con sus equivalentes en software comer-
cial. El uso de software libre nos da, precisamente, la "Díjole el perro al hueso,
libertad de utilizar el software en cualquier ámbito, Si tú eres duro, yo tengo tiempo"
en multitud de sistemas operativos, e incluso de rea-
lizar adaptaciones del programa a nuestras necesida- Ánimo y... Happy Blending!
des; dejando la puerta abierta a futuras ramas de de-
sarrollo. Por otro lado, podemos tener la seguridad Carlos González Morcillo
de que el programa siempre va a seguir vivo y actua- 28 de Mayo de 2004
Práctica 1: Introducción a Blender
Animación para la Comunicación ::: ESI-CR ::: UCLM
Carlos González Morcillo :: Carlos.Gonzalez@uclm.es :: http://www.inf-cr.uclm.es/www/cglez

Esta primera práctica nos servirá como toma de contacto con la herramien-
ta. Personalizaremos el entorno, añadiremos algunos objetos básicos y, fi-
nalmente, renderizaremos una escena sencilla.
Software: Blender 2.32. Fecha: 04/Marzo/2004

© 2004 Carlos González Morcillo. Se permite la copia, distribución y/o modificación de este documento bajo los términos de la licencia de documentación
libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes. Puede consultar esta licencia
en http://www.gnu.org

E
l interfaz que presenta Blender nalizaremos un poco el entorno de Para rotar el punto de vista de una
al arrancar es el mostrado en Blender. Dividiremos la ventana 3D ventana 3D, arrastraremos con
la Figura 1. Todas las ventanas con la distribución que se muestra en pinchado. En ratones de dos botones,
de Blender son personalizables, en el la Figura 2. Para ello, nos situaremos con ¥ pulsada, arrastraremos el
sentido de que podemos dividir la con el ratón en la zona de división de ratón con . Podemos hacer zoom
pantalla como nos resulte más cómo- dos ventanas (por ejemplo, entre la en cualquier ventana (vista 3D, ven-
do y situar en cada porción el tipo de zona de división entre la ventana 3D tanas de botones, etc...) mantenien-
y la ventana de Botones) y con la do ¦ pulsado, y arrastrando . En

Figura 1

ventana que queramos. Por defecto


Blender arranca la pantalla con dos
divisiones; la ventana superior de
tipo 3D View y la inferior de tipo
Buttons Window . Podemos cam-
biar el tipo de ventana pinchando en
el botón y seleccionando alguno de
los tipos que se muestran en la si-
guiente imagen:

La vista 3D nos muestra un cuadrado


de color rosa. Este cuadrado es un Figura 2
cubo que crea Blender al comenzar a
trabajar. El color rosa indica que está ventana 3D iluminada (seleccionada), ratones de dos botones, mediante
seleccionado. El punto inferior de co- haremos y elegiremos Split Area. ¦ ¥ . Para desplazar el punto de
lor amarillo es el foco por defecto, y Partiremos la pantalla hasta conse- vista (horizontal y verticalmente),
la pirámide negra de la derecha re- guir una disposición del área de tra- utilizaremos § . De igual forma,
presenta la cámara. El resto de cua- bajo como se con ratones de dos
drados de la escena forman la muestra en la botones utilizaremos
cuadrícula que nos servirá para co- Figura 2. Pode- ¥§ .
locar los objetos de la escena con mos eliminar
precisión. las cabeceras, Cambiaremos el
así como si- modo de vista de
El círculo de color rojo situado en el tuarlas en la cada vista 3D me-
centro de la ventana es el puntero parte superior diante atajos de te-
3D. Todos los elementos que se aña- de las ventanas clado o los botones
dan a la escena lo harán donde se haciendo so- destinados a tal efec-
encuentre el puntero 3D. bre ellas y se- to. Pulsando 5 en el
leccionando No teclado numérico,
Antes de empezar a trabajar, perso- Header. cambiaremos entre
Figura 3

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 1 [Página 1]
Buttons , y pinchando en el botón
marrón de RENDER o bien con el
atajo de teclado ·. ¿Por qué no sale
nada?. No hemos iluminado la esce-
na. Ocultaremos la ventana de ren-
der pulsando ¶. Añadiremos una luz
de tipo Hemi en la posición que
muestra la Figura5.

Para ello, situaremos el cursor 3D en


la posición adecuada. Añadiremos la
luz mediante Î Add, Lamp. Cam-
biaremos el tipo de lámpara con el
botón de gestión de lámparas del
grupo de sombreado (o pulsando
°). Seleccionamos el tipo de foco
Hemi. Habrá que orientar el foco
Figura 4 para que apunte al objeto (utilizando
la rotación R).
proyección ortográfica y perspectiva. Todas las operaciones anteriores
Con 0 tendremos la vista de la cáma- pueden realizarse de forma numéri- Realizaremos un render y comproba-
ra. 1, 3, 7 nos darán las vistas de la ca, si con el objeto seleccionado pul- remos que el resultado es similar al
escena superior, frente, y perfil res- samos N. Aparecerá una ventana mostrado en la Figura 6. Podemos
pectivamente. como la que se muestra en la Figura salvar el render, pulsando ®. El for-
3. Los valores numéricos pueden in- mato de la imagen que salvaremos
Una vez configuradas las vistas como
se muestra en la Figura 2, vamos a
personalizar nuestra escena. Con el
cubo por defecto seleccionado (selec-
cionamos objetos con sobre ellos),
en color rosa, pulsaremos  y lo qui-
taremos de la escena. Realizaremos
la misma acción con la lámpara de la
escena. Añadiremos un objeto básico
de Blender; por ejemplo, la cabeza
de Suzanne. Para insertar nuevos
elementos a la escena, pulsaremos
Î, y elegiremos Add, Mesh, Mon-
key. Cuando insertamos un objeto
en la escena, lo hará en modo de
edición de vértices. Para volver al
modo de edición de objeto, pulsare-
mos º.
Figura 5
Algunas operaciones que podemos
realizar con el objeto es rotarlo; con troducirse por teclado si hacemos se selecciona en el apartado del
él seleccionado pulsamos R y despla- click con sobre una entrada de botón de render , dentro de la pes-
zamos el ratón. Si pulsamos ahora X, texto mientras mantenemos pulsada taña Format.
Y o Z, delimitaremos la rotación a la tecla §.
ese eje. Si rotamos con la tecla § Elegiremos, por ejemplo, JPG conser-
pulsada, lo haremos en modo de pre- Ayudándonos de las vistas de frente, vando la calidad de la imagen en un
cisión. Si tenemos la tecla ¦, lo ha- perfil y superior, situaremos el pun- valor alto (Quality entre 80-95).
remos de 5 en 5 unidades. La infor- tero 3D debajo de la cabeza del mo-
mación sobre las unidades en que se no. Recordemos que la posición del Es necesario indicar la extensión de
está realizando la operación aparece puntero 3D se cambia pinchando con forma implícita en la imagen que
en la cabecera de la ventana 3D de sobre la vista. guardemos desde Blender. De esta
trabajo. forma, en nuestra primera práctica
Una vez situado correctamente el debemos indicar que el fichero resul-
Otra operación básica es el desplaza- puntero, añadiremos un plano a la tado se va a llamar "resultado.jpg".
miento (tecla G del inglés Grabber). escena que servirá de "suelo" al ob-
Si desplazamos con la tecla ¦ pulsa- jeto anterior. Para ello, y con el pun-
da, lo haremos ajustándonos a la re- tero del ratón situado en la vista su-
jilla. Al igual que con la rotación, la perior, pulsaremos Î, Add, Mesh,
tecla § se corresponde con el Plane. Saldremos del modo de edi-
modo de precisión. ción de vértices del objeto con º, y
lo escalaremos para que cubra el
El escalado se realiza con la tecla S. suelo de la escena. Deberemos obte-
Para restringir el escalado en alguna ner una configuración similar a la Fi-
dimensión, pulsaremos S, después gura 4.
las letras correspondientes a los ejes
cartesianos X, Y, Z. Las restricciones El Render se realiza a través del
se realizan sobre el sistema de coor- botón del grupo de Escena (tam-
denadas local del objeto. bién mediante la tecla µ), Render
Figura 6

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 1 [Página 2]
Práctica 2: Modelado y Composición
Animación para la Comunicación ::: ESI-CR ::: UCLM
Carlos González Morcillo :: Carlos.Gonzalez@uclm.es :: http://www.inf-cr.uclm.es/www/cglez

Como continuación de la práctica anterior, aprenderemos a crear en Blender


objetos más complejos, partiendo de un diseño 2D. Veremos cómo trabajar
con curvas y, finalmente, compondremos el resultado con GIMP.
Software: Blender 2.32. + GIMP 1.2.4. Fecha: 11/Marzo/2004

© 2004 Carlos González Morcillo. Se permite la copia, distribución y/o modificación de este documento bajo los términos de la licencia de documentación
libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes. Puede consultar esta licencia
en http://www.gnu.org

A
rrancamos Blender y elimina- trabajar de forma más cómoda. ejemplo el 6). Podemos alinear los
mos el cubo y la lámpara Cuando hayamos ajustado los puntos manejadores de tensión de la curva
creados por defecto. Pincha- de control al logotipo, convertiremos pulsando H si en algún momento es
mos en View (en la cabecera de la de nuevo a cuva de Bezier, ajustando necesario. tura en cada sección de la
vista 3D) y elegimos Background la tensión en los tramos que lo re- misma.
Image. Pinchamos luego en Use quieran.
Background Image. La ventana que Ajustaremos los puntos de tangente
nos aparece (ver Figura 1) nos per- Por defecto, tenemos todos los vérti- hasta obtener la geometría que se
mite cambiar la imagen de fondo, va- ces seleccionados (todos en color ajuste bien a la imagen de fondo.
amarillo). Pulsamos la tecla Cuando hayamos terminado, volvere-
A y los deseleccionamos to- mos al modo de edición de objeto º,
dos (aparecen en rosa). y pulsaremos la tecla Z para obtener
Ahora desplazaremos los la representación sombreada, tal y
vértices al contorno exte- como muestra la figura 3. Volvemos
rior del logotipo (seleccio- a la representación con líneas pul-
namos cada vértice de for- sando de nuevo la tecla Z.
ma individual con , y des-
plazamos pinchando una Añadiremos otras curvas de Bezier a
vez la tecla G). La curva la escena y procederemos de forma
original está formada por 6 similar, convirtiendo a polígono,
vértices. Los situaremos en ajustando puntos y volviendo a con-
las posiciones 1 .. 6 tal y vertir a Bezier para modelar las otras
como muestra la figura 2. tres secciones que definen el logoti-
Figura 1 Podemos realizar zoom en po. Cuando hayamos terminado, po-
la vista 3D (¦ + ) para demos quitar la imagen de fondo pul-
riar su situación (X Offset e Y Offset)
tener una mayor precisión a la hora sando de nuevo View, Background
y el nivel de transparencia (Blend).
de situar los vértices. Image...
Cargamos como fondo la imagen lo-
gouclm.jpg. Hecho esto, cerramos la
Para añadir vértices: manteniendo
ventana Background Image.
pulsado ¦, haremos . De esta for-
ma, añadiremos los vértices 7 y 8.
Vamos a trazar el contorno del logo-
Para cerrar la figura (es decir, añadir
tipo por medio de una curva. Para
la arista que une 8 con 1), pulsare-
ello, añadiremos una a la escena.
mos la tecla C. Podríamos pensar
Pulsamos Î Add, Curve, Bezier
que hacen falta más vértices, por
Curve. Con la curva añadida, y sin
ejemplo, entre 6 y 7. Sin embargo,
salir del modo de edición (sin pulsar
no es necesario ajustar mejor la su-
º), vamos a los botones de edición (
perficie en las secciones curvas, ya
o ´) y convertimos la curva a polí-
que lo haremos por medio de la ten-
gono, pinchando en el botón Poly del
sión en la curva tipo Bezier.
grupo Convert. Esto nos permitirá Figura 3
Seleccionamos de nuevo todos los Cada curva creada es un objeto inde-
vértices , pulsando la tecla A (deben pendiente; podemos unirlas creando
quedar todos en color amarillo). Vol- una única entidad si las selecciona-
vemos a los botones de edición º y mos todas con (manteniendo §
convertimos la curva a tipo Bezier. pulsada), y después pulsando ¦J
Deben aparecer unos segmentos de Join Selected Curves.
color verde. Estos son los segmentos
de tangente, que especifican el grado Pasaremos a extrusionar la curva
de tensión en la pendiente de cada para obtener el modelo 3D. Rotare-
sección de curva. Deseleccionamos mos la vista para tener un ángulo
todos los vértices y elegimos uno de mejor a la hora de ver la operación
Figura 2 los que requieren curvatura (por realizada. Elegimos en modo de se-

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 2 [Página 1]
lección de objeto,
cambiamos los valores
de extrusión y redon-
deado tal y como se
muestra en la figura 4.
Podemos cambiar los
valores en los botones
de inserción, pinchan-
do y arrastrando sobre
ellos, o bien mantien-
do pulsada la tecla §
y haciendo sobre
ellos.

Vamos a aplicarle un
material sencillo al
modelo. Selecciona-
Figura 7
mos una de las partes
y pinchamos en el RGBA, indicamos que la imagen re-
botón de materiales, Vamos a renderizar sultado debe tener canal Alpha de
tal como muestra la fi- la escena. Situare- transparencia. Así, tendremos que
gura 5 (o bien pulsa- mos la cámara para seleccionar un formato que soporte
mos °). Como no hay obtener una vista canal Alpha (como Targa; *.TGA). El
ningún material en la como la que se canal Alpha codifica, en tonos de gri-
escena, tendremos Figura 4 muestra en la figura ses, qué parte de la imagen es de
que añadir uno nuevo, 7. Añadiremos un objeto y qué parte es el fondo. Un
que luego aplicaremos al logotipo. Se foco de iluminación de tipo Spot. valor de negro indica que es fondo,
pueden crear tantos materiales como Para ello, insertamos un objeto de mientras que blanco indica objeto só-
sean necesarios, pero en este ejem- tipo Lamp a la escena y lo cambia- lido. Los tonos de gris indican obje-
plo utilizaremos sólo uno. Para crear mos a tipo Spot. Orientamos el foco tos semitransparentes. El resultado
un nuevo material, pincharemos en para que apunte al logo 3D, rotándo- de renderizar la escena debe ser si-
lo con ayuda de las vistas su- milar al mostrado en la figura 9. La
perior, frontal y lateral. La si- figura 10 se corresponde con el canal
tuación del foco deberá ser si- Alpha de la imagen resultado. Pode-
milar a la mostrada en la figu- mos cambiar el color de fondo acce-
ra 7. Probamos a renderizar diendo a las propiedades del mundo
la escena ·. Si el objeto sale y cambiando el color zenith (figura
muy oscuro, podemos ajustar 11).
la intensidad del foco
Figura 5
en los botones de foco
el botón Add New. De todas las pro- ¯, en el campo Energy
piedades que pueden tener los mate- a un valor superior. Ajustare-
riales, únicamente vamos a definir el mos las opciones de renderi-
color. Ajustaremos los valores del co- zado como se indica en la fi-
lor tal y como se indica en la figura gura 8.
6. En próximas sesiones de prácticas,
veremos con más profundidad las Activamos el botón de Sha-
opciones de materiales y texturas en dows para que el motor de
Blender. renderizado calcule las som-
bras de la escena. OSA
Daremos un nombre al material que (OverSAmpling) con valor 16
hemos creado; en el botón que he- hace que el antialiasing se
mos pinchado para añadir el mate- aplique con la mayor intensi- Figura 6
rial, tendremos una caja de texto. dad. Seleccionamos uno de
Manteniendo pulsado §, pinchamos los tamaños predefinidos pin-
con y tecleamos un nombre para chando en PC (640x480). Con 100% Guardamos la imagen como solido.t-
el material ,por ejemplo, UCLMRojo. indicamos que el renderizado se haga ga. Salvamos también el fichero de
Aplicaremos el material que hemos al tamaño total elegido. blender y cambiamos el material.
creado a las piezas del logotipo. Para Nos vamos al menú de materiales y
ello, lo seleccionamos y, elegimos el Cuando hacemos pruebas es intere- asegurándonos que estamos traba-
material en la lista desplegable de sante poner este valor al 50% o al jando con MA:UCLMRojo, cambiamos
materiales. Podemos activar el modo 25% para que la generación de la el color del material en las tres com-
de visualización sólida pulsando Z. imagen lleve menos tiempo. Con ponentes (R,G,B) a 0.300. Además,

Figura 8

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 2 [Página 2]
nombre Fondo. La
capa se ha situado
delante del logo. Pin-
charemos en la flecha
"abajo", como indica
la figura 13, para or-
denar las capas.

Seleccionamos la
ventana donde se ha
abierto el fichero Figura 11
alambre.tga. Hace-
Figura 9 mos sobre la
imagen y seleccio-
namos editar, co-
piar (o bien pulsa-
mos ¦C). Después,
nos vamos a la ima-
gen solido, y pega-
remos el logo de
alambre como una
nueva capa. Para
ello, editar, pe-
gar (o ¦V). Vemos
que aparece en la
ventana de capas
Figura 10
como una selección
activamos el botón de Wire (situado flotante. Para gene- Figura 13 Figura 14
en el centro). rar una capa nueva
con la imagen, pincharemos de nue- capa alambre. Seleccionamos la capa,
Renderizamos de nuevo la escena;
vo en el botón de nueva capa . nos vamos a la imagen y hacemos
debemos obtener un resultado similar
Renombramos la capa como "alam- Script-Fu, Sombra, Sombra Arrojada.
al de la figura 12. Sin haber cambia-
bre". Podemos dejar los parámetros tal y
do ninguna opción de renderizado,
como están y aceptamos.
guardamos la imagen resultante
como alambre.tga. Situamos la capa alambre entre la
capa solido y la capa fondo. En la Vemos que, debajo de la capa alam-
ventana de Selección de brocha, se- bre se ha creado una capa llamada
Salvamos el proyecto de blender y
leccionamos una redonda y pincha- Drop-Shadow. Si no nos gusta el re-
abrimos GIMP, el programa de com-
mos en Nuevo. Con esto, haremos sultado, eliminamos la capa (pinchan-
posición y retoque fotográfico GNU.
una brocha personalizada partiendo do en el botón del cubo de basura), y
Cargamos las imágenes solido.tga y
de la que hemos seleccionado. probamos a cambiar los parámetros
alambre.tga. Comprobamos que el
del script. Para terminar, pinchamos
fondo de la imagen no es negro; está
Ajustamos los parámetros a: radio con sobre la imagen, y guardamos
formado por "cuadritos". Esto indica
= 44.8, dureza = 0.2 aprox.. Ángu- el fichero con formato XCF (el
que GIMP ha importado las imágenes
lo y razón de aspecto los dejamos formato nativo de GIMP),
con el canal de transparencia correc-
como están. Damos el nombre que permite almacenar el
tamente.
que queramos a la brocha. Se- fichero tal y como esta-
leccionamos la brocha, la he- mos trabajando (capas,
Recordemos que las capas actúan
rramienta de borrado , y canales, etc...).
como "acetatos". El orden de las ca-
pas importa (al igual que si coloca- nos vamos a la capa so-
lido. Ajustamos la opa- Si queremos utili-
mos una transparencia delante de
cidad de la goma (en zar la imagen
otra). Renombraremos la capa de la
la ventana de op- desde otras
imagen sólida. Para ello, nos situa-
ciones de herra- aplicaciones,
mos sobre la capa y haciendo Edi-
mienta) a 25 tendríamos
tar atributos de capa, le pondremos
aprox. Hecho que salvar-
como nombre "solido". Añadiremos
esto, borra- lo en un
una capa nueva, que esté rellena de
mos una formato
color blanco. Para ello, pincharemos
parte de la como
en el botón , y le pondremos como
capa sólido JPG.
(la derecha, En este
por ejemplo). caso GIMP
Hacemos otra nos advierte
pasada consi- que perderemos
guiendo un la información
efecto de degra- acerca de las capas,
dado, como se canales, etc....
muestra en el re-
sultado final. El formato de GIMP está pen-
sado para ser utilizado únicamen-
Para terminar, te desde esta herramienta y no es
añadimos un efec- portable. Un formato ampliamente
Figura 12 to de sombra a la usado es PSD de Adobe Photoshop.

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 2 [Página 3]
Práctica 3: Modelado con Wings3D
Animación para la Comunicación ::: ESI-CR ::: UCLM
Carlos González Morcillo :: Carlos.Gonzalez@uclm.es :: http://www.inf-cr.uclm.es/www/cglez

El objetivo de esta sesión es aprender a utilizar dos herramientas de mode-


lado que destacan por su facilidad de uso y potencia: Wings 3D y Teddy.
Estudiaremos Wings3D con más detalle por ser mucho más versátil.
Software: Wings3D 0.98 + Teddy 1.0 + Blender 2.32 + IOSuite 0.6 Fecha: 18/Marzo/2004

© 2004 Carlos González Morcillo. Se permite la copia, distribución y/o modificación de este documento bajo los términos de la licencia de documentación
libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes. Puede consultar esta licencia
en http://www.gnu.org

E
n esta práctica no debemos que nos encontremos, podemos utili-
centrarnos en obtener un re- zar las teclas + y - para extender o
sultado exactamente igual al contraer la selección realizada a los
mostrado en las imágenes, sino en elementos vecinos [realizar la prueba
descubrir las posibilidades que nos seleccionando un vértice del cubo y
brindan Wings3D y Teddy. En próxi- pulsar + dos veces y luego -]. Pode-
mas sesiones veremos algunas de las mos deseleccionar todos los elemen-
capacidades de modelado de Blender tos pulsando Î. Wings 3D imple-
(como superficies de subdivisión). menta múltiples niveles de
"undo/redo", que podemos recuperar
con ¦¥Z y ¦§Z. Con obtene-
mos el conjunto de operaciones que
podemos aplicar a los elementos se- Figura 3
leccionados. Por ejemplo, partiendo
del cubo que hemos insertado y se- para comenzar a darle forma. Selec-
leccionando las dos aristas verticales cionaremos las tres aristas, y aplica-
de la cara frontal, haremos Con- remos Cut, 3. Con esto, obtene-
nect. Con esto, obtenemos una nue- mos dos nuevos vértices por arista
va arista que conecta las dos anterio- (las hemos cortado en 3 partes). Uti-
res, tal y como se muestra en la figu- lizaremos ahora (trabajando a nivel
ra 1. de vértice) la orden de Connect.
Con esto, obtenemos cuatro nuevas
Figura 1 aristas que unen los seis vértices
creados con la orden anterior. Proce-
Comenzaremos modelando un coche deremos de forma similar para mo-
con Wings 3D. En esta herramienta, delar el hueco de los faros y el para-
partimos de una forma básica (primi- choques. Desplazando las aristas ob-
tiva 3D) y aplicando una serie de tenidas, deberemos obtener un resul-
operaciones a nivel de vértice, arista, tado similar a la figura 3.
cara o al objeto global, iremos modi-
ficándola hasta obtener el modelo fi-
nal. Antes de empezar a trabajar,
personalizaremos el modo de despla-
zar la cámara por la escena como
Blender ( para rotar, ¦ para ha- Figura 2
cer Zoom...). En el menu superior;
Edit, Camera Mode, Camera Mode Moveremos la arista recién creada li-
[Blender]. geramente hacia abajo (en el eje y),
haciendo Move, Y. En la cara pos-
Añadimos un cubo a la escena con terior del cubo, añadiremos otra aris-
Cube. En la parte superior de la pan- tas y la moveremos ligeramente arri-
talla aparece una barra de herra- ba. Seleccionando las caras inferio-
mientas. Las dos pirámides de la iz- res, extrusionaremos en la dirección Figura 4
quierda nos permiten seleccionar la del vector normal de cada cara:
Extrude, Normal. Ajustaremos las Seleccionaremos las caras que for-
forma en que se mostrará el objeto
aristas de las caras extrusionadas man la luna delantera y los faros.
(caras o sombreado suave). La parte
(desplazamientos en el eje Z), hasta Aplicaremos Inset y a continua-
central nos permite seleccionar en
obtener algo similar a la figura 2. ción Extrude, Normal (hacia el in-
qué nivel queremos trabajar (vértice,
terior). Realizaremos el triángulo de
arista, cara u objeto). Cuando un ele-
Seleccionaremos las dos aristas lon- la zona central del capó seleccionan-
mento está seleccionado (vértice,
gitudinales que forman el capó del do el vértice Bevel. El resultado de
arista, cara u objeto), aparece en co-
coche, y las conectaremos (obtenien- estas operaciones es el mostrado en
lor rojo. Podemos seleccionar de for-
do una arista central). Esta nueva la figura 4. Continuaremos dividiendo
ma incremental elementos de la es-
arista, la levantaremos ligeramente las caras laterales del coche, ajustan-
cena. En cualquier modo de selección

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 3 [Página 1]
do las aristas y vértices resultantes ahora en ade-
tal y como se muestra en las figuras lante, Wings 3D
5 y 6. En este caso, además, se ha tomará la rue-
ajustado la altura del techo. da como un
único objeto.
Hacemos 3 co-
pias más de la
rueda ( Du- Figura 8
plicate) y la si-
tuamos en el modelo del coche. El LightFlow), .cob (de Caligari Truespa-
modelo del coche finalizado es el que ce), .lwo (de LightWave), .raw (malla
se muestra en la figura 9. de triángulos en formato crudo)...
Podemos guardar el modelo para
cargarlo desde Blender, en formato Vamos a modelar el dinosaurio. Abri-
Wings3D. Utilizaremos el conjunto de mos Teddy. Después de leernos el
scripts IOSuite para importar mode- tutorial que acompaña la distribución,
los en formato .wings. Para ello, des- haremos un personaje que importa-
Figura 5 remos en Wings 3D (en formato obj),
Resulta muy útil la herramienta para salvarlo como .wings (que car-
Tweak (Menú, Tools, Tweak). Nos garemos en Blender). Podemos obte-
permite desplazar los vértices del ob- ner un dinosaurio como el que se
jeto libremente (cambiando el punto muestra en la figura 10. Aplicaremos
de vista y pinchando-arrastrando con materiales simples a los objetos y,
). Saldremos de este modo de edi- añadiendo un plano como suelo de la
ción cuando hagamos . Podemos escena, renderizaremos la escena en
utilizar el modo "magnet" (pulsando Blender · obteniendo un resultado
1), en el que desplazaremos grupos similar al que se muestra en la figura
de vértices según el radio de magne- 11.
tización (se puede variar pulsando +
y -). Debe quedarnos claro que el
desplazamiento en este modo es de- Figura 9
pendiente del punto de vista de la comprimimos el archivo IOSuite2.zip,
escena. Por tanto, para obtener el dentro del directorio de scripts de
resultado esperado, tendremos que blender (este directorio se encuentra
realizar multitud de rotaciones de cá- dentro del directorio .blender en el
mara. La figura 7 muestra una captu- directorio donde se instaló Blender).
ra de edición en este modo. En sistemas windows, con la instala-
ción por defecto, podemos encontrar
el directorio en "C:\Archivos de pro-
grama\ Blender Foundation\ Blender\
.blender\ scripts".

Hecho esto, abrimos blender, dividi-


mos la pantalla y cargamos una ven-
tana de tipo Text Editor . Como
queremos importar el modelo realiza- Figura 10
do, cargaremos el fichero Import.py
(que se encuentra comprimido en Podemos mejorar el aspecto final del
IOSuite1.zip), y lo ejecutamos con dinosaurio asignando un sombreado
¥P. suavizado (y no plano), pinchando en
Figura 6
el botón set smooth del apartado de
Para modelar las ruedas, primero edición ´. Además, podemos variar
añadiremos un cilindro a la escena, las propiedades de la lámpara para
escalándolo respecto del eje Y. Se- que arroje sombra (cambiando el
leccionaremos las caras superior e tipo del foco por defecto a uno de
inferior, y después Intrude. Con tipo Spot. En la siguiente sesión
esto, obtendremos una especie de aprenderemos a asignar texturas
"canuto" (ver figura 8). Insertamos mediante UVMapping en Blender.
otro cilindro, que escalamos para que
quede en el interior del anterior, y
con la misma altura. Seleccionamos
alternativamente las caras laterales y
aplicamos extrusión (sin salirnos del
Figura 7
cilindro exterior). Para terminar, se-
leccionamos las caras superior e infe- En el navegador de archivos que
rior del cilindro interior, y las despla- aparece, seleccionaremos el fichero
zamos en dirección a la normal, hacia de Wings3D. El Script identifica el
el centro. El resultado final de la rue- tipo de archivo mediante la exten-
da es el mostrado en la figura 8. sión. Por tanto, es necesario que la
extensión del archivo sea .wings. En-
Seleccionaremos las dos partes que tre otros, el Script permite leer y es-
forman la rueda y Combine. De cribir ficheros en formato .mesh (de Figura 11

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 3 [Página 2]
Práctica 4: UV-Mapping en Blender
Animación para la Comunicación ::: ESI-CR ::: UCLM
Carlos González Morcillo :: Carlos.Gonzalez@uclm.es :: http://www.inf-cr.uclm.es/www/cglez

En esta sesión aprenderemos a texturizar objetos mediante UV-Mapping en


Blender, para poder crear personajes completos y utilizarlos en nuestros
proyectos de animación.
Software: Wings3D 0.98 + Teddy 1.0 + Blender 2.32 + IOSuite 0.6 Fecha: 25/Marzo/2004

© 2004 Carlos González Morcillo. Se permite la copia, distribución y/o modificación de este documento bajo los términos de la licencia de documentación
libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes. Puede consultar esta licencia
en http://www.gnu.org

E
l mapeado mediante coorde- cola. Eliminaremos las caras sobran-
nadas UV permite un posicio- tes y borraremos (tecla Â) la selec-
namiento de "la piel del obje- ción. El modelo debe quedarnos
to" muy preciso. El objetivo es textu- como muestra la figura 5. Para evi-
rizar un modelo complejo creado con tarnos efectos indeseables con la he-
cualquier técnica de modelado. rramienta de espejo, aplanaremos
primero la cara resultante (aún se-
Partimos del modelo creado en Teddy leccionada en color rojo) mediante
mostrado en la figura 1. Sólo nos he- Flatten, Normal (alisar la cara res-
mos ocupado de construir la mitad pecto de su vector normal). Hecho
del personaje. La otra mitad la con- esto, utilizamos la herramienta de
seguiremos por "espejo" del este Figura 2 espejo con Mirror para obtener el
modelo en Wings 3D. Podéis encon- modelo del dinosaurio simétrico.
trar el modelo en el fichero dino.obj, Guardamos el modelo como .wings y
no obstante es aconsejable que in- lo importamos en blender siguiendo
tentéis construir vuestro propio per- los pasos explicados en la práctica
sonaje similar al mostrado en la figu- anterior.
ra 1.
Configuramos Blender para obtener
Importamos el modelo en Wings. Ac- una división de ventanas como se
tivamos la vista de los ejes y el muestra en la figura 6. La ventana
modo ortogonal en la parte supe- de la derecha la cambiamos a tipo
rior derecha de la ventana. El modo ImageWindow (§ µ, o seleccionan-
ortogonal nos elimina el efecto de Figura 3 do el icono ). Antes de continuar,
perspectiva. Esto nos permite selec-
cionar de forma más precisa conjun- Con la vista desde
tos de caras y trabajar sin distorsio- el eje Z, y el
nes en la vista 3D. modo de selec-
ción a nivel de
Pulsando las teclas X, Y, Z veremos cara, selecciona-
el modelo desde estos ejes. Rotare- remos la mitad iz-
mos y desplazaremos el modelo para quierda del mo-
que se quede perfectamente centra- delo pinchando y
do respecto del plano YZ, tal y como arrastrando desde
se muestra en las figuras 2 y 3. Es la posición A de la
importante situar correctamente el figura 4, a la po-
modelo en la operación anterior por- sición B. Obten-
que nos facilitará la siguiente selec- dremos una se-
ción de caras.

Figura 4 Figura 5

lección de caras veamos algunas opciones del entorno


bastante precisa, que nos van a ser útiles en esta
pero habrá que ro- práctica. En la cabecera de la venta-
tar la cámara y na 3D, distinguimos los iconos que se
ajustar la selección muestran en la figura 7 y algunas te-
manualmente, so- clas útiles. Pulsando la tecla 5 del te-
bre todo en la zona clado numérico, podemos seleccionar
de las escamas de el modo de visualización, en perspec-
la espalda y en la tiva o vista ortográfica. La vista or-
Figura 1

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 4 [Página 1]
igual forma las caras asociadas. salvamos con el nombre de late-
Pulsando dos veces la tecla B, activa- ral.jpg. Cargamos el fichero en GIMP
remos el modo de selección de vérti- y creamos una nueva capa. Pintare-
ces mediante un "pincel". El cursor mos sobre esta capa, con un color
aparecerá delimitado por una circun- verde la piel del dinosaurio.
ferencia. Podremos añadir caras a la
Nos "saldremos" a propósito fuera
del área a colorear, ya que esto nos
facilitará el situar la textura más ade-
lante. Crearemos una nueva capa
donde dibujaremos de color amarillo
los huesos que salen de la espalda.
Figura 6 Añadiremos detalles más oscuros ju-
gando con la transparencia del pin-
tográfica no agranda los objetos cel. Puede resultar útil variar la
cuanto más cerca están de la cáma- transparencia de la capa para tener
ra. La lista desplegable de iconos de una visión general de la zona del di-
la derecha de la figura 7, nos permite nosaurio sobre la que estamos pin-
seleccionar el modo de sombreado tando. Cuando hayamos obtenido
del objeto mientras trabajamos con algo similar a la figura 9, salvaremos
él. Nos interesará el modo Textured, el fichero como lateral_pintado.jpg.
que nos muestra la textura aplicada
al modelo, y el modo Wireframe (la Cargamos este fichero en la ventana
Figura 8
representación de alambre que he- de imágenes de Blender. Pinchamos
mos utilizado en prácticas selección pinchando y arrastrando . en el menú Image, Open de la venta-
anteriores). El conjunto de iconos de Para quitar caras a la selección, pin- na de imagen. La imagen aparecerá
la izquierda nos permite especificar char y arrastrar con y ¥ pulsado. como fondo de la ventana. Podemos
Podemos aumentar el radio del pincel maximizar esta vista (y volver a su
con la tecla +, y disminuirlo con la estado original) mediante View, Ma-
tecla -. Abandonaremos el modo de ximize Window y View, Tile Window,
selección con esta técnica haciendo o pulsando ¦È.
. Teniendo en cuenta que la selec-
ción de caras "atraviesa" el modelo,
Importante: Cuando trabajemos
seleccionaremos las vistas que nos
con ficheros añadidos a Blender
hagan falta para dejar inactivas las
(como imágenes, sonidos, etc...),
caras de las extremidades del dino-
hay que indicar a Blender que guar-
saurio. Podemos volver al modo de
de estos datos dentro del fichero .
edición de caras, pulsando º. El re-
blend. De otra forma, cuando abra-
Figura 7 sultado de la selección, debe ser el
mos el fichero en otro ordenador,
mostrado en la figura 8.
las texturas no estarán. Esto se
el modo de trabajo con el modelo. El realiza en el menú File, Pack data.
modo de trabajo con caras (UV Face Las extremidades se quedan total-
Hecho esto, aparecerá un icono
Select) se puede alcanzar también mente blancas porque no hay selec-
en la barra de menús superior (al
pulsando la tecla F. El modo de edi- ción de caras. No pasa nada si no he-
lado de la opción Help). Esta opera-
ción de vértices, como hemos visto mos seleccionado perfectamente el
ción sólo hay que realizarla una
en prácticas anteriores, se consigue recorte de las extremidades, ya que
vez. De ahora en adelante, cuando
pulsando la tecla º. Con Vertex las podremos seleccionar cuando
guardemos el fichero .blend, se
Paint pasamos al modo de pintado de guardarán también las imágenes
vértices y Texture Paint nos permite asociadas.
pintar la textura directamente sobre
el modelo. Por último, el botón si-
tado en la cabecera de la vista 3D En la ventana 3D, con las caras del
(no confundir con un botón similar de cuerpo seleccionadas, y la vista que
la ventana de botones) sirve para se indicó en la figura 8, pulsamos la
renderizar la vista actual. Con ® po- tecla U, y seleccionamos UV Calcula-
dremos salvarla en el formato que tion, From Window. Vemos que el
hayamos seleccionado en el menú de conjunto de caras seleccionadas se
visualización µ. han "copiado" en la ventana de la
imagen. Tendremos que ajustar los
Pasamos al modo de selección de ca- vértices para que se cuadren bien a
ras (pulsando la tecla F). Vemos que la textura. Pero antes, activaremos la
el modelo se ha puesto de color blan- vista detallada (Textured pinchando
co, y el icono correspondiente de la Figura 9 en el icono correspondiente visto en
figura 7 aparece seleccionado. Selec- la figura 7). El modelo muestra una
"pintemos" las extremidades. representación con la textura aplica-
cionaremos las caras que forman el
Rotamos el modelo en la vista 3D da, como se muestra en la figura 10.
cuerpo del dinosaurio, dejando las
hasta obtener una posición totalmen-
extremidades para más adelante.
te lateral, de forma que coincidan las Maximizamos la ventana derecha, y
Para realizar la selección de una for-
aristas de forma simétrica (tal y ajustamos los vértices. Para ello, los
ma más sencilla, y sin salir del modo
como muestra la figura 8). Para ello, seleccionamos todos A. Podemos es-
de selección de caras, pulsaremos º.
tendremos que activar la vista orto- calar el modelo con S. Recordemos
Todos los vértices aparecerán selec-
gonal. Hecho esto, renderizamos la que para limitar el escalado en algún
cionados (en color amarillo), y de
vista con el botón de la ventana 3D y eje, pulsaremos ¥ cuando proceda-

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 4 [Página 2]
Figura 13

Figura 14

mos al escalado. También podemos con la textura aplicada, acti-


rotar los vértices con R. Cuando los varemos la vista detallada y
vértices se ajusten perfectamente a lo rotaremos hasta conse-
la textura, minimizaremos de nuevo guir la posición deseada.
la ventana de imagen y deberíamos Para terminar, añadiremos
obtener una representación similar a un material genérico al mo-
la figura 11. delo del dinosaurio, activan-
do el botón de TexFace.
Procedemos de forma similar con las También activaremos el
extremidades. Nos aseguraremos de botón de VcolPaint y Vco-
que, al seleccionar las caras, no nos lLight. Si entramos en el
dejemos ninguna que no seleccioná- modo de pintado de vérti-
ramos en el paso anterior. Situamos ces, en el menú "Paint But- Figura 10
el modelo frontalmente y renderiza- tons" , podremos añadir
mos la vista. Coloreamos en GIMP sombras adicionales al mo-
obteniendo una textura delo (como en los dedos del
similar a la figura 12. modelo, y en las caras de
Aplicamos la tex- unión entre las extre-
tura frontal- midades y el cuer-
mente. po...). Para ello, de-
beremos activar
Añadimos el icono (g) y el
una esfera modo de som-
para crear breado detalla-
un ojo. Ajusta- do. En el menú
mos el tamaño, de Figura 11
la situamos y le
aplicamos un Vertex city la cantidad de color a aplicar en
material °. El Paint, cada pasada.
ajuste de mate- dentro
riales en Blen- de los Concluiremos la práctica realizando
der será visto en botones un render sencillo del modelo. Podéis
detalle en próxi- de edi- encontrar un entorno donde probar el
mas sesiones. ción ´, modelo en el fichero "escenarioren-
De cualquier podremos der.blend". En este escenario está
forma, y para elegir el definido un plano (que servirá de sue-
terminar este color con el lo) y un par de focos con una configu-
modelo, dare- que pintare- ración básica.
mos el receta- mos los vérti-
rio para textu- ces del modelo
rizar el ojo. A (dentro de la pes-
este material le taña Paint). En zo-
asociaremos nas donde quere-
una textura (± mos que el som-
Add New, breado sea suave,
Image, Pestaña es aconsejable utili-
Image, Load Ima- zar el pincel de pinta-
ge). Activamos las opciones de do de vértices con el
Texturas y Material, tal y como se botón Soft activado.
muestra en las figuras 13 y 14. Mediante el parámetro
Size especificamos el gro-
Para situar con más exactitud el ojo sor del pincel, y con Opa- Figura 12

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 4 [Página 3]
Práctica 5: Animación Básica
Animación para la Comunicación ::: ESI-CR ::: UCLM
Carlos González Morcillo :: Carlos.Gonzalez@uclm.es :: http://www.inf-cr.uclm.es/www/cglez

En esta sesión utilizaremos las curvas IPO en Blender. Este tipo de curvas,
basadas en representación de Bezier es la empleada por Blender para el
manejo de trayectorias en animación.
Software: Blender 2.32. Fecha: 01/Abril/2004

© 2004 Carlos González Morcillo. Se permite la copia, distribución y/o modificación de este documento bajo los términos de la licencia de documentación
libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes. Puede consultar esta licencia
en http://www.gnu.org

V
amos a comenzar realizando
una animación muy sencilla,
manipulando directamente las Figura 2
curvas de animación. Cargamos en
Blender el fichero "dino.blend" . Se- cambios de velocidad al
leccionamos el modelo del dinosaurio empezar y al finalizar la
y vamos a intentar rotarlo respecto animación).
del eje Z. Como se puede apreciar,
hay un problema con los ojos y los Las curvas de movimiento
párpados, que no siguen el movi- en Blender nos permiten
miento del cuerpo. Hay que indicar a representar la posición,
Blender la jerarquía existente entre rotación y tamaño de cada
estos objetos; el cuerpo del dinosau- componente (X,Y,Z) de un
rio será el "objeto padre" de los ojos objeto a lo largo del tiem-
y los párpados. Para indicar esto, se- po. Recordemos que, en
leccionamos primero un elemento animación, el tiempo lo
hijo (por ejemplo, un párpado), y con medimos en frames por
§ pulsado, seleccionamos después segundo. El número de
el cuerpo. Hecho esto, hacemos ¦P, frame actual en Blender se
Make Parent. Aparece una línea representa con un botón,
punteada indicando la jerarquía, tal y en la parte central de la Figura 4
como se ve en la figura 1. Procede-
nadas los valores que pueden tomar
mos de igual forma con el otro pár-
los objetos respecto de las magnitu-
pado y las esferas de los ojos.
des indicadas en la columna de la de-
recha (Localización, Rotaciones...).
La línea verde vertical (que podemos
arrastrar para ver la evolución de
nuestra animación), representa el
frame actual. Volveremos a trabajar
sobre las curvas IPO en próximas se-
siones.

Con el cuerpo del dinosaurio selec-


Figura 3 cionado, definiremos el frame 1

cabecera principal,
como se muestra en la
figura 2. Podemos
avanzar el número de
frame de 1 en 1 con É
y Ç de los cursores y
Figura 1
con È y Ê, de 10 en 10
Ahora, si rotamos el cuerpo del dino- frames.
saurio, se rotarán con él los ojos y Nos situamos en el pri-
los párpados, pero no al contrario mer frame de la anima-
(los padres no heredan posición de ción. Cambiamos una
los hijos). Vamos a realizar la ani- ventana al tipo "Editor
mación que se puede ver en el fi- de curvas IPO" . Apa-
chero "anim_dino.mpg". rece una imagen como
la mostrada en la figura
Rotaremos el dinosaurio respecto del 3. En el eje de abcisas
eje Z 360º, intentando que el vídeo se representan los fra-
pueda repetirse indefinidamente (sin mes, y en el de orde- Figura 5

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 5 [Página 1]
muestra en la figura la escena, insertando frames clave
6. en los puntos donde haya que reali-
zar un cambio de dirección. Blender
Si previsualizamos la se encargará de interpolar las posi-
animación, compro- ciones intermedias. El vídeo que de-
bamos que ahora el bemos obtener como resultado
resultado es el que (anim_oreto.mpg) muestra el proce-
esperamos. Vamos a so final (con post-producción, que
generar el vídeo AVI. veremos en prácticas sucesivas). De-
Disminuimos la reso- bemos ocuparnos de obtener un mo-
lución de salida a vimiento de cámara similar. Nos cen-
320x240. Elegimos traremos en colocar la cámara en las
como formato de sa- posiciones clave (respecto de la loca-
lida AVI Jpeg. Ajus- lización y la rotación). Para facilitar
tamos el rango de que la cámara apunte siempre al lo-
frames que quere- gotipo, añadiremos un objeto de tipo
mos renderizar con Empty en el centro del logotipo (Î
Figura 6 los botones Sta: 1 y , Add, Empty). Seleccionamos la cá-
End: 75. El directo- mara primero y luego con § pulsa-
como clave (pulsando la tecla I). rio donde se va a ge- do, el Empty recién creado. Pulsamos
Aparece un menú preguntándonos nerar el vídeo por defecto es /ren- ¦T Make Track, Old Track. Corre-
qué tipo de información vamos a ma- der (indicado en el apartado Out- gimos el cambio de orientación con
nejar en nuestro frame clave. Indica- put, arriba a la izquierda, ver figura ¥R Clear Rotation.
remos que sólo vamos a variar la ro- 7). Hecho esto, pinchamos en ANIM
tación (Rot). para iniciar el proceso y esperamos En la figura 8 tenemos las curvas IPO
un rato :-). asociadas a la cámara. Podemos ver
Como queremos que la animación las posiciones donde se han inserta-
dure 3 segundos (a 25 fps), definire- En la segunda parte de la práctica, do frames clave (en el 1, 25, 50, 61,
mos otro frame clave en el 75. Al también emplearemos curvas IPO, 75, ..., 165). Al igual que en la pri-
igual que antes, también de tipo Rot. pero no generando el movimiento di- mera parte, obtenemos una previ-
Obtendremos una imagen como se rectamente sobre ellas, sino utilizán- sualización de la animación con
muestra en la figura 4. En este tipo dolas únicamente para dar los ajus- ¥A.Si los resultados son correctos,
de ventana podemos hacer zoom y tes finales. Cargamos el fichero "ore- renderizamos con los parámetros vis-
desplazarla de igual forma que en to.blend". Moveremos la cámara por tos anteriormente.
una ventana 3D. Si al hacer zoom o
desplazar nos "perdemos", podemos
dejar que Blender ajuste la vista pul-
sando la tecla Ã.
Seleccionamos la curva IPO llamada
RotY, pasamos al modo de edición de
objeto º y ajustamos los puntos de
control para obtener una curva simi-
lar a la mostrada en la figura 5. Na-
turalmente, en el eje Y tenemos que
llegar al valor 360 (giro completo en
el eje Y). Nos ayudaremos del Zoom
para situar el valor exactamente en
360.
Podemos ver una previsualización de
la animación, si nos situamos en el
frame 1 y pulsamos ¥A en cualquier
vista 3D. Paramos la animación con
¹. Al principio y al final de la anima-
ción la rotación es más lenta que en
el medio. Como queremos que la ani-
mación se pueda repetir en un bucle
sin que se noten los cortes, ajustare-
mos la pendiente de la curva IPO en
los puntos extremos, desplazando los
puntos de tangente. Debemos obte-
ner un resultado como el que se Figura 8

Figura 7

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 5 [Página 2]
Práctica 6: Animación Jerárquica
Animación para la Comunicación ::: ESI-CR ::: UCLM
Carlos González Morcillo :: Carlos.Gonzalez@uclm.es :: http://www.inf-cr.uclm.es/www/cglez

En esta sesión aprenderemos los conceptos básicos de animación jerárqui-


ca en Blender, y realizaremos una composición sencilla de video. Para esto,
utilizaremos el compositor de vídeo interno de Blender.
Software: Blender 2.32. Fecha: 15/Abril/2004

© 2004 Carlos González Morcillo. Se permite la copia, distribución y/o modificación de este documento bajo los términos de la licencia de documentación
libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes. Puede consultar esta licencia
en http://www.gnu.org

C
omenzaremos modelando el Queremos que, cuando
objeto que se muestra en la movamos las bases de los
figura 1. Todos los componen- pistones (A1 y B1), los ex-
tes del modelo deben ser indepen- tremos tengan el mismo
dientes (añadiremos a la escena 5 ci- movimiento. Por tanto, en
lindros, rotando y escalando hasta la jerarquía tendremos que
conseguir la configuración mostrada). PistonA2 es hijo de Pisto-
nA1. Para indicar esta je-
Renombraremos los objetos que for- rarquía a Blender, seleccio-
man la escena, con el fin de poder namos primero el elemento
identificarlos más fácilmente, tal y hijo (PistonA2), y con §
como se muestra en la figura 2. Para pulsado, seleccionamos el
ello, seleccionaremos en el modo de padre (PistonA1). Pulsa- Figura 2
edición de objeto cada uno de ellos, mos ¦P y seleccionamos
y teclearemos el nombre en la sec- Make Parent. Ahora, si rotamos Pis- objetos. Asociaremos el movimiento
ción OB: de los botones de edición tonA1, el giro también lo sufrirá Pis- de los dos pistones, haciendo que se
accesibles también con ´. tonA2, pero no al revés. Realizamos apunten mutuamente. Esta técnica
la misma operación con la otra parte ya la hemos utilizado en sesiones an-
Podemos indicar a Blender que del pistón (B1, B2). Si nos equivoca- teriores, cuando incluíamos un objeto
muestre el nombre de los objetos si mos, podemos eliminar la relación de Empty para situar la cámara. El pri-
activamos, con el objeto selec- parentesco seleccio- mer objeto que seleccionamos es el
cionado, el botón Name del nando los elementos "dependiente" (que seguirá el movi-
grupo de propiedades del ob- emparentados y pul- miento del segundo; el "principal").
jeto ². También se puede ser sando ¥P. Seleccionamos primero PistonA1 y
útil en ciertas ocasiones mos- luego (con § pulsado) PistonB1
trar el sistema de coordenadas Cambiaremos los (en este orden) y creamos el track
local de cada objeto, accesible centros de los obje- (¦T) y seleccionamos Old Track.
mediante el botón Axis del tos PistonA2 y Pis- Repetimos la operación, pero ahora
mismo grupo de botones (ver tonB2 para que las seleccionando primero PistonB1 y
figura 3). rotaciones se hagan luego PistonA1. En caso de que se
respecto del extre- roten los objetos de forma errónea,
Establecemos las relaciones de mo (en vez de estar pulsamos ¥R y ajustamos de nuevo
jerarquía entre PistonA1 - Pis- situado en el centro la rotación de las bases: PistonA1 y
tonA2 y PistonB1 - PistonB2. Figura 3 geométrico del obje- PistonB1.
to). Para ello, situa-
remos el puntero 3D Probamos a mover PistonA1. Si tene-
(círculo de color rojo mos que el movimiento lo siguen
que movemos con perfectamente el resto de piezas, he-
), a la posición 3D mos terminado este paso. En caso
donde queramos si- contrario, tendremos que ajustar en
tuar el nuevo centro los botones de propiedades del obje-
y en los botones de to animación (²) el eje con el que
edición (´) pin- vamos a apuntar al otro objeto (al
charemos en Cen- otro piston). Según la configuración
tre Cursor. Coloca- de la escena, es posible que tenga-
remos los centros
en los puntos rojos
que se muestran en
la figura 2.

Pasamos a estable-
cer una relación de
dependencia entre Figura 4
Figura 1

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 6 [Página 1]
bre el eje Z del realizando. Debemos obtener una re-
sistema de coor- presentación como muestra la figura
denadas global 6.
en nuestro
ejemplo), y en- En la parte izquierda de la pantalla
tramos en el iremos añadiendo los vídeos, imáge-
modo de edición nes, transiciones y efectos. Para aña-
de vértices pul- dir un vídeo o imagen (en el vídeo de
sando º. ejemplo se ha utilizado una para el
texto), pulsamos §A. Podemos
Seleccionamos duplicar cualquier elemento que apa-
el último clave y rezca en esta ventana pulsando ¥D.
añadimos 36 al Pinchando en los triángulos izquierdo
valor de Ver- y derecho de un vídeo, se puede "es-
texY de la gráfi- calar". Añadimos los 2 vídeos que
ca RotZ, tendre- hemos realizado, los colocamos uno
mos un giro de encima del otro, tal y como muestra
360º. Podemos la figura 7.
especificar un
Figura 5 valor numérico Con los dos videos seleccionados
si pulsamos la (pinchamos con sobre uno y luego
mos que cambiar de Track Y a tecla N (tal y como muestra la figura con § seleccionamos el otro), po-
Track X. Podría hacer falta cambiar 5). En el ejempo de la figura, el obje- demos añadir un efecto (de nuevo,
también el eje que apunta "arriba" to rueda partía de una rotación de haciendo §A). Podemos experi-
(vector Up), en un conjunto de boto- -2.55 grados; así, el valor de rota- mentar con todas las transiciones
nes situados a la derecha del grupo ción final es de 34.55. que incorpora blender, e incluso des-
de Track. Es muy útil activar la vi- cargar plugins para añadir nuevas
sualización de los ejes locales de Tal y como se explicó en la práctica funcionalidades a la aplicación.
cada objeto como hemos visto ante- anterior, ajustaremos la
riormente. tensión de la curva IPO en
los extremos para evitar la
Activaremos el botón de Power- aceleración inicial y el frena-
Track (en las propiedades de anima- do al final del intervalo.
ción ²) al pistón A1, para quitarle la
rotación (cuando el objeto "Rueda" Pasamos a renderizar 2 ani-
gire, no se tendrá en cuenta esta ro- maciones con distintos ma-
tación, sólo la posición). teriales (resolución de 320 x
240). Añadimos un plano
Añadimos un Empty en el centro debajo de la escena, para
geométrico de PistonA1, y hacemos que sirva como "suelo" y re-
padre al Empty de de PistonA1. He- coja las sombras arrojadas.
cho esto, hacemos hijo al Empty de Por ejemplo, podemos hacer
Rueda. Si rotamos Rueda respecto un render utilizando la téc-
del eje Z, el mecanismo general de- nica "Toon Shading"; con el
bería funcionar. aspecto de los dibujos ani- Figura 7
mados. Para ello, en el ma-
Pasamos a hacer una rotación de Con un efecto seleccionado, si pulsa-
terial ° activamos la opción shade-
360º de la rueda. Procederemos de mos C podemos cambiar el tipo de
less, para que no arroje sombras. En
forma similar a como se explicó en la efecto, o el sentido de aplicación del
la ventana de render µ, activamos el
práctica anterior con el dinosaurio. efecto (AB o BA). En algunos
botón Edge, y en Edge Settings al
Insertamos dos frames clave respec- efectos, como las transiciones Cross,
parámetro Eint (Edge Intensity; In-
to de la rotación en el frame 1, y en GammaCross, etc... el orden impor-
tensidad de la arista), le damos un
el frame 35. Seleccionamos la gráfica ta. Con lN podemos renombrar los
valor alto (100).
RotZ (queremos rotar el objeto so- elementos de nuestra composición.
Una vez que tenemos un bloque de
En definitiva, hemos
nuestra animación definido, si selec-
obtenido distintos ví-
cionamos todos los elementos que
deos con la animación
intervienen (vídeos, imágenes, efec-
de nuestro pistón. Pa-
tos, etc...) y pulsamos la tecla M, po-
samos al siguiente
demos agruparlos en una única Me-
paso; componerla en
tatransición. Con ¥M podemos des-
Blender. Para ello,
hacer este paso.
abrimos una nueva
sesión de Blender y
Una vez tenemos la secuencia crea-
dividimos la pantalla
da, la generaremos en un AVI, acti-
en 2 partes. Cambia-
vando el el botón do sequence de
mos las dos ventanas
los botones de renderizado accesi-
a tipo Editor de Se-
bles pulsando µ y pinchando luego en
cuencia de Vídeo .
Anim. Utilizando las herramientas
En una de ellas, acti-
descritas en esta práctica, intentar
vamos el botón
conseguir un resultado similar al que
para mostrar la previ-
se puede ver en el fichero
sualización de la com-
Figura 6 resultado_p6.mpg.
posición que estamos

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 6 [Página 2]
Práctica 7: Esqueletos - IKs
Animación para la Comunicación ::: ESI-CR ::: UCLM
Carlos González Morcillo :: Carlos.Gonzalez@uclm.es :: http://www.inf-cr.uclm.es/www/cglez

Con esta práctica nos introduciremos en el uso de esqueletos (armatures)


en Blender. Partiendo de un modelo sencillo (un brazo robótico), aprendere-
mos a asociarle, a cada sección, un hueso del esqueleto.
Software: Blender 2.32. Fecha: 22/Abril/2004

© 2004 Carlos González Morcillo. Se permite la copia, distribución y/o modificación de este documento bajo los términos de la licencia de documentación
libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes. Puede consultar esta licencia
en http://www.gnu.org

C
omenzaremos modelando las Una vez modelado el robot, y renom-
diferentes piezas que for- bradas las piezas, añadiremos el es-
marán nuestro brazo. Debe- queleto. Para ello, pulsaremos Î,
mos obtener una geometría similar a ADD, Armature. Construiremos un
la mostrada en la figura 1. Antes de esqueleto formado por 4 huesos,
ponernos manos a la obra, debemos centrado en el interior del brazo
tener en mente que al modelo se le robótico, tal y como se muestra en la
deberá asociar un esqueleto. Resul- figura 3. Los tres primeros están
tará mucho más sencillo realizar esta ajustados a las articulaciones del
operación (y el propio modelado), si brazo del robot (hombro, codo y
en la construcción del objeto emplea- muñeca). La última, muy pequeña,
mos una postura "cómoda". Un se utilizará para gestionar la cinemá- Figura 2
ejemplo de construcción del modelo tica inversa del modelo.
se muestra en la figura 2. Así, el es- presentadas por una flecha que va
queleto se situará de forma sencilla a Una vez creado el esqueleto, entra- del padre al hijo. Los huesos del es-
lo largo del eje X, siguiendo la geo- mos en el modo de edición del objeto queleto están representados en color
metría del brazo. (del esqueleto) con º. El color rosa azul. Los nodos hijo de la jerarquía,
del esqueleto se- están representados por un rectán-
leccionado será gulo con las esquinas sin redondear.
más intenso. Se-
leccionamos todos Los elementos auxiliares (empty) que
los huesos del mo- se han utilizado, aparecen en color
delo con A, cam- naranja. Por último, las restricciones
biando su color a entre elementos se representan con
amarillo. Vamos a una flecha punteada, con una circun-
los botones de edi- ferencia negra en el origen.
ción y cambia-
mos el nombre de Importante: Recordemos que para
los huesos como establecer una relación de paren-
se muestra en la tesco entre elementos, selecciona-
figura 4. Al igual remos siempre primero el elemen-
que antes, se reco- to hijo, y después, con § pulsa-
mienda seguir el do, el padre. Pulsaremos ¦P
mismo convenio Make Parent. En caso de equivo-
empleado en este carnos, podremos eliminar el pa-
Figura 1
documento en el rentesco, seleccionando de nuevo
Recordemos que se pueden duplicar nombrado de los los elementos que intervienen en la
objetos con §D. Será útil definir to- huesos. Pasamos a definir las jerar- relación, con ¥P.
dos los componentes del robot como quías entre elemen-
mallas independientes. Para ello, de- tos, y a conectar las
beremos salirnos del modo de edi- diferentes partes del
ción de vértices cada vez que añada- robot con el esque-
mos una parte del robot a la escena, leto que hemos
pulsando º. Nombraremos cada creado.
componente del robot como se
muestra en la figura 1. Será impor- Todo el proceso que
tante tener claros los nombres asig- vamos a seguir a
nados a cada parte a la hora de ges- continuación, está
tionar la jerarquía y las asignaciones resumido en el es-
de parentesco a cada hueso del es- quema de la figura
queleto. Por esto, se recomienda se- 5. Las relaciones de
guir el mismo convenio de nombrado parentesco ("es pa-
que se utiliza en este documento. dre de"), están re- Figura 3

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 7 [Página 1]
Empty (tecleamos en el Pedestal
campo OB: EmptyIk). Make Track

Ver figura 7. Es impor- Base


tante que se indique el
nombre de forma preci-
sa, ya que Blender dis- Motor1 Esqueleto

tingue entre minúsculas


LatHomDer
y mayúsculas en los Hombro
Motor2
identificadores de objeto. LatHomIzq
Cambiamos la influencia LatCodDer
Copy Rotation
que tendrá esa restric- Codo
LatCodIzq
Figura 4 ción sobre la solución fi- LatMunIzq

nal, poniendo Influence LatMunDer Muñeca Motor3


De esta forma, seleccionaremos, por a su valor máximo. Así,
ejemplo, primero el elemento Base, y el Esqueleto seguirá per- MunAPin
después Pedestal y realizaremos la fectamente al EmptyIk. IkaNull EmptyRotBase

jerarquía. Procederemos de igual PinzaIzq PinzaDer


IK Solver
Copy Location (x,y)

modo con Motor1 y Base, el Esquele- Hecho esto, podemos


to (completo) y la Base, y MunAPin mover el EmptyIk por la EmptyIk

(Muñeca a Pinza) con las dos partes escena, y el brazo se-


de la pinza. guirá el movimiento del Figura 5
mismo. Sin embargo, ve-
"incline" hacia ningún lado; única-
Las relaciones de parentesco con los mos que el brazo no se comporta co-
mente rote respecto del eje Z). La
huesos se realizan de forma similar. rrectamente. Las articulaciones no
idea es hacer que este nuevo Empty
Primero seleccionamos el hijo, y des- realizan los giros de forma realista,
sirva de "sombra" al EmptyIk con el
pués el esqueleto (completo). Pulsa- debido a que no tienen restricciones
que controlamos el movimiento del
mos ¦P Use Bone y seleccionamos de giro aplicadas.
brazo. Para conseguir este efecto de
el hueso que corresponda en cada
"sombra", añadiremos una restricción
caso. Seleccionamos, en modo pose, el
de copiar la localización del EmptyIk,
hueso Codo y añadimos una restric-
como se muestra en la figura 10. La
Añadiremos un objeto Empty a la es- ción para copiar la rotación del hueso
localización se copiará respecto del
cena que nombraremos EmptyIk. Hombro. Con esto, conseguiremos
eje X e Y. La altura en el eje Z la
Este objeto nos servirá para situar el parcialmente que los tres huesos gi-
mantendremos fija.
extremo del robot y, por cinemática ren a la vez. Como se muestra en la
inversa, Blender calculará la rotación figura 8, tendremos que definir el ob-
necesaria para cada articulación del jeto que contiene al hueso llamado
robot. Situaremos el puntero 3D cer- Hombro (en nuestro caso, Esquele-
ca del hueso IkaNull y situaremos ahí to). Repetiremos la misma operación
el nuevo objeto Empty. Entraremos con el hueso Muñeca.
en el modo de pose del esqueleto
(que veremos con más profundidad Figura 10
en próximas sesiones), que entre
otras cosas nos permite seleccionar Hecho esto, añadiremos un segui-
individualmente cada hueso. Para miento (Track) de la base respecto
cambiar a modo de pose, con el es- del Empty. Para ello, recordemos que
queleto seleccionado (en color rosa Figura 8 habrá que seleccionar primero el ob-
claro), pulsaremos ¦º. También po- jeto dependiente, y después el prin-
demos acceder a Crearemos un nuevo objeto vacío, al cipal, pulsando ¦T, Constraint. De-
este modo pin- que llamaremos EmptyRotBase. Nos jamos los parámetros insertados por
chando en la lis- servirá para definir la rotación que se Blender. Si hemos seguido los pasos
ta desplegable tiene que aplicar al objeto Base (re- correctamente, podemos mover el
de la cabecera cordemos que es padre de casi toda EmptyIk y el resto de la geometría
de la ventana 3D nuestra jerarquía), cuando movamos del robot seguirá el movimiento.
(figura 6). El es- EmptyIk. De esta forma, el robot
queleto pasará a Figura 6 siempre apuntará al objeto EmptyIk, Para animar el modelo, bastará con
color azul claro. y no tendremos ninguna rotación ex- insertar frames clave que guarden la
traña en las articulaciones. posición (Loc) del objeto EmptyIk
En este modo, seleccionaremos el úl- con ¦I. La interpolación del movi-
timo hueso (IkaNull), que pasará a miento de este objeto nos producirá
color verde claro. Vamos al menú de (por cinemática inversa) el movi-
restricciones, pinchando en el botón miento en el resto de articulaciones.
de edición de objeto . Añadimos Se puede ver el modo de trabajar de
una restricción nueva pinchando en la cinemática inversa en el fichero
Add Constraint. El tipo de restric- esqueleto_p7.mpg.
ción será IK Solver, sobre el nuevo
Añadiremos luces y texturas, e inten-
taremos conseguir un movimiento si-
Figura 9
milar al mostrado en el vídeo resul-
Situaremos el nuevo Empty, como se tado_p7.mpg. Es muy importante fi-
muestra en la figura 9, a la misma nalizar correctamente esta práctica
altura que la base (para que al hacer para concluir con éxito las próximas
el Track entre ellos, la Base no se sesiones relacionadas con animación
Figura 7 de personajes.

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 7 [Página 2]
Práctica 8: Modelado por Rotoscopia
Animación para la Comunicación ::: ESI-CR ::: UCLM
Carlos González Morcillo :: Carlos.Gonzalez@uclm.es :: http://www.inf-cr.uclm.es/www/cglez

En esta sesión modelaremos un personaje utilizando superficies de subdivi-


sión mediante la técnica de rotoscopia, muy utilizada en el ámbito de la ani-
mación de personajes.
Software: Blender 2.32. Fecha: 29/Abril/2004

© 2004 Carlos González Morcillo. Se permite la copia, distribución y/o modificación de este documento bajo los términos de la licencia de documentación
libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes. Puede consultar esta licencia
en http://www.gnu.org

L
a técnica de modelado median- malla en modo de tra-
te rotoscopia se basa en mol- bajo. Sirve para ha-
dear el personaje 3D utilizan- cernos una idea de
do, al menos, dos vistas realizadas a cómo va a quedar. El
mano. Cargaremos los bocetos del valor de la derecha,
personaje que pueden verse en la fi- es el número de sub-
gura 1. Dividimos la pantalla en 3 divisiones que se
ventanas. A la izquierda, cargaremos harán a la hora de
la imagen de fondo "frente.jpg", y en renderizar. De esta
el centro "lateral.jpg". La parte de la forma, ajustaremos el
derecha la dejaremos para ir rotando valor de la derecha
el modelo, seleccionar vértices, etc... para que sea mayor
(ver figura 2). La imagen de frente que el de la izquierda Figura 2
se cargará en la vista frontal (tecla 1 (y éste, según la ve-
Con esta idea en mente, comenza-
del teclado numérico) y la vista late- locidad de nuestro procesador). Si
mos a generar un pie del modelo,
ral con la tecla 3 del teclado numéri- activamos el botón Optimal, tendre-
como se muestra en la figura 4. Para
co. Recordemos que, para incluir una mos una representación de la malla
extrusionar una cara (sacar la pierna
imagen de fondo en una ventana 3D mínima que se crea mediante la su-
de la parte superior del pie), selec-
seleccionaremos en el menú de la ca- perficie de subdivisión.
cionamos los 4 vértices que for-
becera, View, Background Image.
marían el "talón" y pulsamos E.
Puede ser útil activar el modo de
sombreado Z en alguna vista, para
Al llegar a la parte de unión entre las
tener una visión más precisa del es-
piernas, realizaremos un espejo de la
tado del modelo. La selección de vér-
pierna izquierda. Para ello, seleccio-
tices puede realizarse de forma indi-
vidual, o con la tecla B
(o BB). Las operacio-
nes básicas sobre los
vértices serán Extru-
sionar E, con al me-
nos 3 vértices selec-
cionados, mover G,
Figura 1
rotar R y escalar S. La
Añadimos un cubo a la escena y lo idea básica es ir "cal-
ajustamos para comenzar a modelar cando" los bocetos,
un pie del personaje, como se mues- ajustando los vértices
tra en la figura 2. Activaremos, como de la geometría de la
se muestra en la figura 3, las opcio- red de control. Figura 4
nes de subdivisión de la malla (boto-
namos la malla, pulsamos §D,. Con
nes de edición , ´). Importante: Es crítico conservar el
esto, obtenemos un duplicado de la
menor número de vértices posible
pierna, pero tenemos que realizar el
en el modelo a subdividir. Cuanto
espejo para que la curvatura de la
más aumentemos la geometría del
misma sea correcta. Para ello, en
modelo, más difícil resultará despla-
modo de selección de vértices con
zar los grupos de vértices.
todos los vértices seleccionados, pul-
samos M y nos aparecerá una venta-
Es muy útil activar, en modo de edi- na preguntado el eje sobre el que
ción de vértices, el botón Draw Fa- vamos a realizar la operación. En el
Figura 3 ces de los botones de edición. Con caso del ejemplo sería X Global. Si
El valor de la izquierda (2 en nuestro esto, nos aseguramos que hemos se- la transformación no ha sido la co-
caso), es el número de subdivisiones leccionado la cara correcta a la hora rrecta, podemos realizar "Undo", pul-
que hace Blender para mostrar la de aplicar transformaciones. sando U.

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 8 [Página 1]
Continuamos
modelando el
cuerpo del per-
sonaje, siem-
pre teniendo en
mente que de-
bemos utilizar
el menor nú-
mero de polí-
gonos posible.
Hay que ver
también las
Figura 5
partes donde
Obtenemos un resultado "interesa" ge-
similar a la figura 5. Pa- nerar nuevas ca-
samos a unir los objetos ras. Por ejemplo,
generados para conti- para modelar el
nuar modelando el torso torso (figura 8 arri-
del personaje. ba), hemos realiza-
do tres extrusiones
Con las dos piernas se- cuando habría bas-
leccionadas (en modo de tado con dos. De
selección de objeto), uni- esta forma, hemos
mos las mallas ¦J. En- obtenido unos vér-
tramos en modo de edi- tices donde, en el
ción de vértices y situa- paso siguiente, ge-
mos cerca los vértices neramos los bra-
que deben ser comunes zos.
en ambas piernas (los Figura 6
dos vértices superiores Necesitamos gene-
de cada pierna, figura 6). Selecciona- rar nuevos vértices para sacar
mos los 4 vértices que queremos "fu- el cuello y, de ahí, la cabeza.
sionar", y ajustamos en los botones Para ello, resulta útil la herra-
de edición el valor Limit que nos mienta Subdivide (botones
de edición ´). Es importante
utilizar esta herramienta sólo
cuando sea necesario. El nú-
mero de vértices crece muy
rápido y el modelo podría ha-
cerse inmanejable. También Figura 8
resulta útil la opción de
Figura 7 Smooth, del mismo bloque de
botones. Con este botón sua- Por último, añadimos los
gradúa la distancia que debe haber vizamos una superficie, elimi- ojos, párpados y dientes
entre vértices continuos a eliminar. nando la apariencia de estar del modelo. Para las textu-
Hecho esto, pinchamos en Rem generada de forma simétrica. ras se ha utilizado un color
Doubles (ver figura 7) y Blender Esta opción la utilizaremos verde de material y des-
debe informarnos que ha eliminado 2 únicamente cuando la geo- pués se han pintado los vér-
vértices. metría base esté totalmente tices (Vertex Paint Mode),
definida, para añadir natura- como se explicó en la sesión
lidad. 4 (Modelado del Dinosau-
rio).
Generaremos una
mano del modelo Con esta técnica pode-
y realizare- mos construir mode-
mos la otra los de personajes
por "es- complejos. Par-
pejo" (de tiendo de unos
forma simi- lar a como bocetos 2D
trabajamos con la sencillos gene-
pierna). En la figura 9, ramos la malla
se muestra el proceso 3D mediante
de ajustar los vértices rotoscopia. Al emplear
para que "coincidan" superficies de subdivisión po-
con la muñeca. De demos ajustar el nivel de
forma similar, pin- suavizado de la superficie fi-
chando en Rem- nal. Habitualmente un valor
Doubles junta- de subdivisión de 3-4 en el
remos las super- renderizado, da mallas muy
ficies en una. suavizadas. Animaremos
Blender realizará la este personaje en la si-
interpolación de la malla resultan- guiente sesión de prácticas
Figura 9 te. con NLA.

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 8 [Página 2]
Práctica 9: Esqueletos Avanzados
Animación para la Comunicación ::: ESI-CR ::: UCLM
Carlos González Morcillo :: Carlos.Gonzalez@uclm.es :: http://www.inf-cr.uclm.es/www/cglez

La animación de personajes digitales requiere definir un esqueleto interno al


que aplicaremos Cinemática Inversa para calcular la posición de todas las
articulaciones.
Software: Blender 2.32. Fecha: 06/Mayo/2004

© 2004 Carlos González Morcillo. Se permite la copia, distribución y/o modificación de este documento bajo los términos de la licencia de documentación
libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes. Puede consultar esta licencia
en http://www.gnu.org

L
as articulaciones del esqueleto Añadimos un Armature formado por Nombraremos los huesos (ver figura
que vamos a definir generarán 3 huesos principales (hueso1, hue- 3) como se explicó en la sesión 8, y
unas deformaciones que habrá so2, hueso3) y un cuarto hueso pe- añadiremos una restricción (en modo
que trasladar a la malla del modelo queño que utilizaremos para resolver pose del esqueleto; ¦º) de tipo Ik-
3D. Por último se aplicará un movi- la cinemática inversa (huesonull). Solver al huesonull con objetivo en
miento al esqueleto, construyendo huesoik. Ahora podemos desplazar
una secuencia de animación. (en modo pose) huesoik, y el resto
del esqueleto se calculará de forma
Así pues, en esta sesión identifica- automática mediante cinemática in-
mos un primer objetivo; construir un versa.
esqueleto para nuestro personaje, Figura 2
que asociaremos a una malla. Indica-
remos a Blender qué vértices de la Con el esqueleto todavía en modo de
malla tendrá que deformar junto al edición de huesos (color rosa oscuro,
esqueleto. pulsando º), añadiremos un quinto
hueso, independiente de los anterio-
En la próxima sesión, construiremos res, aunque forma parte del esquele-
una secuencia de animación para el to, que utilizaremos para calcular la
esqueleto. Podremos realizar esta se- cinemática inversa (huesoik). Ob-
cuencia mediante la técnica de ani- tendremos una configuración similar
mación lineal empleada en sesiones a la figura 2.
anteriores; definiendo la posición de
todos los puntos finales (IK Solver) Importante: Todos los huesos de- Figura 4
en cada frame clave, o bien definien- ben formar parte de un único obje-
do acciones en el módulo de Anima- Falta por indicar a blender cómo de-
to Armature. Por tanto, cuando formar la malla. Para ello, crearemos
ción No Lineal. Utilizaremos esta se- añadamos nuevos huesos al esque-
gunda alternativa, mucho más cómo- grupos de vértices con el mismo
leto, lo haremos siempre desde el nombre que los huesos del esquele-
da para construir animaciones com- modo de edición del objeto.
plejas. to. Asociaremos a cada conjunto de
vértices un hueso de los anteriores.
Antes de definir el esqueleto del mo- Podemos activar la representación Entramos en modo de edición de vér-
delo creado en la práctica anterior, del nombre de cada hueso pinchando tices del objeto y seleccionamos el
veamos cómo asociar un Armature a en el botón Draw Names de los Bo- grupo de vértices que están situados
una malla de polígonos, y el convenio tones de Edición . También es útil, sobre el hueso1 (ver figura 4).
de nombrado que utiliza Blender. cuando el modelo está representado
en sombreado (tecla Z), activar en el
mismo menú X-Ray para ver el es-
queleto a través de la malla.

Figura 5
Figura 1
En los botones de edición (´),
Empecemos con un ejemplo sencillo; crearemos un nuevo grupo de vérti-
insertamos un cubo a la escena. Ex- ces (pinchamos en new). Tecleamos
truimos la cara lateral y activando las el nombre del primer hueso "hue-
superficies de subdivisión, construi- so1" y, con los vértices asociados al
mos una malla como la mostrada en primer hueso seleccionados, pincha-
la figura 1. Figura 3 mos en Assign. De esta forma he-

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 9 [Página 1]
mos creado el primer grupo de vérti-
ces, asociados a hueso1. Si nos
equivocamos al asignar vértices, po-
demos quitar los erróneos con Re-
move. El botón Select sirve para
mostrar los vértices seleccionados de
un grupo y Deselect para deselec-
cionar los vértices del grupo. Crea-
mos un grupo para cada hueso y
asignaremos los vértices que se
muestran en la figura 4.

Si nos fijamos, hay vértices que per-


tenecen a dos grupos. Es buena
práctica que los vértices situados en
la zona de unión de dos huesos, per-
tenezcan a los dos grupos de vértices
asociados. Blender calculará cómo
deformarlos para que el resultado fi-
nal en la malla sea suave.
Figura 9
Hecho esto, haremos la malla hija del
esqueleto ¦P, Use Armature, otro lado del cuerpo, como por ejem-
Don't create groups. Con esta últi- plo las piernas y los brazos, los nom-
ma opción indicamos a blender que braremos acabando en .R (los hue-
no genere automáticamente los gru- sos de la derecha) y en .L (los de la
pos de vértices (ya que hay huesos izquierda). Esto nos servirá para "co-
que no deben utilizarse en las defor- piar" y "pegar" posiciones simétricas
maciones de vértices). Por lo gene- en la práctica de la siguiente sesión.
ral, es mejor asignar manualmente De momento nos ocuparemos de
los grupos de vértices. mantener la notación exacta y con-
sistente.

Añadimos como primer Armature el


formado por Fémur.R, Tibia.R y
PiernaNull.R (ver figura 7). Des-
pués, y recordemos que tenemos
como objetivo tener un único Arma-
ture con todos los huesos, sin salir
Figura 6 del modo de edición, añadimos una
nueva cadena de huesos: Pie.R y
Entramos en modo de pose para el PieNull.R. Finalmente, añadimos
esqueleto y movemos el hueso hue- como cadenas independientes de un
soik. Si todo ha ido bien, se deberá único hueso: DedosPie.R, IkDedos-
aplicar la deformación en el modelo Figura 8 Pie.R, IkTobillo.R e IkPie.R.

(ver figura 6). Aplicare- Hecho esto, realizaremos los siguien-


mos este método al ar- tes parentescos entre huesos. Para
chivo p9modelo.blend. ello, iremos a los botones de edición
, y en modo de edición º, con to-
Comenzaremos por el dos los huesos seleccionados A, ele-
esqueleto de las pier- gimos el nombre del hueso padre en
nas. Los huesos que el campo child of; ver figura 8) los
tengan simétricos en el dos huesos IK pequeños; IkDedos-

Figura 7 Figura 10

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 9 [Página 2]
Figura 11

Pie.R e IkTobillo.R con el controla- lumna vertebral (Estomago, Pecho Location de IkHombros y Hombro-
dor principal del pie: IkPie.R. Al y ColumnaNull). Para limitar el ini- Null.R servirá de origen para el
hueso DedosPie.R añadimos una cio y el fin de la columna, inserta- CopyLocation de Humero.R. De for-
restricción "copy location" hacia el mos 2 nuevos huesos (IkCaderas e ma similar se definirán los huesos y
hueso IkDedosPie.R. Al hueso Pie- IkHombros). Añadimos una restric- restricciones para el lado izquierdo.
Null.R un IkSolver hacia IkDedos- ción de tipo CopyLocation a Esto-
Pie.R. Al hueso Pie.R un "copy loca- mago, respecto de IkCaderas. A Contruiremos los brazos como una
tion" hacia PiernaNull.R. Finalmente ColumnaNull un IkSolver sobre Ik- cadena de 3 elementos: Humero.R,
a PiernaNull.R un IkSolver hacia Ik- Hombros. De ese punto sacaremos Cubito.R y Mano.R. Añadiremos un
Tobillo.R. Si todo ha ido bien, ten- dos cadenas de huesos (una para IkSolver (IkMano) sobre Mano.R.
dremos un comportamiento como se cada lado): Hombro.R y Hombro- Añadiremos nuevas cadenas de hue-
ve en la figura 9; rotando IkPie.R, se Null.R. Hombro.R tendrá un Copy- sos para los dedos. Índice, Corazón y
observa un comportamiento general
en la pierna, quedando el hueso De-
dosPie.R paralelo siempre al suelo.

Crearemos grupos de vértices como


se explicó con el primer ejemplo de la
práctica, nombrando los grupos igual
que los huesos que los deformarán:
Fémur.R, Tibia.R, Pie.R y Dedos-
Pie.R. Al terminar, podemos empa-
rentar la malla con el esqueleto de la
pierna. La deformación debe verse en
este punto. A partir de ahora, todos
los huesos que añadamos al esquele-
to y grupos de vértices en la malla
tendrán resultado directo en el modo
de animación "pose" (ver figura 10).
En la figura 11 puede verse una cap-
tura de la jerarquía que tenemos que
construir.

La figura 12 muestra los nombres


exactos de los huesos y sus relacio-
nes de parentesco. Añadiremos una
cadena de huesos para formar la co- Figura 13

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 9 [Página 3]
Anular tendrán 3 huesos (el dedo pul- aparezcan los que vayamos a utili- Puede resultar de utilidad tener el es-
gar sólo 2) más un cuarto hueso zar. Esto se consigue activando el queleto en una capa distinta del resto
(*null) que servirá como origen del botón Hide que aparece en color de elementos. Esto nos permitirá
IkSolver. Añadiremos un hueso inde- azul al lado del nombre del hueso. ocultarlo cuando no estemos traba-
pendiente para cada dedo, que ser- jando directamente con él.
virá como destino del IkSolver. En la figura 12 aparece el conjunto
Además, emparentaremos el origen de huesos que serían de utilidad a la Después de ocultar un subconjunto
de cada cadena de huesos con Ma- hora de animar el personaje (bási- de los huesos del esqueleto, obtene-
no.R. Una captura del esqueleto de camente los IKSolver de todas las mos una configuración como la mos-
esta parte puede verse en el anexo cadenas de huesos, que serán los trada en la figura 13.
de la figura 11. huesos a desplazar): IKPie.*, IK-
DedosPie.*, IKTobillo.*, IKCade- En la siguiente sesión emplearemos
Finalmente podemos ocultar algunos ras, IKHombros, IKCabeza, IK- animación no lineal para mezclar ac-
huesos para que, cuando estemos en Mano.*, IKPulgar.*, IKIndice.*, ciones individuales aplicadas a ciertas
modo de edición de pose, sólo nos IKCorazon.* e IKAnular.* partes del modelo.

Figura 12

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 9 [Página 4]
Práctica 10: Animación No Lineal
Animación para la Comunicación ::: ESI-CR ::: UCLM
Carlos González Morcillo :: Carlos.Gonzalez@uclm.es :: http://www.inf-cr.uclm.es/www/cglez

Continuando con la sesión anterior, realizaremos una animación sencilla uti-


lizando el módulo de animación no lineal (ANL) de Blender. Definiremos un
conjunto de acciones sencillas que mezclaremos convenientemente.
Software: Blender 2.32. Fecha: 13/Mayo/2004

© 2004 Carlos González Morcillo. Se permite la copia, distribución y/o modificación de este documento bajo los términos de la licencia de documentación
libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes. Puede consultar esta licencia
en http://www.gnu.org

P
ara comenzar a trabajar, abri- la posición que muestra la figura 1.
mos dos ventanas nuevas en Para ello, desplazaremos y rotaremos
blender. Una que contendrá el en modo Pose ¦º los huesos de de-
editor de Acciones y otra de tipo finición de la cinemática inversa fina-
editor NLA (Non Linear Animati- les; IKMano.R, IKMano.L, IKPie.R
on). En animación no lineal, definire- e IKPie.L. Con los huesos seleccio-
mos las acciones como conjuntos de nados, insertamos un frame clave I
posiciones clave de un subconjunto de Localización y Rotación (LocRot).
de huesos. Así, en el movimiento de En la ventana de Acciones deberán Figura 2
"andar", definiremos la acción de aparecer unos cuadros de color ama-
"mover las piernas" y la acción de rillo en el frame 1. Con los cuatro situemos en los frames intermedios
"mover los brazos". De la combina- huesos seleccionados, vamos a co- (7 y 21) y añadamos nuevos frames
ción de ambas acciones en el compo- piar la posición actual al buffer de clave con la pierna que corresponda
sitor de NLA obtendremos el movi- blender. Para ello, pinchamos en el levantada. Finalmente, obtendremos
miento de "andar". botón o seleccionamos Armature, una acción en la ventana de acciones
Copy current Pose, ambas opciones como se muestra en la figura 2. En la
Vamos a añadir el movimiento de en la cabecera de la ventana 3D. Al ventana NLA aparecerán una serie de
mover las piernas al caminar. En la lado de este icono hay dos que nos cuadritos amarillos indicando los fra-
ventana 3D, situamos el esqueleto en permiten pegar la posición copiada mes clave (figura 3). Podemos ver la
, y pegar la posición animación de la acción pulsado ¥A.
invertida . Podemos
realizar estas operaciones
con sus correspondientes
opciones dentro del menú
Armature visto anterior-
mente.

Mediante el pegado inver-


tido, siempre que haya- Figura 3
mos utilizado la notación
especial empleada por Como la acción está terminada, la re-
blender de nombrar me- nombraremos como "Andar", tal y
diante .R y .L los huesos como muestra la figura 2 y la quita-
simétricos en cada lado remos de la ventana de NLA. Para
del cuerpo, podremos pe- esto, pinchamos en el botón de la
gar la pose empleada in- cabecera de la ventana de acciones.
vertida. Esto no elimina la acción realmente;
podemos recuperarla de nuevo acce-
Así, pinchamos en copiar diendo a la lista desplegable . Con
la posición actual y nos la acción creada, podemos utilizarla
desplazamos al frame 14. como franja de Animación No Lineal;
Pegamos la posición inver- que se representa mediante barras
tida e insertamos frame amarillas que podemos escalar, sua-
clave I. Nos vamos al fra- vizar y componer.
me 28 y pegamos la posi-
ción normal . Inserta- En la ventana de NLA , y con el es-
mos de nuevo un frame queleto seleccionado (la banda "Ar-
clave. Si reproducimos la mature" tiene que aparecer con el
acción, tendremos un mo- rótulo en color blanco en la ventana
vimiento parecido a andar, de NLA), pulsamos §A, Add Ac-
pero sin levantar los pies tion y seleccionamos la acción recién
del suelo (estilo Moonwal- creada ("Andar"). Podemos escalar la
Figura 1 ker). Bastará con que nos duración de la acción de caminar al

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 10 [Página 1]
Finalmente, ¿cuán- empiece). Blendin y Blendout son
to avanza el perso- el número de frames que damos para
naje en cada paso? mezclar la acción con las siguientes.
Pues, avanza 6.5 Es un factor de suavizado que aplica
unidades de rejilla Blender en la interpolación entre ac-
× 1 unidad que ciones. Repeat indica el número de
mide cada rejilla × veces que vamos a repetir la acción.
2 "mitades simétri- Stride es un parámetro muy impor-
cas" que tiene cada tante si estamos utilizando caminos
paso = 13 unidades (paths), como en nuestro caso. Indi-
reales por cada pa- ca a Blender el número de unidades
Figura 4 so. Anotamos este que avanza el modelo en cada ciclo.
valor, porque lo uti- Debemos ajustar este parámetro
número de frames que queramos lizaremos más adelante. para evitar que el modelo "patine"
(como cualquier objeto, con S), o sobre el suelo. Aquí debemos indicar
desplazarlo en la línea de tiempo con ¿Cómo hacer que el personaje siga el parámetro calculado anteriormente
G. Crearemos nuevas acciones (como un camino? Necesitamos añadir un (13 unidades reales en nuestro
taparse la cara, girar la cabeza...) de elemento de tipo Curve, Path. Ajus- caso).
forma similar. Podemos añadir accio- tamos los puntos de control y empa-
nes ya creadas a la ventana NLA pul- rentamos el esqueleto (hijo) a la cur- Si activamos UsePath, la acción se
sando de nuevo §A. va (padre), ¦P Normal Parent. He- va a sincronizar con el avance del
cho esto, si reproducimos la anima- path. En nuestro ejemplo, activare-
Podemos ver cómo quedó la compo- ción ¥A comprobamos que el perso- mos este botón únicamente en las
sición de acciones de esta sesión en naje sigue el camino, pero no rota acciones que tengan que ver directa-
la figura 4. La parte inferior, que tie- adecuadamente. mente con el acto de caminar; es de-
ne frames clave directamente sobre cir, únicamente "andar". El
el objeto Lamp.004, se corresponde botón de Hold, si está activo,
con el efecto del foco que ilumina la nos conserva la última posi-
cara del muñeco al comenzar la ani- ción alcanzada por una acción.
mación (insertamos claves respecto Por último, el parámetro Add
de la capa -layer-). A continuación indica que el movimiento final
analizaremos algunas opciones de resultará de la composición de
composición. esta acción con el resto (sus
efectos se suman). Por lo ge-
neral, este parámetro tendrá
Figura 7 que estar siempre activo para
todas las acciones.
Para conseguir que el esqueleto gire
según el vector normal al camino que Por último, recordaremos que Blen-
hemos añadido, inserta- der permite trabajar
mos una restricción al hasta el mínimo nivel de
esqueleto de tipo Fo- detalle mediante curvas
llow Path (figura 7). In- IPO. Podemos, por
dicamos en el campo de ejemplo, variar la velo-
Figura 5 Objeto (OB), el nombre cidad del personaje que
del path insertado (en el sigue sobre el path ac-
Antes de hacer que el personaje siga caso del ejemplo, "Cur- cediendo a la curva IPO
un camino, vamos a medir la longi- ve"). Activamos el botón asociada al camino (ver
tud de paso de nuestro personaje. Curve Follow. Es im- figura 9). Para esto,
Para ello, desde la vista lateral de la portante indicar el eje tendremos que elegir de
acción de andar, y con el paso total- correcto que apunta ha- la lista desplegable la
mente extendido (figura 5), anota- cia el techo Up, y el vec- opción Path. Podemos
mos el número de unidades de la re- tor que apunta hacia de- variar la duración del
jilla que abarca el paso (en el ejem- lante Fw (en el ejemplo camino desplazando ha-
plo de la figura, 6½ unidades. de la figura 7 sería el eje cia la izquierda el punto
negativo de las Y). final de esta curva (en
el ejemplo está ajustado
En la ventana NLA, se- Figura 8 a 100 frames).
leccionamos la acción
"andar" y pulsamos N.
Con esto, accedemos a
las propiedes específicas
Figura 6 de la acción (ver figura
8). Las propiedades de
Muy bien, ya sabemos el número de Strip Start y Strip End
unidades de la rejilla, pero... ¿Cuánto indican el momento en
mide la rejilla? Para ver esto, acce- el que la acción comien-
demos a View, View Properties en za y termina en la plani-
la cabecera de la ventana 3D, y ficación NLA actual. Ac-
como muestra la figura 6, tenemos el tion Range hace men-
valor en el campo Grid: Spacing. En ción a la duración (en
el caso de nuestro ejemplo, cada cel- frames) de la acción (in-
da de la rejilla mide 1 unidad real. dependiente de dónde Figura 9

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 10 [Página 2]
Práctica 11: Render Realista
Animación para la Comunicación ::: ESI-CR ::: UCLM
Carlos González Morcillo :: Carlos.Gonzalez@uclm.es :: http://www.inf-cr.uclm.es/www/cglez

Esta práctica completa los conceptos vistos en teoría sobre trazado de ra-
yos, radiosidad, mapas de entorno (simulación de reflexiones) e iluminación
basada en imágenes de alto rango dinámico.
Software: Blender 2.33a. + Yafray 0.0.6 + Gimp 1.2.4 Fecha: 20/Mayo/2004

© 2004 Carlos González Morcillo. Se permite la copia, distribución y/o modificación de este documento bajo los términos de la licencia de documentación
libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes. Puede consultar esta licencia
en http://www.gnu.org

C
omenzaremos la primera par-
te de la práctica cargando el
escenario de la figura 1 (en el
fichero P11Radiosidad.blend). La
iluminación de la escena vendrá dada
por las áreas de luz de las superfi-
cies superiores (planos) de la habita-
ción. Recordemos que en Radiosidad,
la iluminación vendrá generada por
superficies. De esta forma, necesita-
remos crear planos a los que asigna-
remos un material que emita luz.

Es muy importante la dirección del


vector normal ya que Blender "lan-
zará" la luz en ese sentido. Por tanto, Figura 1
tendremos que asegurarnos que el
vector normal de cada foco apunta mos (figura 4) en el botón Collect
"hacia el suelo", tal y como muestra Meshes. Aparecen en la vista de la
la figura 2. Para comprobar que es cámara unos cuadrados blancos y
así, seleccionamos cada "foco", y en azules. Los azules representan el ta-
modo de edición de vértices º, con maño mínimo y máximo de los "Ele-
todos los vértices seleccionados A, mentos" (recordemos que cada Par-
accedemos a los botones de edición che está formado por un conjunto de
y activamos el botón Draw Nor- Elementos), y los blancos represen-
mals. Podemos ajustar el tamaño de tan los "Parches".
representación del vector normal en
Nsize. En caso de que la normal esté Hecho esto, pinchamos en Limit
invertida, podemos ajustarla pulsan- Subdivide, seguido de Subdiv
do W Flip Normals o rotando la ca- Figura 3 Shoot Element y Subdiv Shoot
ra. Patch. Finalmente pinchamos en el
Añadimos una esfera a la escena, si-
botón Go. De esta forma comienza el
tuada debajo del segundo foco y le
proceso de cálculo de la solución de
asignaremos un material de color
radiosidad. Podemos parar el proceso
azul (activamos además Set Smooth
en cualquier momento pulsando ¹,
en los botones de edición ). De
quedándonos con la aproximación
momento, no calcularemos su mapa
que se ha conseguido hasta ese ins-
de entorno.
tante.
Accedemos al menú de radiosidad
Observamos que hay un error en el
con el botón , que está dentro de
cálculo de nuestra escena. Las pare-
las subopciones de sombreado .
des de la habitación permanecen de
Seleccionamos todas las mallas que
color negro. Esto es porque el vector
forman nuestra escena A y pincha-

Figura 2

Los elementos que emiten luz


tendrán el campo Emit del material
con un valor mayor que 0. Los focos
de la práctica tienen un valor de 0.1
(ver figura 3). A la caja de color rojo
se le dio un valor de 0.020. Figura 4

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 11 [Página 1]
normal de las caras de las paredes para algunas operaciones (como en centro de la esfera, al que llamare-
están apuntando hacia el exterior. Li- los mapas de entorno). Las capas ac- mos "EmptyEntorno" (figura 9). Nos
beramos la solución de radiosidad tivas (visibles) en cada momento servirá para calcular el mapa de en-
anteriormente calculada (pinchando pueden verse en la cabecera de cual- torno cúbico, como si estuviéramos
en Free Radio Data). Con la habita- quier ventana 3D (figura 6). situados en ese punto del espacio.
ción seleccionada y en modo de edi-
ción de vértices º, con todos selec-
cionados A, corregimos las normales
W Flip Normals.
Figura 6

En el caso de la figura 6, sólo la pri-


mera capa está activa. Podemos se-
leccionar múltiples capas como acti-
vas pinchando sobre ellas con la te-
cla § pulsada.

Movemos los objetos seleccionados


(en nuestro caso, la nueva malla) a
Figura 9
una nueva capa pulsando la tecla M.
Nos aparecerá una ventana emer- Al material azul de la esfera le aso-
Figura 5 gente donde nos pedirá la capa des- ciamos una textura (también me-
tino del movimiento (figura 7). diante el atajo de teclado ±). Añadi-
De igual modo, es importante que el
mos una textura nueva Add New, y
material de todo objeto que interven-
en el tipo de textura elegimos Env-
ga en la escena tenga el botón Radio
Map. Aparece una nueva pestaña
activado (ver figrua 5). De otra for-
con las opciones del mapa de entor-
ma, aparecerá de color negro en la
escena, aunque tenga los vectores no. Los botones azules (Static,
Anim y Load) indican si el mapa de
normales apuntando correctamente. Figura 7
entorno se va a calcular sólo una vez
Movemos la malla de radiosidad a la (en caso de que los objetos del mun-
En la figura 4, el tamaño de los par-
segunda capa y liberamos la memo- do no se muevan), Anim (en caso de
ches (PaMax - PaMin) determina el
ria ocupada por estos datos pinchan- que haya desplazamiento de los ob-
detalle final (cuanto más pequeño
do en Free Radio Data. jetos) o Load (para cargar el mapa
sea, más detallado será el resultado
de entorno precalculado en una ima-
final), pero incrementamos el tiempo
Activamos únicamente la segunda gen). Free data sirve para forzar a
de cálculo. De forma similar ocurre
capa y renderizamos. Tenemos que que se recalcule el mapa. En Ob: in-
con el tamaño de los elementos (El-
obtener una imagen similar a la figu- dicaremos el objeto que nos servirá
Max - ElMin). En Max Iterations
ra 8. de origen para calcular el mapa. En
indicamos el número de pasadas que
nuestro caso será EmptyEntorno.
Blender hará en el bucle de Radiosi-
Con CubeRes indicamos la resolu-
dad. Un valor 0 indica que haga las
ción, en píxeles, de cada pared del
que estime necesarias. MaxEl indica
cubo (hemos aumentado la resolu-
el número máximo de elementos
ción a 300 píxeles). Al lado, tal y
para la escena. Hemires es el ta-
como muestra la figura 10, nos indi-
maño del hemicubo (técnica utilizada
ca qué capa(s) no queremos renderi-
para calcular el parámetro H visto en
zar.
teoría, de cálculo de visiblidad).

Con las normales corregidas, y con


los valores por defecto de Blender,
seleccionamos de nuevo todos los
objetos de la escena A y lanzamos
Figura 8
igual que antes el cálculo de la radio-
sidad. Vamos a añadir el mapa de entorno a
la esfera, para que refleje el resto de
Una vez terminado el proceso de objetos de la habitación. Para ello,
cálculo (podemos pararlo cuando la primero separaremos la malla del
calidad sea aceptable con ¹), pode- resto, moviéndola a la capa 3. En
mos añadir la nueva malla calculada modo de edición de vértices º, se-
reemplazando las creadas anterior- leccionamos uno de los que forman Figura 10
mente (Replace Meshes) o añadirla la esfera. Pulsamos la tecla L y se-
como nueva a la escena (Add new Es muy importante no renderizar las
leccionamos, de esta forma, todos
Meshes). Elegiremos esta segunda capas donde se encuentren los obje-
los que están enlazados con ese di-
opción. Antes de deseleccionar la tos a los que vamos a aplicar el
rectamente (los que forman la esfe-
malla con la información de radiosi- mapa de entorno. De otra forma, el
ra). Separamos este conjunto de vér-
dad calculada, la moveremos a otra mapa obtenido renderizaría el inte-
tices como un objeto nuevo pulsando
capa. Las capas en Blender se utili- rior del objeto (en nuestro caso la
P. Movemos la esfera a la tercera
zan de forma similar a como se hace esfera). Así, indicamos que la capa 3
capa (tecla M con la esfera seleccio-
en cualquier otro programa de di- no la vamos a tener en cuenta. Para
nada). Hacemos las dos capas visi-
seño. Pueden resultar muy útiles terminar, en los botones de som-
bles a la vez. Añadimos un objeto
cuando la complejidad de la escena breado °, habrá que indicar que que-
Empty en la capa 2, situado en el
crece. Incluso son imprescindibles remos usar el vector de reflexión

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 11 [Página 2]
como coordenadas de textura (Refl), pedestales de las esta-
como se muestra en la figura 11. tuas y al suelo. Vamos
a asignar materiales a
los dinosaurios. Todos
los elementos que for-
man cada dinosaurio
(ojos, párpados y cuer-
Figura 11 po) comparten el mis-
mo material. Hay tres
Hecho esto, si renderizamos la esce- materiales diferentes,
na (con el botón EnvMap de las op- nombrados como oro, Figura 13
ciones de render activado), debemos plata y cristal. Selec-
obtener un resultado similar al de la cionamos cada uno de color) en el material. En nuestro caso,
figura 12. los dinosaurios y, en los botones de se ha definido el material como muy
sombreado , asignamos las pro- transparente (A = 0.110).
piedades de material correspondien-
tes a las figuras 14 (oro), 15 (cris- Finalmente, se ha elegido en todos
tal) y 16 (plata). los materiales el modelo de brillo es-
pecular Toon, por concentrar los bri-
Los materiales de oro y plata tienen llos, y se han ajustado los parámetros
activado el botón de RayMirror. de reflexión y brillo como muestra
Con esto, indicamos a blender que cada figura.
debe tomar estos materiales como
espejos (en el grado indicado por
RayMir), calculando el número de
niveles recursivos indicado por
Depth. Mediante el parámetro
Figura 12 Fresnel ajustamos el nivel de refle-
xión de este material, suavizado con
 2ª Parte ::: Raytracing el parámetro Fac.

En esta segunda parte de la práctica El material de cristal, además debe


utilizaremos las características de tra- ser translúcido. Por esta razón, se
zado de rayos de blender. Para co- ha activado el botón RayTransp,
menzar, abriremos el fichero P11- con un bajo índice de refracción Figura 17
RayTracing.blend. (parámetro IOR). A mayor IOR,
mayor refracción del material. Es Si queremos renderizar la escena,
En este archivo, encontramos la esce- importante ajustar el parámetro de hay que activar el render mediante
na de la figura 13. Únicamente se han transparencia Alpha (notado con la raytracing de Blender. Para ello, acti-
asignado texturas procedurales a los letra A, debajo de la definición de vamos el botón Ray (ver figura 17).

Figura 14

Figura 15

Figura 16

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 11 [Página 3]
Figura 20

El nivel de Oversampling influye de una textura para obtener un cambio del conjunto de opciones File Paths.
forma muy directa sobre el tiempo de en el vector normal (Nor) y aplicar Será en este directorio donde se al-
render. Lo activaremos únicamente así Bump Mapping en el letrero de macene el fichero de descripción de
cuando queramos obtener la imagen cada estatua. escena YBtest.xml que utilizaremos
final. Además, es muy aconsejable más adelante.
realizar las pruebas de renderizado a Vamos a renderizar la misma escena
baja resolución. en Yafray. Para ello, primero debe- Nos situamos en los botones de ren-
mos tener instalado yafray correcta- derizado , y seleccionamos en la lis-
mente en nuestro sistema y, desde ta desplegable a Yafray como motor
una consola tecleando "yafray", de- de render (ver figura 21, a la izquier-
berá mostrar las opciones del pro- da debajo del botón Render). Apare-
grama. Con yafray correctamente cerán dos pestañas con las opciones
instalado, tendremos que indicar a de configuración de Yafray (figura
Figura 18 blender el directorio donde debe 21).
El parámetro inferior
(en la figura 17 está
marcado con el valor
256) indica la reso-
lución de árbol octal
que emplea blender
para construir la es-
cena. Con valores
más altos, el tiempo
de procesamiento
previo es mayor Figura 21
pero ahorraremos
guardar los ficheros que generará Es importante que las primeras prue-
tiempo en la generación de la ima-
yafray. Esta opción de configuración bas de render las realicemos a baja
gen. Cambiamos el tipo del foco, acti-
se indica desplegando la zona de la resolución (25% de la resolución defi-
vando el botón RayShadow en las
cabecera superior de blender (nos nitiva o incluso menor), y desactivan-
propiedades del foco (figura 18).
situamos en la zona de unión de la do el Oversampling. Cuando los valo-
ventana 3D con la ventana de infor- res de iluminación sean correctos, ac-
Si renderizamos la escena, obtendre-
mación y arrastramos). El directorio tivaremos el render a máxima calidad
mos un resultado similar al de la figu-
temporal de yafray (ver figura 20) con un nivel de Oversampling acepta-
ra 19. En este caso, se ha utilizado
se especifica en el campo YFexport ble (8 suele ser suficiente).

Figura 19 Figura 22

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 11 [Página 4]
En el panel titulado Yafray (figura [Loader]: Added globalphotonlight light gpm
21), tenemos opciones generales de [Loader]: Added pathlight light path_LT
configuración; como el botón Au- [Loader]: Added constant background world_background
toAA, que permite a Yafray seleccio- [Loader]: Added camera MAINCAM
nar automáticamente el nivel de An- Using a world resolution of 0.00152381 per unit
tiAliasing (Oversampling), la profundi- Rendering with 5 raydepth
dad máxima del trazado de rayos 2 anti-alias passes and 4 minimum samples per pass, 8
Raydepth y ajustes particulares de samples total.
exposición de la luz, corrección de Building the bounding tree ... OK
gama, etc... Setting up lights ...
Finished setting up lights
En panel de iluminación global (Ya- Launching 1 threads for rendering ...
fray GI), en principio presenta dos Rendering ...
listas de selección. En la lista de mé- 0% 50% 100%
todo de iluminación Method, pode- [####...................................]
mos elegir entre Skydome, en el que
la luz se calcula proveniente única- Listado 1
mente desde el fondo, o Full, que
minado entre fotones. Es importante do blender). Antes de obtener los
realiza un cálculo de iluminación glo-
encontrar un valor adecuado para parámetros definitivos, hemos reali-
bal completa (con iteración de la luz
que el resultado sea suave. Mix- zado pruebas a baja resolución. El
entre objetos). Elegiremos este se-
Count indica el número de fotones proceso de generación de la imagen
gundo método. La lista de calidad
que van a situarse dentro del radio puede resultar bastante costoso y,
Quality ajusta, según el parámetro
anterior. Finalmente, el botón Tune dependerá del procesador el tiempo
seleccionado, las variables que nece-
Photons sirve para obtener una de generación. Podemos abortar el
sitará yafray para renderizar la esce-
respresentación preliminar del ma- render pulsando ¦C en la consola.
na. Estos valores predefinidos según
peado de fotones. Deberá estar de-
la calidad elegida, podrán cambiarse
sactivado para generar la imagen Vamos a utilizar ahora iluminación
editarndo el fichero XML (YB-
resultado. basada en imágenes HDRI. Para ello,
test.xml) que exportará Blender. El
eliminamos el foco de la escena y,
parámetro Power situado en el infe-
Con estos parámetros, podemos con los mismos parámetros del ejem-
rior del panel permite ajustar la in-
renderizar la escena · y obtenemos plo anterior, lanzamos el render. Es-
tensidad de las fuentes de luz de la
la imagen de la figura 22. El progre- peramos a que yafray cargue los ob-
escena. En algunas escenas habrá
so de render puede verse en la con- jetos de la escena, analice la gramáti-
que ajustar este parámetro (normal-
sola en modo texto de blender (el ca y llegue al punto de generación de
mente incrementarlo) para obtener
terminal DOS en windows o la con- la imagen (cuando muestra la barra
un valor de iluminación correcto.
sola desde donde hayamos ejecuta- de progreso; ver listado 1). En este
Con el método de renderizado com-
pleto, tendremos que especificar dos <background type="constant" name="world_background" >
nuevos parámetros; Depth (rebotes <color r="1.009920" g="1.009920" b="1.009920" />
de la luz entre objetos) y CDepth </background>
(rebotes de la luz dentro de objetos
<camera name="MAINCAM" resx="550" resy="600" focal="1.193182" >
translúcidos para obtener caústicas). <from x="15.503942" y="1.697953" z="17.577042" />
<to x="14.842168" y="1.940074" z="16.867512" />
Si activamos el modo Caché, acele- <up x="14.837610" y="1.941742" z="18.281717" />
raremos los cálculos y suavizamos el </camera>
ruido. En ShadQu indicamos la cali-
dad de las sombras; con valores más <render camera_name="MAINCAM"
altos obtenemos mejores resultados raydepth="5" gamma="1.000000" exposure="0.000000"
AA_passes="2" AA_minsamples="4"
(naturalmente, con mayor tiempo de
background_name="world_background"
cálculo). Prec indica la precisión del AA_pixelwidth="2" AA_threshold="0.05" bias="0.001000" >
píxel (un valor más bajo implica ma- <outfile value="f:\yafrayTemp\YBtest.tga" />
yor calidad). Gradient es un esque- </render>
ma de suavizado de sombras, que no
vamos a utilizar en nuestra escena. Listado 2 (Original)
Refinement es un valor umbral,
donde especificamos el cambio de in- <background type="HDRI" name="entHDRI" exposure_adjust="0.3">
tensidad que vamos a permitir entre <filename value="car.hdr"/>
muestras. Valores más pequeños dan </background>
resultados más precisos.
<camera name="MAINCAM" resx="550" resy="600" focal="1.193182" >
<from x="15.503942" y="1.697953" z="17.577042" />
Los fotones Photons únicamente <to x="14.842168" y="1.940074" z="16.867512" />
ayudan al cálculo de la iluminación. <up x="14.837610" y="1.941742" z="18.281717" />
Funcionan especialmente bien en es- </camera>
cenas de interiores donde no hay cie-
los visibles, donde la luz entra por <render camera_name="MAINCAM"
una zona claramente definida. Aun- raydepth="5" gamma="1.000000" exposure="0.700000"
que en nuestra escena no serían ne- AA_passes="2" AA_minsamples="4"
cesarios, vamos a utilizarlos y a estu- background_name="entHDRI"
diar sus parámetros. Count indica el AA_pixelwidth="2" AA_threshold="0.05" bias="0.001000" >
<outfile value="f:\yafrayTemp\YBtest.tga" />
número de fotones a lanzar, un nú-
</render>
mero mayor implica un restulado más
suave. Radius indica el nivel de difu- Listado 3 (Modificado)

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 11 [Página 5]
momento podemos abortar el render
¦C (el fichero XML ha sido guardado
en el directorio temporal de yafray).

Nos vamos al directorio de exporta-


ción de yafray y editamos el fichero
YBtest.xml. Al final del fichero, reali-
zaremos una serie de cambios rela-
cionados con el modo de iluminación.
Del fichero original (listado 2), cam-
biamos al tipo de fondo background
(listado 3) y el nombre del fondo en
la etiqueta render. En nuestro ejem-
plo, car.hdri es el nombre de la ima-
gen HDRI que hemos utilizado. Exis-
ten visores gratuitos de este tipo de
imágenes, como HDRView.
Puede ser interesante modificar los
atributos AA_passes del campo Ca-
mera (número de pasadas de AntiA-
liasing) y la resolución de la imagen
(campos resx y resy) a la hora de
realizar pruebas. Si la iluminación es
correcta, ajustaremos la resolución a
su valor definitivo con las pasadas de
AntiAliasing convenientes. Es impor- Figura 25
tante ajustar el parámetro exposu-
re_adjust para cada mapa HDRI. No just y la iluminación particular de habíamos eliminado el foco). Asigna-
hay una receta mágica. Deberemos cada imagen. remos a toda la escena el mismo ma-
probar para cada mapa HDRI qué va- terial, que no tendrá nada de brillo
lor debemos ajustar en este paráme- Vamos a mejorar la imagen aña- especular (ver figura 26). De igual
tro. De igual forma, podemos ajustar diendo iluminación desde un foco. forma, quitaremos las propiedades de
la exposición de la cámara (paráme- Para ello, volvemos al fichero de la reflexión y transparencia en raytra-
tro exposure). escena con la que obtuvimos la ima- cing. Definiremos el material de color
gen de la figura 22 (cuando aún no blanco.

Figura 23

Con el fichero modificado, desde un


terminal lanzaremos yafray pasándole
como parámetro el nombre del fiche-
ro XML. Tras un rato de espera, ten-
dremos la bonita imagen renderizada
donde apunte el parámetro outfile
(ver listado 3). Con la imagen HDRI
de la figura 23 (car.hdri), hemos ob-
tenido el resultado de la figura 24.
Podemos encontrar imágenes HDRI
en varios sitios de internet. Uno de
ellos, en la página del investigador
principal de este tipo de técnicas Paul
Debevec (http://www.debevec.org/).

En la figura 25 se pueden ver varias


pruebas de iluminación empleando di-
ferentes imágenes HDRI. Los resulta-
dos dependen, de igual forma, del
ajuste del parámetro exposure_ad- Figura 24

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 11 [Página 6]
Figura 26

Esta imagen resultado (figura 28),


la compondremos con el resultado
del render mediante HDRI, para ob-
tener la imagen final de esta sesión
(figura 30). Para ello, abrimos la
imagen resultado del paso anterior
en GIMP, creamos una capa nueva y
pegamos en esta capa la imagen de
la figura 28. Este paso puede verse
en la figura 29.

Queremos componer la nueva capa


como capa de sombras. Tenemos
que indicar a GIMP que componga
esta nueva capa, empleando el
Figura 29
modo Multiply, que oscurece los co-
lores de las capas inferiores (en este sultado sea más suave. Con esta téc-
caso, la capa con el render HDRI, nica podemos ajustar el resultado fi-
Figura 27 con la nueva capa de sombras. nal de nuestras imágenes dando ma-
Además, ajustaremos la opacidad de tices particulares de iluminación,
la capa de sombras, para que el re- creando y componiendo varias capas.

Figura 28

Sin cambiar los parámetros de render


(y sin emplear imágenes HDRI), lan-
zamos la generación de la imagen
con Yafray. Mediante este proceso
obtendremos una imagen que guar-
dará la información de las sombras
en la escena. Como no hay diferen-
cias en los materiales, podemos em-
plear esta imagen como mapa de
sombras y componerla con la escena
renderizada con el mapa HDRI (de la
figura 24). Abrimos la imagen gene-
rada en este paso (correspondiente
con la figura 27) con Gimp, y ajusta-
mos el brillo y el contraste para obte-
ner una imagen con la información de
las sombras). Para ello, hacemos
sobre la imagen, Image, Colors,
Brightness-Constrast. Ajustamos el
brillo a 70 y el contraste a 110. Figura 30

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 11 [Página 7]
Práctica 12: Composición de Vídeo
Animación para la Comunicación ::: ESI-CR ::: UCLM
Carlos González Morcillo :: Carlos.Gonzalez@uclm.es :: http://www.inf-cr.uclm.es/www/cglez

En esta última sesión aprenderemos a manejar un programa de edición de


vídeo: Zwei-stein. Sincronizaremos un conjunto de vídeos, con efectos de
transciones y rótulos mediante imágenes.
Software: Zwei-Stein 3.01 Fecha: 27/Mayo/2004

© 2004 Carlos González Morcillo. Se permite la copia, distribución y/o modificación de este documento bajo los términos de la licencia de documentación
libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin secciones invariantes. Puede consultar esta licencia
en http://www.gnu.org

A
l ejecutar el programa nos en-
contramos con el interfaz que
se muestra en la figura 1.

Figura 1

La ventana aparece dividida en 4


Figura 3
partes. Arriba a la derecha está la
zona de previsualización. En esta Para comenzar, cargaremos un vídeo Destination, Video Format elegire-
parte podemos reescalar los vídeos haciendo sobre la zona de la línea mos 352 / 288 (CIF PAL) , y en
que componemos, desplazarlos, de tiempo , Import Video Clip. Destination, Frames Per Second
etc... Además, ofrece una visión del Cargaremos "povray.mpg" (ver figu- 25. Guardamos el proyecto.
resultado que obtendremos. Abajo a ra 2). Las imágenes y sonidos se im-
la derecha aparece la ventana de portan con esta misma opción. La Podemos hacer "zoom" sobre la línea
ayuda. Arriba a la izquierda está la aplicación soporta AVI, BMP, JPG y de tiempo pinchando en los botones
zona de filtros y propiedades. Por úl- WAV. + y - de su esquina inferior derecha.
timo, abajo a la izquierda aparece la Pinchando en F el programa realiza
típica línea de tiempo de los progra- Antes de continuar cargando los ví- el ajuste óptimo. Distinguimos nue-
mas de composición de vídeo. deos, configuraremos el proyecto. En vas partes del interfaz (ver figura 3).
En (a) se definen los parámetros de
entrada del vídeo (imagen o sonido).
Entre otras cosas, podemos "recor-
tar" únicamente la parte de un vídeo
que nos interese utilizar. En (b) ges-
tionaremos los filtros. En el vídeo de
ejemplo, se han utilizado, principal-
mente, el de opacidad (Basic ef-
fects, Opacity) y el RGB Key, que
nos permite definir qué color tomar
como transparente (muy útil en rotu-
lación). (c) nos define la posición,
dentro del vídeo seleccionado, en
que nos encontramos. Es un valor
local. El valor global del vídeo se en-
cuentra en la barra inferior de la ven-
tana. La aplicación mide el tiempo en
segundos (no en frames, como Blen-
der).

Figura 2 Podemos acceder a un valor exacto

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 12 [Página 1]
de tiempo haciendo doble clic con mes clave y las interpolaciones? Para buen ratio entre calidad y velocidad
sobre la barra de tiempo. Podemos esta aplicación, al igual que la ma- de compresión. Es importante cono-
especificar un valor numérico exacto yoría de editores de vídeo, las inter- cer el destino del vídeo generado, ya
prácticamente sobre cualquier pará- polaciones entre frames clave son li- que algunos códecs se ajustan mejor
metro (barras deslizantes, etc...) con neales. Por tanto, los parámetros a su publicación online, y otros mejor
este método. (d) está formado por cambiarán a velocidad constante en- a publicación multimedia.
tres valores: punto de comienzo (en tre claves definidas.
el tiempo general de la composición), Para terminar, en la figura 4 se
comienzo local del vídeo (si lo hemos Para introducir un frame clave sobre muestra el esquema final resultante
recortado por el principio, será dis- cualquier parámetro, bastará con del vídeo generado en esta práctica.
tinto de cero) y punto final. Dando cambiar el parámetro en el frame ac-
valores exactos a estos parámetros, tual. Por ejemplo, si quisiéramos in-  Más editores de vídeo
podemos ajustar con total precisión troducir un degradado en la transpa-
las uniones entre partes. (e) permite rencia del primer vídeo, nos iríamos Zwei-stein es un programa freeware
desplazarnos por el tiempo general al segundo 0.0 y cambiaríamos el va- pero no libre. Otra alternativa algo
del vídeo. lor del filtro Opacity a -1. Después, menos potente es el compositor de
avanzamos un poco (por ejemplo, vídeo de Blender que se utilizó en
Encima de (e), podemos definir segundo 0.5) y cambiamos el valor a prácticas anteriores. Para realizar
"atajos" para llegar a ciertas partes 0. Observamos que aparece una lí- operaciones sencillas con flujos de ví-
del vídeo. (f) ofrece una previsuali- nea de representación sobre el obje- deo y audio, se puede utilizar Vir-
zación del frame actual. La barra (g) to vídeo, que indica la variación de tualDub http://www.virtualdub.org/,
define el intervalo que vamos a ge- ese parámetro. Los puntos amarillos una aplicación para windows que
nerar de vídeo. Cuando realicemos indican frames clave. permite cambiar el codec de una se-
pruebas, sólo generaremos el inter- cuencia, cortar y pegar trozos, etc...
valo sobre el que estemos probando. En la ventana de previsualización
Cuando queramos generar el vídeo también aparecen cuadros amarillos Los usuarios de Linux tienen varias
completo, haremos sobre (g) cuando tenemos un frame clave. Po- alternativas libres. Sin duda, una de
Auto Adjust Make Strip. Por últi- demos realizar operaciones básicas las más versátil es Cinelerra,
mo, (h) ofrece una previsualización sobre los frames clave en (a) y (b), http://heroinewarrior.com/cinele-
del resultado final y un mecanismo accediendo con . Generamos el ví- rra.php3, desarrollado por heroine
para reescalar y desplazar los ele- deo resultado (delimitado por la fran- warrior. Otra alternativa en linux,
mentos que intervienen en la compo- ja Make) accediendo a Destination, mucho más intuitiva de utilizar (aun-
sición. Export, Video for Windows *.AVI. que con menor funcionalidad) es
Un codec que da muy buen resultado Kino, descargable en http://kino.s-
¿Cómo gestiona Zwei-Stein los fra- es el de Intel (IYUV) o el Xvid con un chirmacher.de/.

Figura 4

Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 12 [Página 2]