Escolar Documentos
Profissional Documentos
Cultura Documentos
¿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
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.
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
© 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
© 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".
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
© 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
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
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.
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
© 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 (AB o BA). 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
© 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
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
© 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
© 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.
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.
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
© 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.
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.
Figura 2
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
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.
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).
Figura 23
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 11 [Página 6]
Figura 26
Figura 28
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
© 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
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]