Está en la página 1de 47

Aprende

en 24 horas

Blender & Yafray


Diseo Grfico 3D con Software Libre
Carlos Gonzlez Morcillo
Escuela Superior de Informtica
Universidad de Castilla-La Mancha
Sobre este libro...
Apren
der Ble
nder y Y
afray en 24 h
oras?

n
lender e
g e n e ral y de B ficos 3D
r
Libre en de los g es
llo d e l Software s y entusiastas y funcionalidad d
d e sa rr o s io n ale s ti c a s c a n tid a
el ritm o de io n a do s, profe on caracter re h a c e r gran
c
rendente eses afi rsin c revisar y
Es sorp Cada pocos m na nueva ve ga a tener que
la r. u b li
particu tar de ente, eso me o in de lo
s
s disfru c recopilac impartida
podemo ntes. Como do os . :- ) a d u n a
e los a alid cin
sorprend al docente todos ) es en re omunica urso
m a te ri e n tu pantalla acin para la C Mancha en el c ron
de n o s (o A n im ll a-L a e fu e
tus ma natura e Casti tos qu
q u e tienes en dos para la asig Universidad d texto a concep n la Wikipedia
Este libro prcticos realiza Informtica de la rencias en el ogle o e
s fe a en Go
tutoriale uela Superior de encuentres re ue una bsqued
c te q
en la Es 6. Probablemen ricas... Nada s razn.
0
2005/20 s en las clases
te
n re a lid ad tiene tulado
.e e ti
o
explicad n arreglar. mentira.. po. Lo h
da te h a parecido n tan poco tiem prcticas en la
no pue s se e que
n 24 hora rramienta horas d l tiempo
d e A prende e er a usar las he o ms de 20 a para casa. E previa, tu
titulo rend poc tare cia
Si el sub . No podrs ap ente tenamos os se llevaban za, tu experien ctica. Puedes
e ntira d a m lu m n es tr e p r
Es m
ue apro
xim a
e en que
los a
ende de
tu d
60 ho
ras d e toriales
as porq . Eso se traduc tutoriales dep enos sern 50 la m u ltitud de tu
ra s m er y con
asignatu r realizar esto ... pero por lo oficial de Blend
u e ri , e tc u a l
te req in 3D el man . Puede
s
d de vis tos con mons 2.5 mirror),
capacida los conocimien ati ve C o m n
r
completa en la red. ncia Cre hagas u ces
te n te s L ib re bajo lice gradecer que mismo, no reali s
exis lib ro e s we b (a u to r d el es en tu
a o s , este a tu p gina b re s c o mo a e q ue lo us
s d
que otro subirlo me nom antado
Al igual onde quieras, ... Siempre que nte, estar enc
o d , e tc o c e
copiarl lo a tu vecino eres d de imag
en
e das. Si sntesis migo en
regalrs vadas o lo ven xperiencia. nd o d e la
co n
eri
obras d e comentes la
e en el mu ontacta
se s y m n tu a p rendizaje comentario, c
cla co n
disfruta es alg
u n saludo y utador. Si tien lending!
Y nada
m s ,
or comp Happy B
l p
siona s.
tridimen nzalez@uclm.e
rl o s.G o
Ca
Sesin 01: In
tro
Sesin 02: O duccin al Interfaz
peradores de
Sesin 03: T Modelado Bs
cn
Sesin 04: M icas de Modelado Avanz ico
od ado
Sesin 05: M elado de un Personaje
ateriales y Te
Sesin 06: A xturas
ni
Sesin 07: A macin Bsica
nimacin Jer
Sesin 08: A rquica
ni
Sesin 09: Es macin basada en Esque
queletos Avan letos
Sesin 10: R
enderizado R zados + Adenda
Sesin 11: An ea
imacin No Li lista
neal

LICENCIA:

2005, 2006 Carlos Gonzalez Morcillo. Se permite la copia y distribucin de la


totalidad o parte de esta obra sin nimo de lucro. Toda copia total o parcial deber citar
expresamente el nombre del autor. Al reutilizar o distribuir la obra, tiene que dejar bien
claro los trminos de la licencia de esta obra. Alguna de estas condiciones puede no LICENCIA CREATIVE COMMONS
aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos Reconocimiento-NoComercial-SinObraDerivada 2.5 Espaa
derivados de usos legtimos u otras limitaciones reconocidas por ley no se ven
afectados por lo anterior. Usted es libre de copiar, distribuir y comunicar pblicamente la obra,
bajo las condiciones siguientes:
Documento: Blender y Yafray: Diseo Grfico 3D con Software Libre.
Fecha de Publicacin: 31 de Julio de 2006 Reconocimiento. Debe reconocer los crditos de la obra de la
Autor: Carlos Gonzlez Morcillo manera especicada por el autor o el licenciador.
Email: Carlos.Gonzalez@uclm.es
Web: http://www.inf-cr.uclm.es/www/cglez No comercial. No puede utilizar esta obra para nes comerciales.
Institucin: Escuela Superior de Informtica Universidad de Castilla-La Mancha
Descripcin: Apuntes de la parte prctica de la asignatura Animacin para la Sin obras derivadas. No se puede alterar, transformar o generar
Comunicacin del curso 2005/2006. una obra derivada a partir de esta obra.
1
Carlos Gonzlez Morcillo
PRCTICA

22 Febrero 2006
(Carlos.Gonzalez@uclm.es)

Introduccin al Interfaz de Blender


Animacin para la Comunicacin Escuela Superior de Informtica Universidad de Castilla-La Mancha

Esta primera prctica nos servir como toma de contacto con la


herramienta. Personalizaremos el entorno, aadiremos algunos objetos
bsicos y, finalmente, renderizaremos una escena sencilla.

E
l interfaz que presenta Blender al arrancar es el Antes de empezar a trabajar, personalizaremos el entorno
mostrado en la Figura 1. Todas las ventanas de de Blender. Dividiremos la ventana 3D con la distribucin
Blender son personalizables, de tal forma que que se muestra en la Figura 3. Para ello, nos situaremos
podemos dividir la pantalla como nos resulte ms cmodo y con el ratn en la zona de divisin de dos ventanas (por
situar en cada porcin el tipo de ventana que queramos. ejemplo, entre la zona de divisin entre la ventana 3D y la
Adems, las rdenes sobre el interfaz de usuario son ventana de Botones) y con la ventana 3D iluminada
coherentes (si una combinacin sirve para desplazar los (seleccionada), haremos y elegiremos Split Area.
elementos de la ventana 3D, har lo mismo sobre una Partiremos la pantalla hasta conseguir una disposicin del
ventana de botones o de texto). rea de trabajo como se muestra en la Figura 3. Podemos
eliminar las cabeceras, as como situarlas en la parte
superior de las ventanas haciendo sobre ellas y
seleccionando No Header.

Figura 1

Por defecto Blender arranca la


pantalla con tres divisiones; la Figura 3
ventana superior de tipo User
Preferences , la intermedia de Para rotar el punto de vista de una ventana 3D,
tipo 3D View y la inferior de arrastraremos con pinchado. En ratones de dos botones,
tipo Buttons Window . con pulsada, arrastraremos el ratn con . Podemos
Podemos cambiar el tipo de hacer zoom en cualquier ventana (vista 3D, ventanas de
ventana pinchando en el botn y botones, etc...) manteniendo pulsado, y arrastrando .
seleccionando alguno de los tipos Si estamos trabajando sobre una vista 3D, tambin
que se muestran en la figura 2. podemos hacer zoom utilizando la rueda central con la que
cuentan algunos ratones. En ratones de dos botones,
La vista 3D nos muestra un mediante . Para desplazar el punto de vista
cuadrado de color rosa. Este
(horizontal y verticalmente), utilizaremos . De igual
cuadrado es un cubo que crea
forma, con ratones de dos botones utilizaremos
Blender al comenzar a trabajar. El
color rosa indica que est . Si estamos trabajando en Linux y tenemos un ratn de
seleccionado. El crculo inferior es dos botones, cambiaremos en la combinacin de teclas
el foco por defecto, y la pirmide anterior la tecla (utilizada para arrastrar una ventana)
Figura 2
negra de la derecha representa la por la tecla de funcin de Windows (que por fin
cmara. El resto de cuadrados de la escena forman la utilizaremos para algo til ;-) )
cuadrcula que nos servir para colocar los objetos de la
escena con precisin. Cambiaremos el modo de vista de cada vista 3D mediante
atajos de teclado o los botones destinados a tal efecto.
El crculo de color rojo y blanco situado en el centro de la Pulsando 5 en el teclado numrico, cambiaremos entre
ventana es el puntero 3D. Todos los elementos que se proyeccin ortogrfica y perspectiva. Con 0 tendremos la
aadan a la escena lo harn donde se encuentre el puntero vista de la cmara. 1, 3, 7 (tambin desde el el men
3D; adems podr servirnos como punto y para situar View en la cabecera de la ventana 3D) nos darn las vistas
elementos con precisin en prximas prcticas. de la escena de planta, alzado y perfil respectivamente.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 1 [Pgina 1 de 2]
Por defecto, las transformaciones bsicas son
dependientes del punto de vista (es decir, si rotamos
un objeto desde la vista en perfil, rotaremos desde un
eje. Si lo realizamos desde la vista en planta, desde
otro diferente). En las vistas de planta, alzado y perfil
podemos ver un pequeo eje de coordenadas
cartesianas en la parte inferior izquierda de cada
ventana 3D.

Precisin: Si mantenemos pulsada la tecla


mientras realizamos una transformacin, lo haremos
en modo de precisin. La tecla permite realizar las
transformaciones en unidades discretas (ajustndonos
a la rejilla o de 5 en 5 unidades).

Todas las operaciones anteriores pueden realizarse de


forma numrica, si con el objeto seleccionado pulsamos N.
Figura 4 Aparecer una ventana en la que podemos indicar con
precisin los valores numricos de las transformaciones a
Una vez configuradas las vistas como se muestra en la aplicar. Los valores numricos pueden introducirse por
Figura 3, vamos a personalizar nuestra escena. Con el cubo teclado si hacemos click con sobre una entrada de texto
por defecto seleccionado (seleccionamos objetos con mientras mantenemos pulsada la tecla .
sobre ellos), en color rosa, pulsaremos y lo quitaremos
de la escena. Realizaremos la misma accin con la lmpara Ayudndonos de las vistas de planta, alzado y perfil,
de la escena. Aadiremos un objeto bsico de Blender; por situaremos el puntero 3D debajo de la cabeza del mono.
ejemplo, la cabeza de Suzanne (Suzanne es la mascota de Recordemos que la posicin del puntero 3D se cambia
Blender). Para insertar nuevos elementos a la escena, pinchando con sobre la vista. Una vez situado
correctamente el puntero, aadiremos un plano a la escena
pulsaremos , y elegiremos Add/ Mesh/ Monkey.
que servir de "suelo" al objeto anterior. Para ello, y con el
Cuando insertamos un objeto en la escena, lo har en modo
puntero del ratn situado en la vista superior, pulsaremos
de edicin de vrtices. Para volver al modo de edicin de
objeto, pulsaremos .
, Add/ Mesh/ Plane. Saldremos del modo de edicin
de vrtices del objeto con , y lo escalaremos para que
Con los objetos seleccionados, podemos realizar las tres cubra el suelo de la escena. Deberemos obtener una
operaciones bsicas de transformacin sobre ellos: configuracin similar a la Figura 4.
Figura 5

Rotacin: Pulsando una vez (no mantener pulsada) la


tecla R (Rotation) y desplazando con el ratn,
rotamos el objeto.

Traslacin: Pulsando una vez la tecla G (Grabber) y


desplazando con el ratn.

Escalado: Pulsando una vez la tecla S (Scale) y


desplazando el ratn.

Estas operaciones pueden realizarse tambin empleando El Render se realiza a travs del botn del grupo de Escena
manipuladores 3D. Se activan pinchando en el icono (tambin mediante la tecla ), Render Buttons , y
situado en la cabecera 3D de la ventana. Una vez activado, pinchando en el botn marrn de RENDER o bien con el
elegimos el tipo de transformacin (traslacin , rotacin atajo de teclado ... Por qu no sale nada?. No hemos
o escalado ) y si queremos que se realicen respecto iluminado la escena. Ocultaremos la ventana de render
del sistema de referencia global, local o perpendicular a la pulsando . Aadiremos una luz de tipo Spot en la posicin
vista. Aparecern sobre el objeto unos ejes que podemos que muestra la Figura5. Es importante direccionar bien este
desplazar mediante . tipo de lmpara, ya que la escena ser iluminada en el rea
que abarca el foco. Para aadir el foco, situaremos el cursor
Las operaciones anteriores, permiten el uso de ciertos 3D en la posicin adecuada. Aadiremos la luz mediante
modificadores para conseguir mayor precisin en la orden a Add/ Lamp/ Spot. Cambiaremos la intensidad del
realizar. Podemos ejecutar estos modificadores mientras foco con el botn de gestin de lmparas del grupo de
transformamos el objeto con una operacin de rotacin, sombreado (o pulsando ). Aumentamos el valor de
escalado o traslacin: energa a 1.5. Orientamos el foco para que apunte
correctamente al objeto (utilizando la rotacin R).
Limitacin del eje: Si mientras
realizamos la transformacin, pul- Renderizamos y si el resultado es similar al
samos la tecla X, Y o Z, estamos mostrado en la Figura 6, guardamos la imagen
limitando la transformacin a que pulsando . El formato de la imagen que
se realice en un nico eje. La salvaremos se selecciona en el apartado del
primera vez que pulsemos la tecla botn de render , dentro de la pestaa
forzaremos a que la transformacin Format. Elegiremos, por ejemplo, JPG
se realice sobre el eje correspon- conservando la calidad de la imagen en un
diente al Sistema de Referencia valor alto (Quality entre 80-95). Es necesario
Global, y si pulsamos una segunda indicar la extensin de forma explcita en la
vez lo limitamos sobre el sistema imagen que guardemos desde Blender (por
de referencia local del objeto. Figura 6 ejemplo resultado.jpg.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 1 [Pgina 2 de 2]
2
Carlos Gonzlez Morcillo

29 Febrero 2006
PRCTICA (Carlos.Gonzalez@uclm.es)

Operadores de Modelado Bsico


Animacin para la Comunicacin Escuela Superior de Informtica Universidad de Castilla-La Mancha

Como continuacin del trabajo realizado en la primera sesin, co


menzaremos a realizar los primeros objetos 3D partiendo de una ima
gen 2D. Veremos el uso de curvas y operadores bsicos de modelado.

E Para aadir vrtices: manteniendo pulsado , haremos .


jecutamos Blender y eliminamos el cubo y la lmpara
creados por defecto. Pinchamos en View (en la De esta forma, aadiremos los vrtices 7 y 8. Para cerrar la
cabecera de la vista 3D) y elegimos Background figura (es decir, aadir la arista que une 8 con 1),
Image. Pinchamos luego en Use Background Image. La pulsaremos la tecla C. Podramos pensar que hacen falta
ventana que nos aparece (ver Figura 1) nos permite ms vrtices, por ejemplo, entre 6 y 7. Sin embargo, no es
cambiar la imagen de fondo, variar su situacin (X Offset e necesario ajustar mejor la superficie en las secciones
Y Offset) y el nivel de transparencia (Blend). Cargamos curvas, ya que lo haremos por medio de la tensin en la
como fondo la imagen logouclm.jpg. Hecho esto, cerramos curva tipo Bezier.
la ventana Background Image.
Figura 1 Seleccionamos de nuevo todos los vrtices , pulsando la
tecla A (deben quedar todos en color amarillo). Volvemos a
los botones de edicin y convertimos la curva a tipo
Bezier. Deben aparecer unos segmentos de color verde.
Estos son los segmentos de tangente, que especifican el
grado de tensin en la pendiente de cada seccin de curva.
Deseleccionamos todos los vrtices y elegimos uno de los
que requieren curvatura (por ejemplo el 6).

Ajustaremos los puntos de tangente hasta obtener la


geometra que se ajuste bien a la imagen de fondo. Cuando
hayamos terminado, volveremos al modo de edicin de
objeto , y pulsaremos la tecla Z para obtener la
representacin sombreada, tal y como muestra la figura 3
(ventana izquierda). Volvemos a la representacin con
lneas pulsando de nuevo la tecla Z.
Figura 3

Vamos a trazar el contorno del logotipo por medio de una


curva. Para ello, aadiremos una a la escena con
Add/ Curve / Bezier Curve. Con la curva aadida, y sin
salir del modo de edicin (sin pulsar ), vamos a los
botones de edicin ( o ) y convertimos la curva a
polgono, pinchando en el botn Poly del grupo Curve
Tools. Esto nos permitir trabajar de forma ms cmoda.
Cuando hayamos ajustado los puntos de control al logotipo,
convertiremos de nuevo a cuva de Bezier, ajustando la
tensin en los tramos que lo requieran.
Aadiremos otras curvas de Bezier a la escena y
Por defecto, tenemos todos los vrtices seleccionados procederemos de forma similar, convirtiendo a polgono,
(todos en color amarillo). Pulsamos la tecla A y los ajustando puntos y volviendo a convertir a Bezier para
deseleccionamos todos (aparecen en rosa). Ahora modelar las otras tres secciones que definen el logotipo.
desplazaremos los vrtices al contorno exterior del logotipo Cuando hayamos terminado, podemos quitar la imagen de
(seleccionamos cada vrtice fondo pulsando de nuevo View/
de forma individual con , y Background Image... Si hemos salido del
desplazamos pinchando una modo de edicin al aadir cada curva,
vez la tecla G). La curva tendremos que cada curva creada es un
original est formada por 6 objeto independiente. En Blender, podemos
vrtices. Los situaremos en unir objetos en una nica entidad si
las posiciones 1 .. 6 tal y seleccionamos todos con (manteniendo
como muestra la figura 2. pulsada), y despus pulsando J Join
Podemos realizar zoom en la Selected [Tipo de Objeto], siendo Curves
vista 3D ( + ) o usando el tipo de objeto en este caso. Tambin
la rueda central del ratn, podemos separar objetos unidos,
para tener una mayor seleccionando la parte a separar y pulsando
precisin a la hora de situar la tecla P, con el objeto en modo de edicin
los vrtices. Figura 2 de vrtices.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 2 [Pgina 1 de 3]
Pasaremos a realizar una Vamos a renderizar la escena. Situaremos la cmara para
extrusin sobre la curva para obtener una vista como la que se muestra en la figura 7.
obtener el modelo 3D. Aadiremos un foco de iluminacin de tipo Spot. Para ello,
Rotaremos la vista para tener pulsamos Add/ Lamp/ Spot. Orientamos el foco
un ngulo mejor a la hora de para que apunte al logo 3D, rotndolo con ayuda de las
ver la operacin realizada. vistas superior, frontal y lateral. La situacin del foco
Elegimos en modo de deber ser similar a la mostrada en la figura 7. Probamos a
seleccin de objeto, cambia- renderizar la escena . Si el objeto sale muy oscuro,
mos los valores de extrusin podemos ajustar la intensidad del foco en los botones de
y redondeado tal y como se foco , en el campo Energy a un valor superior.
muestra en la figura 4. Este Ajustaremos las opciones de renderizado como se indica en
panel se encuentra dentro de la figura 8.
los botones de edicin Figura 7
(dentro del grupo Curve and
Surface). Podemos cambiar
los valores en los botones de
insercin, pinchando y arras-
trando sobre ellos, o bien
mantiendo pulsada la tecla
y haciendo sobre Figura 4
ellos.

Vamos a aplicarle un material sencillo al modelo.


Seleccionamos el logo y pinchamos en el botn de
materiales, tal como muestra la figura 5 (o bien pulsamos
). Como no hay ningn material en la escena, tendremos
que aadir uno nuevo, que luego aplicaremos al logotipo.
Se pueden crear tantos materiales como sean necesarios,
pero en este ejemplo utilizaremos slo uno. Para crear un
nuevo material, pincharemos en el botn Add New.
Activamos el botn de Shadows para que el motor de
render calcule las sombras de la escena. OSA
(OverSAmpling) con valor 16 hace que el antialiasing se
aplique con la mayor intensidad. Seleccionamos uno de los
tamaos predefinidos pinchando en PC (640x480). Con
100% indicamos que el renderizado se haga al tamao
total elegido.

Cuando hacemos pruebas es interesante poner este valor al


Figura 5 50% o al 25% para que la generacin de la imagen lleve
menos tiempo. Con RGBA, indicamos que la imagen
De todas las propiedades que pueden tener los materiales, resultado debe tener canal Alpha
nicamente vamos a definir el color. Figura 6 de transparencia. As, tendremos
Ajustaremos los valores del color tal y como que seleccionar un formato que
se indica en la figura 6. En prximas soporte canal Alpha (como
sesiones de prcticas, veremos con ms Targa; *.TGA). El canal Alpha
profundidad las opciones de materiales y codifica, en tonos de grises, qu
texturas en Blender. Podemos seleccionar el parte de la imagen es de objeto y
color del material de una forma ms qu parte es el fondo. Un valor de
intuitiva, pulsando sobre el cuadro de color negro indica que no hay ningn
situado a la izquierda del botn Col. objeto en ese pixel de la imagen
(es el fondo), mientras que blanco
Daremos un nombre al material que hemos indica objeto slido. Los tonos de
creado; en el botn que hemos pinchado gris indican objetos semitranspa-
para aadir el material, tendremos una caja rentes.
de texto. Manteniendo pulsado ,
pinchamos con y tecleamos un nombre para el material, El resultado de renderizar la escena debe ser similar al
por ejemplo, UCLMRojo. Podramos aplicar el mismo mostrado en la figura 9. La figura 10 se corresponde con el
material a otros ojbetos de la escena, y que todos canal Alpha de la imagen resultado (este canal puede verse
compartan las mismas propiedades. As, si cambiamos las abriendo el fichero con un programa de procesamiento de
propiedades del material, todos los objetos de la escena imgenes como GIMP). Podemos cambiar el color de fondo
que lo tengan sufrirn los cambios. Esto se realiza accediendo a las propiedades del mundo y cambiando el
seleccionando el material de la lista desplegable. Podemos color del horizonte (HoR, HoG, HoB) (figura 11).
activar el modo de visualizacin slida con Z.
Figura 8

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 2 [Pgina 2 de 3]
Figura 9 Figura 10 Figura 12

Guardamos la imagen como solido.tga. Salvamos tambin Seleccin de brocha (figura 15), pinchamos para seleccionar
el fichero de blender y cambiamos el material. Nos vamos una redonda que tenga un radio grande (por ejemplo,
al men de materiales y asegurndonos que estamos Circle Fuzzy 19).
trabajando con MA:UCLMRojo, cambiamos el color del
material en las tres componentes (R,G,B) a 0.300. Adems, Ajustamos la opacidad de la
activamos el botn de Wire (situado en el centro). goma (en la ventana de
Renderizamos de nuevo la escena; debemos obtener un opciones de herramienta) a
resultado similar al de la figura 12. Sin haber cambiado 25 aproximadamente.
ninguna opcin de renderizado, ni la posicin de la cmara, Hecho esto, borramos una
guardamos la imagen resultante como alambre.tga. parte de la capa slido (la
derecha, por ejemplo).
Hacemos otra pasada consi-
guiendo un efecto de
degradado, como se mues-
tra en el resultado final.

Para terminar, aadimos un


efecto de sombra a la capa
alambre. Seleccionamos la
capa, nos vamos a la
imagen y hacemos
Figura 11
Script-Fu/ Sombra/
Salvamos el proyecto de blender y abrimos GIMP, el Sombra Base. Podemos
programa de composicin y retoque fotogrfico GNU. dejar los parmetros tal y Figura 14
Cargamos las imgenes solido.tga y alambre.tga. como estn y aceptamos.
Comprobamos que el fondo de la imagen no es negro; est
formado por "cuadritos". Esto indica que GIMP ha Vemos que, debajo de la capa alambre se ha creado una
importado las imgenes con el canal de transparencia capa llamada Drop-Shadow (ver figura 14). Podemos
correctamente. variar la opacidad de la capa de sombra
generada. Si no nos gusta el resultado,
Las capas actan como planchas de plstico eliminamos la capa (pinchando en el botn del
transparentes. El orden de las capas importa cubo de basura), y probamos a cambiar los
(al igual que si colocamos una transparencia parmetros del script. Para terminar,
delante de otra). Renombraremos la capa de pinchamos con sobre la imagen (o sobre el
la imagen slida. Para ello, nos situamos men Archivo de la ventana de la imagen), y
sobre la capa y haciendo Editar guardamos el fichero con formato XCF (el
atributos de capa, le pondremos como formato nativo de GIMP), que permite
nombre "solido". Aadiremos una capa almacenar el fichero tal y como estamos
nueva, que est rellena de color blanco. trabajando (capas, canales, etc...).
Para ello, pincharemos en el botn , y le
pondremos como nombre Fondo. La capa se Si queremos utilizar la imagen desde otras
ha situado delante del logo. Pincharemos en aplicaciones, tendramos que salvarlo en un
la flecha "abajo", como indica la figura 13, formato como JPG. En este caso GIMP nos
para ordenar las capas. advierte que perderemos la
informacin acerca de las capas,
Seleccionamos la ventana donde se ha canales, etc.... El formato de
abierto el fichero alambre.tga. Hacemos GIMP est pensado para ser
sobre la imagen, seleccionamos todo (A) utilizado nicamente desde
y seleccionamos Editar/ Copiar (o bien esta herramienta y no es
portable. Incluso los
pulsamos C). Despus, nos vamos a la
propios desarrollado-
imagen solido, y pegaremos el logo de
res de GIMP desa-
alambre como una nueva capa. Para ello,
consejan tratar de
Editar/ Pegar (o V). Vemos que
utilizar este formato
aparece en la ventana de capas como una
desde otra aplicacin,
seleccin flotante. Para generar una capa
ya que est en
nueva con la imagen, pincharemos de nuevo
continuo cambio. Un
en el botn de nueva capa .
formato ampliamente
Renombramos la capa como "Alambre".
usado, con especi-
ficacin pblica, es PSD
Situamos la capa alambre entre la capa
de Adobe Photoshop.
solido y la capa fondo. En la ventana de
Figura 13

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 2 [Pgina 3 de 3]
3
Carlos Gonzlez Morcillo
PRCTICA

07 Marzo 2006
(Carlos.Gonzalez@uclm.es)

Tcnicas de Modelado Avanzado


Animacin para la Comunicacin Escuela Superior de Informtica Universidad de Castilla-La Mancha

En esta sesin utilizaremos tcnicas avanzadas de modelado en


Blender, como NURBS, superficies de revolucin, barrido, etc.
Construiremos un modelo real con un nivel de detalle medio.

U
na tcnica muy empleada en modelado convertiremos en una nica superficie NURBS. Empleando
tridimensional es la rotoscopia. Partimos de las 3 vistas anteriores, aadimos a la escena una superficie
fotografas o bocetos del objeto a modelar desde curva NURBS (, Add/ Surface/ NURBS Curve). Du-
diferentes puntos de vista y los utilizamos como plantilla plicamos la curva mediante D 4 veces y situamos los
para construir el objeto 3D. El objeto de esta prctica lo puntos de control, escalando las curvas duplicadas para
construiremos empleando esta tcnica. Dividimos el interfaz definir el contorno como se muestra en la figura 3.
de Blender tal y como se muestra en la figura 1, y Cuidado!, no aadir mediante Add/ Curve/ NURBS
cargamos como imagen de fondo de cada ventana una Curve, ya que queremos definir posteriormente una
fotografa de la plancha a modelar. Cargamos una imagen superficie.
de fondo en una ventana 3D desde la cabecera de la
ventana, en View/ Background Image. Es importante
cargar en cada vista el fichero adecuado; en la vista del aa Importante: Blender permite utilizar dos modos
de duplicado; uno en el que se duplica el objeto,
plano ZX cargamos Lateral.jpg, en la vista ZY la imagen
obteniendo una copia independiente del original (se
Frontal.jpg y en la vista YX el fichero Planta.jpg.
realiza mediante D), y otro modo en el que los
objetos duplicados comparten las propiedades como la
malla poligonal, materiales, etc... En este segundo modo
(pulsando D), si realizamos un cambio en la malla de
uno de los objetos dupicados, todos sufrirn el cambio.

Figura 3

Figura 1

Nota: En las vistas de planta, alzado y perfil


(Side, Front, Top), puedes ver un pequeo
sistema de coordenadas en la parte inferior izquierda de
la ventana. Estos ejes nos permiten identificar fcilmente
el plano de trabajo al que nos referamos anteriormente.
Con el contorno de la figura 3 definido, unimos todas las
curvas en un nico objeto, seleccionndolas todas y
Por defecto Blender inserta las imgenes con la misma
pulsando J Join Selected NURBS. Pasamos a modo de
escala y en la posicin 0,0. Puede ser necesario ajustar los
parmetros de (figura 2) tamao de la imagen Size, edicin de objeto , y seleccionamos todos los puntos de
desplazamiento horizontal X Offset y desplazamiento control de la curva A, y pulsamos la tecla F. Con esto, los
vertical Y Offset para que la posicin y el tamao de las perfiles son convertidos en una superficie como se muestra
imgenes en las tres vistas sea coherente. Este tamao lo en la figura 4.
ajustaremos segn vaya-
mos trabajando con la es-
cena y veamos las necesi-
dades de ajuste. El par-
metro Blend indica la
transparencia de la ima-
gen; si trabajamos con
imgenes con colores muy
vivos, puede ser recomen-
dable establecer este valor Figura 2
por debajo de 0.5.

Construccin de la Base: NURBS


Para comenzar, utilizaremos la tcnica del Skinning para
construir la base de la plancha. Mediante un conjunto de
perfiles, definiremos la base del objeto a modelar, y los Figura 4

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 3 [Pgina 1 de 5]
Podemos ajustar algunos parmetros de la superficie Blender permite trabajar en modo de edicin de objeto a
generada (figura 4). En los botones de edicin , podemos nivel de vrtice, arista y cara. Indicamos en qu nivel
definir el orden de la curva (Order U,V) en la queremos trabajar en la cabecera de una ventana 3D.
representacin paramtrica U, V. El orden es la profundidad Cuando estamos en modo de edicin de objeto, aparecen 3
de clculo de la curva. Si tenemos orden 1 trabajamos con iconos (ver figura 8), correspondientes al modo de vrtice,
un punto, orden 2 es lineal, 3 es cuadrtico... Tambin se aristas y cara. Por ejemplo, para escalar y rotar las caras
puede definir la resolucin (Resol U,V); el nmero de del cubo insertado de la figura 7 hemos trabajado a nivel de
puntos interpolados entre cada par de puntos de control de cara.
la superficie. Figura 9

Figura 5

Si pulsamos la tecla Z, la malla deber aparecer en modo


sombreado. Es posible que Blender no haya calculado
correctamente la cara exterior de la curva (esto se
aprecia si la superficie generada es de color negro, como en
la figura 5, parte izquierda). Podemos invertir la cara
Con la cara superior seleccionada (como se muestra en la
exterior de la superficie, seleccionando todos los vrtices
figura 7), realizaremos sucesivas operaciones de extrusin
que forman la NURBS (tecla A), y con W Switch
para generar nuevas caras que definan el objeto. Para
Direction. Debemos obtener una superficie de color gris,
realizar la extrusin, con la cara seleccionada, pulsamos E,
como la figura 5 derecha.
Figura 6 y nos pregunta Extrude Region o Individual Faces. Si
seleccionamos un grupo de caras, la primera opcin
(Region), realizar la extrusin conservando la agrupacin,
mientras que la segunda tratar el vector normal de cada
cara de forma individual, obteniendo mltiples salientes en
la superficie. Si hemos seleccionado slo una cara, ambas
opciones son equivalentes.
Figura 10

Utilizando la misma tcnica, construimos la base inferior de


la plancha (ver figura 6). En algunas ocasiones, puede
interesarnos convertir la NURBS a malla poligonal (para
aplicar algunos operadores que no estn permitidos con
curvas). Podramos realizar la conversin con C. No
obstante, para el modelado de esta prctica, vamos a dejar
la superficie de tipo NURBS.

Esta tcnica es muy eficiente para la construccin de


superficies curvas, que mediante polgonos sera muy
costoso. Sin embargo, para otras partes de la plancha Continuamos aadiendo nuevos segmentos al objeto
(como el asa), es ms directo utilizar directamente tcnicas (mediante extrusiones), tal y como se muestra en la figura
poligonales. 9. Puede ser til cambiar a modo de edicin de aristas, para
desplazar (tecla G) las aristas situadas en el puente del asa
y conseguir una forma mucho ms ajustada a la fotografa.
Modelado poligonal del Asa En general, bastar con realizar extrusiones, y rotar y
desplazar las caras intermedias para conseguir que el
Comenzaremos aadiendo un cubo a la escena, como se objeto 3D se ajuste correctamente a las fotografas base.
muestra en la figura 7. Escalamos el cubo y rotamos las
caras laterales para conseguir que se ajuste lo mejor Finalmente obtendremos un objeto como se muestra en la
posible a las vistas lateral y frontal. figura 10. La representacin de las caras en modo de
edicin de objeto en color azul (como se muestra en las
figuras anteriores) se consigue activando en botn Draw
Faces del grupo Mesh Tools 1, dentro de los botones de
edicin (ver figura 11, parte derecha).

Vamos a suavizar la forma del asa obtenida. Para ello,


primero aadiremos ms caras al objeto, que nos permita
suavizar las aristas. Para ello, con todas las caras
seleccionadas A, pinchamos dos veces en el botn
Figura 7
Subdivide del panel Mesh Tools de los botones de edicin
Figura 8

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 3 [Pgina 2 de 5]
Figura 11

(ver figura 11). Las caras aadidas no suavizan el modelo; plancha. Salimos del modo de edicin de objeto y
nicamente incorporan un mayor nivel de detalle. Para convertimos la superficie a malla C (Convert Curve to
suavizar la forma pinchamos sucesivas veces sobre el botn Mesh).
Smooth (situado en el mismo grupo que Subdivide), hasta Figura 13
conseguir un resultado similar al de la figura 11.

De igual forma se ha modelado la pieza de la figura 12.


Cuando la complejidad de la escena aumenta (como en este
ejemplo), es interesante tener vistas locales de los
objetos que estamos editando. Para ello, sobre una ventana
3D podemos seleccionar entre vista local de los objetos
seleccionados y vista global en View/ Local View o
Global View. Tambin se puede realizar esta operacin con
la tecla / del teclado numrico. Aadimos un conjunto de cilindros pequeos que atraviesen
Figura 12 la base de la plancha, como se muestra en la figura 14
(aadimos uno y lo duplicamos con D). Unimos todos
los cilindros en un mismo objeto. Para ello, los
seleccionamos todos (manteniendo pulsada, vamos
seleccionndolos) y finalmente pulsamos J. Vamos a
realizar la operacin booleana de diferencia; seleccionamos
primero el objeto del que vamos a restar el segundo
(primero la base y luego los cilindros). Pulsamos W,
Difference.
Figura 14

Vamos a aadir ahora la parte inferior de la plancha,


utilizando una curva de Bezier y la misma tcnica que
empleamos en la segunda prctica (modelado de un
logotipo). Esta curva la convertiremos a malla para realizar
operaciones booleanas con otros objetos.

Operaciones Booleanas Con esto, obtenemos una base con los agujeros realizados.
Podemos eliminar los objetos originales, o moverlos a otra
Aadimos una curva de Bezier ( Add/ Curve/ Bezier parte de la escena donde no molesten.
Curve), que convertimos a Polgono mediante el botn Poly
del panel Curve Tools de los botones de edicin. Ajustamos Nota: Algunas veces la conversin de superficies
los puntos de control, y convertimos de nuevo a Bezier, curvas a mallas poligonales no se realiza de
para obtener un contorno como el mostrado en la figura 13. forma consistente y produce un fallo en el uso de
operadores booleanos (diciendo que ambas mallas
Ajustamos los parmetros de extrusin de la curva (como
tienen que ser objetos cerrados). Podemos arreglar esta
hicimos en la prctica de la sesin anterior) como se
inconsistencia seleccionando el objeto convertido de
muestra en la figura 13. Esto nos dar la base de la

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 3 [Pgina 3 de 5]
superficie curva, entrando en modo de edicin de vrtices 3D), seleccionamos todos los vrtices A. Situamos el
, seleccionamos todos los vrtices A y pinchamos en puntero 3D del ratn en la posicin del eje donde
el botn Rem Doubles (ver figura 11). El parmetro de queremos realizar la revolucin. Como se muestra en la
Limit situado a su derecha nos indica la separacin figura 17, el eje est situado en el extremo derecho de la
mxima entre vrtices para que stos sean considerados silueta.
como duplicados. Hecho esto, el programa nos indica el Figura 17
nmero de vrtices que ha eliminado y seguramente se
haya arreglado la inconsistencia en la malla poligonal. Si
an as la malla no forma una superficie cerrada,
podemos intentar aumentar el valor del parmetro Limit.

Modelado por Barrido


El cable vamos a modelarlo con la tcnica del barrido
(Sweeping). Para esto, tendremos que definir un contorno y
un camino por el que pasaremos este contorno. El camino
ser un objeto de tipo path Add/ Curve/ Path.
Situaremos el path como se muestra en la figura 15.
Podemos aadir nuevos puntos al path como si fuera una
curva de Bezier (como vimos en la segunda prctica, con
).
Figura 15 En la pestaa Mesh Tools tenemos el campo Degr donde
indicaremos el nmero de grados que queremos realizar la
revolucin (en nuestro caso, un giro completo; 360) y el
nmero de pasos intermedios que queremos que se
calculen Steps; a mayor nmero de pasos, ms suavidad.
Hemos puesto 15 pasos intermedios. Con esto, pinchamos
en el botn Spin, y el cursor del ratn cambia de forma,
preguntndonos sobre qu vista queremos realizar la
revolucin. Tendremos que indicar una vista que sea
perpendicular al eje de revolucin. En la figura 17,
queremos realizar la revolucin sobre el eje Z, por tanto
elegiremos la vista de en medio, definida sobre el plano YX
(perpendicular al eje Z). Cuando pinchemos sobre la vista
, obtendremos una superficie de revolucin como la
mostrada en la figura 18.
Figura 18

El objeto a barrer ser un crculo de Bezier ( Add/


Curve/ Bezier Circle). Nombraremos el circulo insertado
como queramos en el campo OB: de los botones de edicin
(pestaa de Link and Materials); por ejemplo circulo.
Ahora seleccionamos el path, y en modo de edicin de
objeto, ponemos el nombre del objeto circulo en el campo Si la figura de revolucin obtenida no es esa,
BevOb de la pestaa Curve and asegrate que el cursor 3D de la escena est
Surface (figura 15). colocado correctamente, como se ha explicado
Hecho esto, debemos obtener un en el prrafo anterior. La revolucin se realiza
resultado como el mostrado en la teniendo en cuenta la vista sobre la que se
figura 16. Si modificamos el crculo pincha despus de haber seleccionado Spin, y
despus de realizar la operacin (por la posicin del cursor 3D. Si Blender no
ejemplo, cambiamos el tamao), la muestra los botones del grupo Mesh Tools,
superficie barrida reflejar estos recuerda que debes convertir la superficie a
cambios. Al igual que con las malla con las teclas C.
superficies curvas vistas antes,
podemos convertir la superficie a En la siguiente parte de la etapa utilizaremos
malla poligonal con C. una herramienta de copia de objetos.
Figura 16

Superficies de Revolucin Duplicados de Revolucin


El enchufe vamos a modelarlo mediante una superficie de En esta fase del modelado, aadiremos los cilindros y
revolucin. Para ello, aadimos a la escena una curva de objetos auxiliares del modelo. En la parte central, queremos
Bezier, la convertimos a Poly y modificamos el contorno construir una malla que sea copia en espejo circular. Para
hasta obtener una figura como la mostrada en la figura 17. ello, aadimos un plano que vamos a duplicar mediante
SpinDup, y lo escalamos tal y como muestra la figura 19.
Convertimos la curva a malla poligonal C, y pasamos a
modo de edicin de objeto . Trabajaremos a nivel de Con el plano aadido seleccionado, en modo de edicin de
vrtices (cambiar el modo en la cabecera de la ventana objeto y el cursor 3D situado en el centro de revolucin

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 3 [Pgina 4 de 5]
(ver figura 19), elegimos el nmero de pasos de revolucin Separacin de mallas
(en este caso Steps es 10), y los grados (igual que antes,
Degr 360). pinchamos en el botn SpinDup. Para el compartimento frontal, hemos duplicado y separado
Figura 19 parte de la malla original del asa. En modo de edicin de
objeto, y con seleccin de caras, seleccionamos el grupo de
caras que se indica en la figura 21. Con las caras
seleccionadas, las duplicamos con D. Como hemos
aadido nuevas caras en modo de edicin de objeto, estas
caras forman parte del mismo objeto. Queremos que
formen un objeto independiente que podamos rotar y
manejar ms cmodamente. Para ello, con las caras an
seleccionadas, pulsamos P Separate/ Selected.

Al igual que ocurra con el operador Spin, blender nos


pregunta la vista sobre la que queremos realizar la
revolucin. Tendremos que elegir la vista superior (figura
20, ventana central). Obtendremos un resultado como el
mostrado en la figura 20.
Figura 20

Figura 21

Finalmente, con operaciones de extrusin y rotado,


construimos la pieza frontal de la plancha (ver figura 22).

En prximas sesiones de prcticas aprenderemos a manejar


otras caractersticas de modelado con Blender, como
superficies de subdivisin y metasuperficies (muy
empleadas en modelado orgnico), modelado mediante
tcnicas de animacin, etc...

Figura 22

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 3 [Pgina 5 de 5]
4
Carlos Gonzlez Morcillo
PRCTICA

15 Marzo 2006
(Carlos.Gonzalez@uclm.es)

Modelado de un Personaje
Animacin para la Comunicacin Escuela Superior de Informtica Universidad de Castilla-La Mancha

Una tcnica muy empleada en modelado de personajes es el uso de


Superficies de Subdivisin con Rotoscopia. En esta sesin construire-
mos un sencillo personaje mediante este tipo de mallas poligonales.

P Modelado con Superficies de Subdivisin


artiremos de dos vistas del personaje realizadas a
mano y posteriormente escaneadas (figura 1).
Cargamos los bocetos como fondo de dos ventanas Comenzamos aadiendo un cubo a la escena. Con el cubo
3D (en el men View/ Background Image de la seleccionado, vamos a los botones de edicin y aadimos
cabecera). Como puede verse en la figura 2, ha sido un Modificador de tipo Subsurf, para que la superficie sea
necesario el ajuste de la escala de las imgenes para que el de Subdivisin (figura 3).
tamao en la escena de las mismas sea el mismo. En este Figura 3
caso, la vista lateral se ha escalado en 1.66 unidades y la
frontal en 5 unidades.

La lista desplegable del modificador que hemos aadido nos


permite elegir entre el esquema de subdivisin simple
(donde no hay fase de recolocacin de vrtices) o
superficies de Catmull-Clark (las que nos interesan para
esta prctica). Las cajas de texto inferiores sirven para
especificar el nivel de subdivisin mientras trabajamos
interactivamente Levels, y el que se alcanzar en la etapa
de render Render Levels. En la figura 3 vemos que el
Figura 1
primer valor es inferior, que es lo habitual; tendremos un
Tendremos que crear al menos 3 ventanas 3D (dos para valor de subdivisin mayor en la etapa de render. Podemos
poner las vistas frontal y lateral del modelo, y al menos indicar en los cuadros que aparecen al lado de la caja
otra donde rotaremos la vista para trabajar ms Subsurf (ver figura 3) si se aplicar en la etapa de render,
cmodamente con el modelo. En la ventana 3D de la en la representacin de objeto y en la etapa de edicin del
izquierda ponemos la vista frontal (perpendicular al plano objeto. Finalmente, el botn situado un poco ms a la
XZ, accesible mediante 1 del teclado numrico). En la derecha hace que nicamente se represente la superficie
ventana siguiente, pondremos la vista lateral, perpendicular lmite (controlada mediante los parches poligonales de la
al plano YZ (3 del teclado numrico). red de control). Es recomendable tener este botn activado
porque permite un modelado mucho ms intuitivo con este
Figura 2
tipo de superficies.
Figura 4

Puede resultar cmodo activar el botn Draw Faces de la


pestaa Mesh Tools 1 (figura 3), para tener una
representacin clara de la cara que tenemos seleccionada.
Tambin es til cambiar entre representacin Wireframe y
Slida (tecla Z) mientras estamos modelando. La
Debemos obtener una configuracin similar a la mostrada representacin wireframe nos permite ver el fondo a
en la figura 2. En la realizacin de los bocetos y su recorte mientras modelamos, pero la slida oculta las caras ocultas
se debe tener cuidado para que la posicin de los elemen- respecto del punto de vistal, lo que resulta muy cmodo en
tos coincidan en altura. el modelado de muchas zonas. En la figura 4 las ventanas

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 4 [Pgina 1 de 4]
Figura 8
de la derecha tienen representacin slida mientras que la
frontal utiliza wireframe. Partiendo del cubo, seleccionando
la cara superior hemos realizado 4 extrusiones. Se ha
cambiado entre modo de trabajo a nivel de caras y aristas
(seleccionndolo en la cabecera de la ventana 3D, ver
figura 5) para ir ajustando la posicin de las aristas para
que la superficie se ajuste a los contornos que muestra la
figura 4. Es fundamental tener presente las caras de las que
vamos a realizar prximas extrusiones (por ejemplo, los
laterales de la ltima extrusin superior servirn para sacar
los brazos).

De las caras laterales de la parte inferior del tronco, se


sacarn las piernas (ver figura 9). Al realizar las
Figura 5
extrusiones, tendremos que rotar las caras para sacar
En la figura 6 se muestra uno de los pasos seguidos para correctamente el resto de caras. Sin embargo, como se ve
conseguir el contorno anterior. Partiendo de la posicin en la figura 9, esto no es suficiente. Tendremos que entrar
superior, se ha trabajado en modo de edicin de aristas y en modo de seleccin de aristas y desplazar las aristas
se ha desplazado la arista seleccionada para que se ajuste inferiores para que el puente creado entre las piernas sea
al contorno. Puede ser necesario en algunas ocasiones rotar menor.
caras para que se ajusten mejor a la forma perseguida. Figura 9

Ajustando correctamente esta distancia y la rotacin de las


nuevas caras creadas, obtendremos un restultado como el
que se muestra en la figura 10.
Figura 10

Figura 6

Realizamos una extrusin para sacar los hombros (ver


figura 7). En este caso, ha sido necesario escalar la cara De forma anloga a como aadamos ms nivel de detalle
respecto del eje Y (coordenadas globales) para que el brazo que el necesario para el modelado en los brazos, en la zona
no saliera achatado. Esta operacin fue tambin necesaria de las rodillas realizamos sucesivas extrusiones que nos
en las piernas por el mismo motivo. Realizamos nuevas definirn las articulaciones correctamente (ver figura 11)
extrusiones para crear el brazo. cuando aadamos el esqueleto interno en prximas
Figura 7 sesiones de prcticas.
Figura 11

Las articulaciones del personaje requerirn un mayor nivel


de detalle. Es por esta razn por la que se han realizado El modelado de las botas fue bastante sencillo. Partimos de
sucesivas extrusiones en los brazos (cuando con una un cubo al que realizamos dos extrusiones en horizontal
extrusin hubiera sido suficiente para conseguir la forma para la puntera y una ms para rematar el taln. La parte
del brazo completo). En la figura 8 puede verse el proceso donde une con las piernas se ha realizado de nuevo con
seguido para su modelado. estrusiones (figura 12), ajustando el tamao de las caras y
posicionando manualmente algunas aristas.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 4 [Pgina 2 de 4]
Figura 15

Figura 12

Cuando terminemos una bota, podemos duplicarla con Aqu se comprueba claramente que ha quedado un polgono
efecto de espejo (para que siga la forma del otro pie) especfico para la boca, que adems se podr manejar muy
cmodamente con las 4 aristas que la definen. Para realizar
mediante D para duplicar y Transform/ Mirror/
la cavidad de la boca, bastar con extruir hacia el interior y
XYZ Local. Son ejes locales al objeto, por lo que
ajustar las aristas para completar la forma que se muestra
deberemos activar la visualizacin del sistema de
en la figura 16.
coordenadas local a la bota (en los botones de objeto, el Figura 16
botn Axis, situado en la pestaa Draw, dentro del grupo
Draw Extra). En el ejemplo de la prctica se ha realizado
el mirror respecto del eje Z (figura 13).

El casco se ha realizado a partir de un cubo. Tambin es


una superficie de subdivisin. La posicin de las aristas y
nmero de subdivisiones puede verse en la figura 17.
Figura 13

Modelado de la cabeza
Hemos comentado anteriormente la importancia en el
modelado de las articulaciones y msculos que tendr el
personaje. Tambin hay que pensar en facilitar el modelado
de todos los elementos del personaje. Por ejemplo, la figura
14 es un claro ejemplo de lo que no se debe hacer. Nos
hemos centrado en crear la forma de la cabeza con el
menor nmero de polgonos posibles (lo cual en general es
bueno), pero nos dificulta mucho ahora la creacin de la
boca.
Figura 14 Figura 17

Las manos se han creado siguiendo los principios de diseo


de cartoons; tienen 4 dedos y son extremadamente
grandes en relacin con el resto del cuerpo. Esto da mayor
expresividad al personaje.
Figura 18

En el caso de la figura 14 habra que crear una cara en la


zona donde tenemos una arista. Esta operacin no es
inmediata, y tendramos que aadir nuevos vrtices
auxiliares e insertando la nueva cara manualmente. Una
mejor planificacin (como la mostrada en la figura 15) evita
esta situacin.
En la figura 18 se muestra la disposicin en parches. Como
En el caso de la figura 15, se ha partido de un cubo al que puede comprobarse, hasta la zona del pulgar, todo se ha
se ha aplicado dos extrusiones horizontales (dejando la realizado partiendo de extrusiones de un nico cubo.
zona original en el centro). A la nueva regin (formada por Despus, se han realizado dos extrusiones partiendo de la
3 caras), se ha aplicado 4 extrusiones verticales (para darle cara superior e inferior del cubo para sacar la palma, y de
toda la altura hasta la zona donde ir el casco). Para ah los dedos. Se pueden aadir ms subdivisiones en las
terminar el modelado, se ha extrudo 2 veces para sacar la zonas donde habr articulacin en los dedos. La figura 19
zona de las orejas (si tuviera) y el rostro. resume el proceso seguido para la creacin de la mano.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 4 [Pgina 3 de 4]
Los materiales que forman las
piezas del ojo son muy
sencillos. El iris utilizar una
textura de imagen sin propie-
dades especiales. La crnea
ser transparente y tendr un
pequeo IOR para hacer efecto
lente. Las propiedades de la
crnea pueden verse en la
figura 21. Veremos el trabajo
con materiales en profundidad
en la siguiente sesin de
prcticas.

Faltaran por aadir los deta-


lles adicionales del modelo
(detalles de las botas, la
bombilla del casco, los dientes
y la lengua, el cinturn, etc...).
Figura 19 Estos modelos han sido
creados con tcnicas explicadas
Al igual que realizamos con
en sesiones anteriores, por lo
el modelo de la bota, la
que no dedicaremos tiempo en
mano puede duplicarse y
explicarlos en esta sesin. En la
realizar un mirror para
prxima sesin dedicada a
crear la otra. Pasamos a ver
materiales y texturas veremos,
cmo se han realizado los
entre otras cosas, cmo se ha
ojos. Se ha partido de una
texturizado el cuerpo del per-
UVSphere, a la que en
sonaje mediante la tcnica de
modo de seleccin de
UV Mapping. El resultado del
vrtices se ha seleccionado
modelado geomtrico del
la zona de la crnea y se ha
personaje puede verse en la
separado P como un objeto
figura 22.
independiente. Se ha dupli-
cado la crnea, y se ha Figura 20
rotado para cambiar la zona Figura 21
cncava para obtener el
iris. El modelo estar for-
mado por tres piezas, como
muestra la figura 20. Estas
piezas se juntarn para
formar un nico objeto
(mediante J Join Se-
lected Meshes).

Figura 22

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 4 [Pgina 4 de 4]
5
Carlos Gonzlez Morcillo
PRCTICA

22 Marzo 2006
(Carlos.Gonzalez@uclm.es)

Materiales y Texturas
Animacin para la Comunicacin Escuela Superior de Informtica Universidad de Castilla-La Mancha

Para obtener resultados realistas es necesario establecer correcta-


mente los parmetros de materiales y texturas. En esta sesin traba-
jaremos con texturas procedurales, imgenes y capas de texturas.

V
amos a comenzar modelando los elementos de la guramos los parmetros de revolucin, indicando que
escena a los que despus aplicaremos materiales y vamos a realizar el giro de 360, con 30 pasos intermedios
texturas. Vamos a modelar una escena como la que (ver figura 2). Debemos obtener un modelo como se
se muestra en la figura 1. En esta escena, la base de los muestra en la figura 3. En este modelo existe un problema,
botes de spray han sido modelados mediante superficies de y es que hay una columna de vrtices que estn duplicados
subdivisin. La cadena ha sido realizada mediante una (el contorno original y el ltimo paso de revolucin
tcnica avanzada de modelado, basada en IPOs de coinciden en la misma posicin). Para eliminar vrtices
animacin, y algunos elementos de relieve (como las estras repetidos, en modo de edicin de vrtices , los seleccio-
de la tapa del bote de pintura) han sido realizados mediante namos todos A y establecemos un valor pequeo de la
bump mapping. variable Limit situada al lado del botn RemDoubles. Esta
Figura 2 variable nos indica qu distancia vamos a considerar la que
nos distinga vrtices. Si indicamos un valor grande, Blender
eliminar ms vrtices que considerar repetidos. Con el
valor de 0.01 en Limit y todos los vrtices del modelo
seleccionados, pinchamos en RemDoubles y Blender nos
indicar el nmero de vrtices eliminados (los
correspondientes a la columna de vrtices repetidos).

Creamos un perfil como el que se muestra en la figura 2,


aadiendo una curva de bezier y ajustando los puntos de
control, como hemos visto en sesiones anteriores. Antes de
realizar la operacin de Spin, tendremos que convertir el
contorno curvo a poligonal, mediante C. Hecho esto, nos
vamos a los botones de edicin , y entrando en modo de
Figura 3
edicin de vrtices, los seleccionamos todos A y confi-
Figura 1

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 5 [Pgina 1 de 6]
Ajustando Materiales
Aadimos dos planos a la escena que servirn como
suelo y como pared. Vamos a explicar algunas
propiedades de los materiales, dentro de los botones
Shading / Material :

Pestaa Material (figura 6)


Figura 4

Pasamos a indicar el sombreado que MA: El nombre del material; en el caso


queremos aplicar a esta superficie; suave de la figura 6 graffiti.
o plano. Un sombreado suave interpolar El botn de la derecha del nombre del
el valor de suavizado calculando el vector material indica el nmero de usuarios
normal en cada punto de la superficie, de ese material (en el caso de la
mientras que un sombreado plano slo lo figura 6, hay dos objetos que
har en el centro de cada cara. Con el comparten este material). Si aparece
objeto seleccionado, indicamos a blender nicamente la X indica que el material
que queremos que aplique un sombreado slo lo utiliza un objeto. Podemos
suave, pinchando en el botn Set pinchar sobre ese nmero para crear
Smooth de la pestaa Link and una copia del material que slo
Materials de los botones de edicin . Figura 6
utilizar el objeto actual. As, podemos
El sombrado plano se consigue cambiar fcilmente las propiedades de
pinchando en Set Solid del mismo grupo de botones. En la un material heredado sin afectar a las propiedades de
figura 4 tenemos un ejemplo de cada tipo de sombreado los dems objetos.
aplicado en blender. La X elimina el material.
El botn del coche hace que Blender asigne
Sin embargo, nos interesa que se aplique un tipo de automticamente un nombre al material.
sombreado en cada parte del modelo, diferenciando zonas F: Hace que se cree un usuario ficticio para ese material
claramente. Para ello, despus de pinchar en Set Smooth y que Blender lo salve dentro del fichero .blend (en el
podemos activar el botn Auto Smooth de la pestaa caso de que un material no est siendo utilizado por
Mesh, indicando en Degr el valor que har que Blender nadie; es decir, se haya eliminado), Blender no lo
calcule los bordes de la transicin entre zonas cuyos guardar en el fichero.
vectores normales formen un ngulo superior a esa VcolLight y VcolPaint: utilizados con vertex colours.
cantidad (en el ejemplo de la figura 3 es de 30).
TexFace: Si est activo, los colores se toman de la
El resto del modelado es muy sencillo, dos cilindros textura asignada en el editor de UV Mapping.
adicionales para crear el difusor del spray y un cilindro ms Shadeless: Si est activo, se ignora la informacin de
para realizar la tapadera. sombreado en la fase de render.
Strands: Opciones de textura para sistemas de
partculas. Las utilizaremos en prximas sesiones.
Importacin de objetos Full Osa: Fuerza a blender a que calcule todas las
La cadena de la escena se ha modelado utilizando una pasadas de oversampling.
tcnica que emplea las curvas de animacin para repetir Wire: Renderiza el material en modo alambre.
elementos de modelado a lo largo de un camino llamada Col: Color base de la superficie
DupliFrames. Estudiaremos esta tcnica en prximas Spec: Color de especularidad.
sesiones. Mir: Color de mirror; afecta nicamente en el caso de
Figura 5 usar mapas de entorno.
A: Alpha; nivel de transparencia de la superficie (entre
1, totalmente opaco y 0 totalmente transparente)

Pestaa Shaders (figura 7)

Figura 7
La primera lista
desplegable per-
mite elegir el tipo
de sombreado di-
fuso. El parme-
tro principal y
compartido entre
todos los mto-
dos es la cantidad
Para importar un objeto que est en otro archivo, vamos al de Reflexin de
men File / Append... Seleccionamos con el fichero luz Ref de la su-
cadena.blend, y entramos en la categora Object. Ah, perficie).
podemos seleccionar con todos los objetos que sean La segunda lista
necesarios (en nuestro caso slo elegiremos el objeto desplegable permite elegir el mtodo de sombreado
cadena. Con el objeto seleccionado (figura 5), pinchamos especular. Segn el mtodo permitir un conjunto de
en el botn Load Library. Podemos importar de otros parmetros; aunque seguro que tenemos Spec:
ficheros prcticamente cualquier dato del DNA (formato de Cantidad de brillo especular y Hard dureza del brillo.
ficheros interno de Blender). Bastar con acceder a la Puede comprobarse en la ventana de previsualizacin
categora correspondiente (o importar todos los objetos de cmo afectan estas propiedades al material.
una categora seleccionando el nombre de la categora). Translucency: Cantidad de reflexin difusa en la cara
posterior del objeto.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 5 [Pgina 2 de 6]
Amb: Cantidad de color ambiental que se aplica. Este 3D. Por defecto, vamos a trabajar con las coordenadas
color se indica en las propiedades del mundo. originales del objeto Orco.
Emit: Cantidad de luz emitida por el objeto.
Traceable: Si est activo, el material arroja sombras. El grupo de botones inferior indican la forma en la que las
coordenadas de textura 3D se proyectarn en 2D; emplean-
Shadbuf: Si est activo, el material recibe sombras con
do un tipo de mapeado plano (Flat), cbico (Cube), esfri-
Shadow Buffer.
co (Sphe) o cilndrico (Tube).
Shadow: Si est activo, el material recibe sombras.
TraShadow: Si est activo, el material recibe sombras Los botones inferiores con etiquetas XYZ indican las nuevas
semitransparentes. coordenadas XYZ sobre las que se aplicar la textura.
Radio: El material est activo para el clculo de Normalmente, cada coordenada es mapeada con su anloga
radiosidad. en XYZ (tal y como muestra la figura 15), pero podemos
cambiar este mapeado, segn las coordenadas de textura.
Pestaa Mirror Transp (figura 8). Si activamos el primer
botn sin etiqueta, desac-
til si se utiliza renderi- tivamos el mapeado en
zado mediante trazado esa coordenada.
de rayos (en las propie-
dades de renderizado, Los botones de la zona
habr que activar el bo- derecha permiten especifi-
tn Ray). car traslaciones adiciona-
les en las coordenadas de
Si activamos el botn la textura (un offset), y
RayMirror, el material un valor de escalado extra
se comportar como un en la textura (size). Figura 11
espejo: Figura 8
Petaa MapTo (figura 11):
RayMirr: Indica la cantidad de reflexin de la luz.
Depth: La profundidad de rebotes en el trazado de La primera fila de botones indican las propiedades sobre las
rayos (en este caso, 2). que va a actuar la textura; algunas de estas propiedades
son:
Si activamos el botn RayTransp, el material ser
transparente; adems habr que bajar el parmetro alpha Col: La textura afecta al color bsico del material, segn
por debajo de 1). el factor indicado en la caja deslizante Col, y el valor de
mapeado (la caja de seleccin superior).
IOR: ndice de refraccin; mide la diferencia de Mix: el color de la textura se mezcla con el valor del
densidad entre superficies. material.
Depth: Profundidad de rebotes de luz. Multiply: el color de la textura multiplica al valor del
material.
Si empleamos el motor de render Yafray, las propiedades
mostradas en este panel cambiarn. Veremos cmo utilizar En caso de ser una textura procedural y no de imagen, el
Yafray como motor de render en prximas sesiones de valor de color se indica en la caja situada encima de los
prcticas. selectores de color RGB.

Pestaa Texture (figura 9). Nor: La textura afecta al vector normal. Puede ser un
valor positivo o negativo (es un botn de tres estados).
Permite gestionar en Si est activo, habr bump mapping, con el factor
capas las texturas que indicado en la caja deslizante Nor.
se aplican a un objeto. Csp: La textura afecta al valor de reflexin especular.
La pila de texturas est Cmir: Afecta al color de reflexin (espejo).
situada en la parte Alpha: Afecta al valor de transparencia Alpha.
izquierda. Pueden estar
Emit: Afecta a la cantidad de emisin de luz.
activas (botn verde
activado) o no. A la
Se pueden consultar todos los parmetros de texturas y
derecha aparece el
materiales en el manual oficial de blender.
nombre de la textura
que se aplica en cada Figura 9
capa, y se pueden aa- Texturas de imagen
dir, o eliminar texturas.
El nmero que aparece Seleccionamos el plano del suelo, y aadimos un material
en el botn indica el nuevo. Nos vamos a la pestaa de Texture y pinchamos en
nmero de ojbetos que Add New. Aparecer un nombre de textura por defecto;
estn utilizando esa hecho esto, pinchamos en el botn de Texture Buttons,
textura. La textura que accesible con , y cargamos una textura de imagen
se aplica finalmente al (elegimos Image en la lista desplegable Texture Type) y
objeto resulta de la pinchamos en Load Image, cargando la imagen suelo.jpg.
composicin de todas Vamos a configurar algunos parmetros (ver figura 12):
las texturas con sus
propiedades correspon- Figura 10 En TE: Podemos indicar el nombre de la textura.
dientes. Extend: Si est activo, indicamos que la textura se
extienda para que ocupe toda la superficie donde vamos
Pestaa MapInput (figura 10): a aplicarla.
Repeat: Si est activo, podemos indicar que la textura
Cada textura en Blender tiene asociadas unas coordenadas se repita un nmero de veces en el eje X y en el eje Y.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 5 [Pgina 3 de 6]
Figura 12

Esto es muy til cuando tenemos texturas que se seleccionamos el


pueden repetir. resto de caras W
Select Swap y pin-
Si renderizamos la escena, el suelo deber aparecer chamos de nuevo en
correctamente texturizado. Procedemos de forma similar Assign. Con el bo-
para aadir la textura del muro, empleando la textura tn Select podemos
graffiti.jpg. ver las caras que
forman cada grupo,
Creando grupos de vrtices y con Deselect, de-
seleccionamos las
El bote de spray en realidad es un nico objeto con dos caras contenidas en
materiales distintos; uno para la etiqueta (figura 13), y otra un grupo. Si todo ha Figura 13
sin textura, nicamente un material para el resto del ido bien, cuando
objeto. Adems, la textura de la etiqueta est formada por pinchemos en Select estando en el primer grupo de
dos capas, una con la imagen y otra de ruido, que vrtices tienen que seleccionarse un conjunto de caras, y
simular el papel ligeramente arrugado. cuando pinchemos en Select estando en el segundo grupo,
el resto de caras.
Figura 14
Hecho esto, vamos a los botones de material y
seleccionamos el grupo con el que queremos trabajar. En la
pestaa Material, la lado del botn verde ME, aparece un
botn con el mismo formato que el que hemos visto antes.
Seleccionamos el grupo de vrtices que contienen la parte
superior e inferior del bote y establecemos las propiedades
del material como muestra la figura 15.

Como puede verse, se ha dado un alto nivel de reflexin


especular, y propiedades de reflejo Ray Mirror. El color
base de la superficie es gris.

Seleccionamos ahora el otro grupo de vrtices en las


propiedades de material, y vamos a aadir una textura de
imagen, como vimos en el apartado anterior. Esta textura
va a estar formada por dos capas; una con la imagen y otra
que servir para modificar la rugosidad de la superficie.

Para aadir la textura con la imagen, elegimos el tipo de


En modo de seleccin de caras, seleccionamos las caras que textura Image, y cargamos la imagen (ver figura 17). En
forman la parte central del bote de spray (donde vamos a las propiedades de mapeado, tendremos que ajustar la
aplicar la etiqueta), y en la pestaa de Link and Materials imagen para que el mapeado cilndrico sea correcto. Como
(figura 14) creamos un grupo nuevo de vrtices. Para ello, se puede ver en la figura 16, se ha especificado un offset
pinchamos en New y luego en Assign. Con esto, tenemos en X, el tipo de coordenadas de mapeado Tube, y se han
un grupo de vrtices que contiene las caras seleccionadas. cambiado las coordenadas de mapeado, debido a que la
Debemos tener en la parte superior una etiqueta que indica superficie de revolucin con la que hemos creado el bote de
2 Mat: 1. Esto nos indica que tenemos dos grupos de spray tena el sistema de coordenadas local cambiado
vrtices y que estamos trabajando con el primero. respecto del origen global.
Pinchamos en el tringulo de la derecha de esta etiqueta
para irnos al segundo grupo de vrtices y asignarle el resto Ahora nos situamos en la segunda capa de texturas
de caras. Cuando la etiqueta cambie a 2 Mat: 2, (pestaa Texture) y aadimos otra nueva. En esta ocasin

Figura 15

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 5 [Pgina 4 de 6]
Figura 16

Figura 18

Figura 17
va a ser de tipo Clouds
(figura 19). Queremos
que tenga un ruido
bastante marcado, co-
mo papel arrugado. En
las propiedades del ma-
terial, en la pestaa
Map To hemos activa-
do las opciones Nor
(para que afecte a la
rugosidad de la textu-
ra) y a la reflectividad Figura 19
de la superficie (los
pliegues brillarn un
poco ms). El tipo de
mapeado (en Map In-
put) sel podra haber
definido como en la
textura de imagen, pe-
ro como el fin de esta
textura es nicamente
aadir ruido, no se ha
Figura 20 Figura 21
prestado atencin en
estos detalles. Si que-
remos que la rugo-
sidad del papel se note
ms, tenemos que au-
mentar el factor Nor
(en la figura 18 est a
0.50) a un valor supe-
rior.

Las cadenas tienen un


material con un color
base, y propiedades Figura 22
de RayMirror. A la
cadena se ha aadido
tambin una textura
para aadir ruido a la
superficie, pero en es-
te caso se ha definido
que la textura afecta
al color de la superficie
y al valor del vector
normal.

Podemos ver en la
figura 20 las propiedades de mapeado de la superficie. En Para realizar el render se ha aadido una fuente de luz de
la figura 21 hay una comparativa del renderizado de las tipo Spot y una luz de tipo Hemi que aade iluminacin
cadenas antes y despus de aplicar la textura. Puede ambiental. Para conseguir los reflejos realistas de Raytra-
observarse los huecos de color marrn que se han cing tenemos que activar el botn Ray en las propiedades
conseguido, simulando el efecto del xido. En este caso, un de renderizado (ver figura 27).
mismo mapa de textura se ha utilizado para modular varias
propiedades.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 5 [Pgina 5 de 6]
Texturizado con UV Mapping Unwrap. Con esto debemos tener una presentacin como
se muestra en la figura 26.
Nos centraremos ahora en el texturizado mediante UV Figura 26
Mapping. Este tipo de texturizado permite el posicionamien-
to exacto de una imagen a cada cara del modelo. Sin
embargo tiene un problema a la hora de construir una
representacin de la malla tridimensional sobre la que
podamos pintar cmodamente; la distorsin de las caras.
Por suerte, disponemos de un mtodo que minimiza la
distorsin, el LSCM. Recuperamos el modelo del torso del
personaje de la sesin anterior, y emplearemos este
mtodo de texturizado para dibujarle el traje.
Figura 23

Exportaremos esta disposicin de las caras , y trabajaremos


sobre ellas en GIMP. Para esto, utilizaremos el script de
exportacin integrado en blender en el men de la ventana
UV (UVs / Save UV Face Layout). Le daremos una
resolucin mayor (por ejemplo, 1024 para que el modelo
quede texturizado con mayor calidad). Esto nos guadar
una imagen TGA que podemos abrir con el GIMP para
aadir color. En la figura 27 se muestra la textura tal y
como es exportada en Blender y despus de ser pintada. Es
recomendable que nos salgamos a la hora de pintar la
textura, porque as tenemos la seguridad que la zona de
unin entre caras queda perfectamente cubierta de color.
Accedemos al modo de
trabajo de seleccin de caras Figura 27
para UVMapping mediante la
tecla F o en la lista desple-
gable de la ventana 3D (ver
figura 23). Cambiamos una
de las reas de trabajo a
ventana UV/Image Editor.

Si pulsamos la tecla U en la Cuando tengamos la textura pintada en GIMP, la


ventana 3D (estando en guardamos y la importaremos en blender desde el men
modo de seleccin UV) nos Image de la cabecera de la ventana UV/Image editor.
aparece una lista de posibles Elegiremos la imagen , y tendremos una representacin
modos de proyeccin sobre como muestra la figura 28.
la imagen 2D. Para elegir el
Figura 28
que mejores resultados ofre-
ce en modelos complejos, te-
Figura 24 nemos que marcar primero
las costuras (seams). Estas
costuras son zonas donde permitimos a blender que corte
el modelo (imaginemos que queremos obtener un conjunto
de trozos de piel del modelo, y le indicamos a blender por
dnde meter la tijera ;-)).
Figura 25

Hecho esto, si activamos el


modo de sombreado Textured
(figura 29) en la ventana 3D
deber aparecer el mapa UV
aplicado. Finalmente, aadire-
mos una textura de tipo ima-
gen y cargaremos la textura
que hemos utilizado para el
mapeado UV (esto es necesario
Volvemos al modo de edicin de objeto y seleccionamos las si vamos a realizar el render
aristas por donde queremos recortar el modelo (figura 24). final con Yafray, que utilizare- Figura 29
Con cada grupo de aristas seleccionadas pulsamos E. mos en prximas sesiones de
Nos aparecer un men donde nos pregunta si queremos prcticas). Tendremos que activar el botn UV en la pesta-
crear o eleliminar la costura. Crearemos tantas costuras a Map Input.
como creamos necesarias para que al partir el modelo sea
cmodo el pintado. La figura 25 muestra cmo se ha Esta tcnica de UV Mapping se utiliza mucho ya que permite
partido el modelo para realizar esta prctica. indicar de una forma muy precisa cmo queremos situar la
textura. En muchas ocasiones no es necesario utilizar un
Volvemos al modo de trabajo con mapas UV (tecla F). mtodo de separacin de la malla tan complejo, y se
Seleccionamos todas las caras A y en la cabecera de la podrn asignar las coordenas UV desplazando los vrtices
ventana UV/Image Editor seleccionamos UVs/ LSCM directamente sobre la ventana de UV/Image Editor.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 5 [Pgina 6 de 6]
6
Carlos Gonzlez Morcillo
PRCTICA

29 Marzo 2006
(Carlos.Gonzalez@uclm.es)

Animacin Bsica
Animacin para la Comunicacin Escuela Superior de Informtica Universidad de Castilla-La Mancha

El mecanismo bsico de animacin en Blender utiliza curvas de


interpolacin IPO. Este tipo de curvas, basadas en la representacin de
Bezier se emplean para animar las propiedades de los objetos.

V
amos a realizar una animacin muy sencilla que
maneje directamente las curvas IPO (InterPOlation
Curves). Comenzaremos realizando un ventilador de
techo que colocaremos en la parte superior de nuestra
escena, que animaremos posteriormente. Aadimos un
toroide Add/ Surface/ NURBS Donut. Utilizando la
tcnica de modelado que vimos en la sesin 2, modelamos
una de las aspas (recordemos que aadimos una curva de
Bezier Add/ Curve/ Bezier Curve, que convertimos
a tipo Poly, ajustamos los puntos de control, cerramos C y
luego de nuevo a Bezier). Debemos obtener una escena
como se muestra en la figura 1.

Figura 2

Centre: Ajustamos la posicin del objeto para que el


centro del sistema de coordenadas local coincida con el
centro geomtrico del objeto. Esta operacin no cambia
la situacin del origen de coordenadas, sino que produce
un desplazamiento en la malla del objeto.

Centre New: Sita el origen de coordenadas en el


centro geomtrico del objeto. Esta operacin nicamen-
te situa el nuevo origen de coordenadas.
Figura 1
Centre Cursor: Sita el Figura 3
Queremos que nuestro ventilador tenga 4 aspas. origen de coordenadas
Duplicaremos el objeto 3 veces, obteniendo 3 objetos clo- del objeto en la posicin
nados, que tendrn las mismas propiedades. Pero antes, actual del puntero 3D.
vamos a cambiar el centro del aspa. Mediante esta operacin
podemos situar el centro
Todos los objetos en Blender tienen un sistema de del objeto en cualquier
referencia local. Podemos activar la visualizacin de este punto del mundo.
sistema de referencia local en los botones de objeto ,
activando el botn Axis de la pestaa Draw. Con esto, el El puntero 3D juega un papel fundamental en el
sistema de coordenadas local del objeto se dibuja como se posicionamiento de objetos y el centro de sus sistemas de
muestra en la figura 2, con su origen dibujado como un coordenadas locales. Existen una serie de operaciones que
pequeo crculo de color rosa. Se puede indicar tambin nos permiten posicionar el puntero 3D y los objetos
que se muestre otra informacin interesante, como el respecto de otros elementos de la escena. Para desplazar el
nombre del objeto (botn Name), o la caja lmite puntero 3D al centro de un objeto seleccionado pulsaremos
(Bounds). S4 (tambin es accesible mediante Transform/
Snap/ Cursor Selection). En caso de estar trabajando
El Sistema de Referencia Local a otro nivel de detalle (por ejemplo, seleccionando un
vrtice), el puntero 3D se situar exactamente en esa
Si aplicramos una rotacin al aspa, por defecto la realizar posicin. Tambin es muy interesante modificar la posicin
sobre el origen de su sistema de referencias local. Podemos de un objeto a donde se encuentra el puntero 3D; de forma
cambiar este origen de coordenadas en los botones de similar, con el objeto seleccionado pulsamos S2 (o
edicin , seleccionando los siguientes botones (figura 3) Transform/ Snap/ Selection Cursor). Mediante
de la pestaa Curve and Surface (si la malla es poligonal estas operaciones y las relativas al centro del objeto
se realizar en la pestaa Mesh del mismo grupo de podemos situar cualquier objeto de la escena con precisin.
botones):

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 6 [Pgina 1 de 4]
Figura 7

Figura 4

Situamos el nuevo origen de coordenadas del aspa en el


punto que se muestra en la figura 4. Ahora podemos rotar
el objeto sobre este punto. Duplicamos el objeto para
obtener clones (que comparten las propiedades) mediante
D. Modificamos la extrusin (Extrude = 0.120, Bevel
Depth = 0.05) de una de las aspas, para obtener el
resultado que muestra la figura 5. Como los 4 objetos son
clones, basta con modificar los valores de extrusin de uno
de ellos, y el resto lo obtendrn automticamente.

Aadimos una lmpara de tipo Figura 8


Spot a la escena, y un plano
que sirva de suelo a la escena.
Situamos el ventilador en la
parte superior de la escena sin
que se vea desde la cmara
(ver figura 7), de forma que, si
renderizamos la vista, obten-
gamos una sombra sobre el
suelo, como muestra la figura 8.

Figura 5 Curvas de Animacin IPO


Relacin de Parentesco Vamos a realizar una animacin cclica de rotacin en el
ventilador. Las animaciones de descomponen en imgenes
Tal como tenemos el objeto del ventilador, si lo quisiramos estticas (en cine denominadas Fotogramas) o Frames.
desplazar por la escena, tendramos que seleccionar cada Blender dispone de una barra de animacin situada en la
uno de los objetos que lo componen y moverlos a la cabecera de la ventana de botones (ver figura 9). El valor
posicin deseada. Si queremos simular el movimiento de ese cuadro de texto contiene el frame actual.
circular del mismo, tendramos que rotar individualmente
cada elemento que forma el objeto (o bien, combinar las
mallas).
Figura 9
La mejor forma de realizarlo es Podemos desplazarnos por los frames de la escena con los
mediante relaciones de parentesco. cursores, o bien introduciendo un valor numrico ( ).
En una relacin Padre-Hijo entre
Podemos avanzar y retroceder 1 frame con los cursores
objetos, el objeto hijo hereda las
propiedades del objeto padre, pero
, o avanzar y retroceder 10 frames con .
no a la inversa. Es decir, si
Cambiamos una ventana 3D al tipo IPO Curve Editor, y
desplazamos el objeto padre, el
tendremos una representacin como la mostrada en la
objeto hijo se desplazar tambin,
figura 10.
pero si desplazamos el hijo, no le
ocurrir nada al objeto padre. Figura 10
Anlogamente ocurrir lo mismo si
escalamos o rotamos el objeto.

Para establecer una relacin de Figura 6


parentesco Padre-Hijo, primero se-
leccionamos el objeto hijo y despus, con pulsado se-
leccionamos el ojbeto padre, y pulsamos P, y acep-
tamos la pregunta Make Parent. As, hacemos que cada
una de las aspas sean hijas del toroide. Blender representa
las relaciones de parentesco mediante una lnea punteada
que une los centros de coordenadas del objeto hijo y el
padre (ver figura 6). Si nos equivocamos al establecer una
relacin de parentesco, podemos eliminarla seleccionando
el objeto hijo y pulsando P.

Hecho esto, si rotamos o desplazamos el donut, se aplicar


la misma operacin a las 4 aspas, pero si aplicamos una
transformacin a las aspas, no se aplicar al toroide.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 6 [Pgina 2 de 4]
En el eje de abcisas se representan los frames, y en el de representacin posible. Queremos que la animacin se
ordenadas los valores que pueden tomar los objetos pueda repetir en bucle, por lo que deber rotar 360 y
respecto de las magnitudes indicadas en la columna de la adems mantener una velocidad constante. Para esto,
derecha (Rotacin, Localizacin, Materiales, etc...). La lnea editaremos las curvas de movimiento manualmente.
verde vertical (que podemos arrastrar para ver la evolucin Selecccionamos la curva RotZ, y pasamos a modo de
de nuestra animacin), representa el frame actual. En la edicin de vrtices . Elegimos el punto de control de la
parte central de la cabecera de esta ventana aparece por derecha (el que est situado en el frame 50), y pulsamos la
defecto el elemento Object (ver figura 10). Existen tecla N para darle un valor numrico exacto. Nos intersea
multitud de propiedades animables en cada entidad de la que en el eje Y (VertexY) tenga un valor de -36
escena; podemos cambiar de un tipo de entidades a otros (correspondiente a 360). Seleccionamos el punto de
seleccionando diferentes modos de trabajo en esta lista control del frame 1, y le damos un valor en el eje Y de 0.
desplegable. En esta sesin de animacin trabajaremos con
algunas de ellas, aunque prcticamente cualquier propiedad Por defecto, las animaciones en blender tienen una duracin
puede ser animada en Blender. de 250 frames. Esto puede cambiarse en los botones de
Render , dentro de la pestaa Anim, el intervalo viene
Nos situamos en el primer frame de la animacin, y con el dado por las cajas Sta: 1 y End: 50.
donut seleccionado, definiremos en el frame 1 un punto
clave de rotacin. Para ello, con el puntero del ratn situado Figura 12
en una ventana 3D, pulsamos I. Aparecer un men pre-
guntndonos qu atributos queremos manejar en nuestro
frame clave. Le indicamos que slo vamos a utilizar la rota-
cin (Rot).

aa Importante: Dependiendo de en qu ventana


tengamos el puntero del ratn cuando inserte-
mos un frame clave mediante la tecla I, podremos ma-
nejar una serie de propiedades u otras. Si pulsamos I
con el puntero del ratn sobre la ventana de materiales,
trabajaremos con este tipo de propiedades, si estamos en
una ventana 3D, manejaremos rotaciones, traslaciones,
etc...

En la ventana de curvas IPO habr aparecido una recta de


color azul, con las entidades RotX, RotY, RotZ iluminadas
en la zona derecha. Avanzamos hasta el frame 50, rotamos Con estos valores, visualizamos la animacin con A.
el ventilador respecto del eje Z y definimos otra clave de Podemos comprobar que el movimiento no es lineal, sino
rotacin I. Podemos visualizar la animacin en una venta- que tienen una parte de aceleracin y frenado al inicio y al
na 3D mediante A (Pulsamos si queremos parar la final del intervalo. No es el movimiento que buscamos, ya
que no se repite perfectamente. Tenemos que ajustar los
animacin). Si queremos ver la aimacin en todas las
puntos de tangente en la curva IPO para que no haya zona
ventanas utilizamos la combinacin A.
de aceleracin en el intervalo (ver figura 12).

Esta animacin est definida dentro del intervalo 1:50. Si


queremos que la animacin se repita aunque trabajemos
con intervalos mayores, podemos indicarlo seleccionando
Curve/ Extend Mode/ Cyclic en la cabecera de la
ventana de curvas IPO. Mediante esta opcin, la animacin
se repetir cclicamente aunque estemos trabajando con
intervalos de frames mayores.

Hecho esto, podemos generar nuestra primera animacin.


En los botones de render, configuramos las siguientes
opciones como muestra la figura 13.

Indicamos el nombre del directorio donde vamos a guardar


el render, el intervalo de frames en Sta: y End:, como
formato podemos elegir AVI Jpeg (o, si estamos bajo
sistema operativo Microsoft Windows, algn codec en
particular) o secuencia de imgenes TGA (recomendable en
secuencias que requieran alta calidad o postprocesado), el
formato, por ejemplo, 320x240. Una vez elegidas las
opciones, pinchamos en el botn grande de ANIM.

Nota: Cuando generemos la animacin en el for-


mato final con el que trabajemos en postprodu-
ccin, utilizaremos como formato de salida un conjunto
de frames sin prdida (como por ejemplo, secuencia de
TGAs). Esto nos permite repetir de forma individual algn
Figura 11 fotograma que salga con error y tener un mejor control
sobre la animacin final.
Dependiendo de cunto hayamos rotado el objeto,
tendremos una representacin de la curva de animacin
parecida a la mostrada en la figura 11. Con la tecla El botn de PLAY nos permite visualizar la animacin
hacemos que Blender ajuste la ventana a la mejor despus de haber sido generada (tambin podemos abrirla
con cualquier reproductor de vdeo instalado en el sistema).

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 6 [Pgina 3 de 4]
Figura 13

El reproductor integrado de blender permite avanzar y Figura 18


retroceder a nivel de frame (mediante los cursores ), o
volver a reproducir el vdeo con . Mediante + y - del
teclado numrico podemos hacer zoom en el vdeo mientras
se reproduce.

Para finalizar la prctica, vamos a importar objetos de otro


fichero como realizamos en la sesin anterior, que tambin
animaremos mediante frames clave. Para importar
elementos que estn guardados en otro fichero de blender,
elegimos File/ Append. Elegimos el fichero oreto.blend,
entramos dentro del nodo de Objetos (Object) con , y
elegimos con los objetos Logotipo y Texto. Estos objetos
se importarn en la capa donde se encuentren del fichero
original (en este caso, en la segunda capa).

El sistema de Capas
Blender permite la gestin de los objetos de la escena en
capas. Cada capa puede ser vista como un bloque
contenedor que puede estar visible o no. Si est visible,
todos los ojbetos que estn en esa capa formarn parte de
la escena. posicin y la rotacin
(LocRot). Nos vamos al
En todas las cabeceras 3D, blender permite gestionar las frame 50 y colocamos
capas activas. Si el botn correspondiente a una capa est los objetos como mues-
pulsado, la capa est activa (ver figura 14). tra la figura 16, e inser-
Figura 14 tamos de nuevo una
clave de tipo LocRoc.

Para conseguir la ilumi-


nacin de la escena he-
mos aadido un nuevo
foco de tipo Spot, que Figura 15
no arroja sombras (tie-
Podemos tener varias capas activas a la vez (hasta el ne desactivados los bo-
mximo de 20 capas), seleccionndolas con pulsado. tones Ray Shadow y
Podemos mover un objeto de una capa a otra, Buf. Shadow).
seleccionando el objeto y pulsando M, blender nos pregunta
la capa a la que queremos mover el objeto seleccionado. El efecto del parpadeo
del foco al principio de
Como los objetos del fichero anterior estn situados en la la animacin se ha con-
capa 2, al menos tendremos que tener la capa 1 y 2 seguido aadiendo fra-
activas. El uso de capas se hace imprescindible cuando la mes clave al foco res-
complejidad de la escena aumenta, realizando la escena en pecto de su energa.
diferentes capas y activndolas todas nicamente en el Esto se realiza pulsando Figura 16
render final. la tecla I con el punte-
Situamos los objetos en la posicin inicial que se muestra ro del ratn situado sobre la zona de propiedades del foco
en la figura 15. Situamos en el frame 75 los objetos en la (ver figura 17). Aparecer un men donde elegiremos la
posicin indicada en la figura anterior, e insertamos en cada propiedad Energy sobre la que aadiremos frames clave.
uno (Texto y Logotipo) un frame clave respecto de la
Podemos ver la curva IPO
Figura 17 asociada a la energa del foco
en la figura 18. En este caso,
slo tenemos una entidad a
representar, cuyo valor oscila
entre 0 y 1.4.

Finalmente generamos la ani-


macin con el nuevo intervalo
1:100. El resultado debera ser
similar al mostrado en el vdeo
resultado.avi.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 6 [Pgina 4 de 4]
7
Carlos Gonzlez Morcillo
PRCTICA (Carlos.Gonzalez@uclm.es)

05 Abril 2006
Animacin Jerrquica
Animacin para la Comunicacin Escuela Superior de Informtica Universidad de Castilla-La Mancha

En esta sesin aprenderemos los conceptos bsicos de animacin


jerrquica en Blender, y aadiremos un sistema de partculas con
simulacin de colisiones con el resto de elementos de la escena.

C
omenzaremos modelando el objeto que se muestra Posicionamiento cmodo de la cmara
en la figura 1. Todos los componentes del modelo
deben ser independientes. Recordemos que para Aadimos un objeto Empty en el punto a donde queremos
esto, debemos salir del modo de edicin de vrtices apuntar con la cmara (en nuestro caso, el centro de la
cada vez que aadamos un objeto a la escena. Creamos la escena formada por los objetos anteriores). Hecho esto,
escena con 5 cilindros, rotando y escalando hasta conseguir seleccionamos primero el objeto hijo , y despus con
la configuracin mostrada, y un plano que servir como pulsado, seleccionamos el objeto padre . En este
suelo de la escena. caso, queremos que la cmara (objeto hijo) apunte hacia
donde est el Empty (objeto padre). As, seleccionamos la
cmara y
seleccionamos el empty
. Pulsamos T para
aadir el track, de entre
los tipos de track elegi-
mos TrackTo Cons-
traint. Si ahora move-
mos la cmara por la es-
cena, siempre apuntar a
Figura 3
la posicin del Empty.

Para conseguir esto Blender ha creado una restriccin de


animacin para el objeto cmara. Si vamos a los botones
de Objeto , en la pestaa Constraints encontramos la
restriccin que se muestra en la figura 3. En el Target se
ha indicado (automticamente), el valor del objeto al que se
Figura 1
quiere apuntar; en este caso el objeto cuyo nombre es
Empty.
Renombraremos los objetos que forman la escena, con el
fin de poder identificarlos ms fcilmente, tal y como se
muestra en la figura 2. Para ello, seleccionaremos en el
modo de edicin de objeto cada uno de ellos, y teclearemos
el nombre en la seccin OB: de los botones de edicin ,
accesibles tambin con .

Figura 2
Figura 4
Podemos indicar a Blender que muestre el nombre de los
En To: se especifica la direccin, en el eje de coordenadas
objetos si activamos, con el objeto seleccionado, el botn
local del objeto al que aplicamos la restriccin (la cmara),
Name del grupo de propiedades Draw del objeto . Como
que vamos a utilizar para apuntar al objeto Empty. Up: por
vimos en la prctica anterior, tambin podemos activar la su parte indica el vector perpendicular a la direccin To,
visualizacin de el sistema de coordenadas local de cada que apunta hacia arriba. Estos valores pueden verse en la
objeto, mediante el botn Axis. figura 4. Si se cambia cualquiera de los vectores To y Up,
podemos ver el efecto sobre la cmara de la escena. Final-
Antes de animar los objetos de la escena, vamos a mente, Influence controla la influencia de esta restriccin
posicionar la cmara de forma cmoda, mediante restriccio- sobre el objeto, desde 1 total a 0 ninguna.
nes de tipo track.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 7 [Pgina 1 de 3]
Jerarquas y Restricciones Pasamos a hacer una rotacin de 360 de la rueda.
Procederemos de forma similar a como se explic en la
Establecemos las relaciones de jerarqua entre PistonA1 - prctica anterior con el ventilador. Insertamos dos frames
PistonA2 y PistonB1 - PistonB2. Queremos que, cuando clave respecto de la rotacin en el frame 1, y en el frame
movamos las bases de los pistones (A1 y B1), los extremos 35. Seleccionamos la grfica RotZ (queremos rotar el
tengan el mismo movimiento. Por tanto, en la jerarqua objeto sobre el eje Z del sistema de coordenadas global en
tendremos que PistonA2 es hijo de PistonA1. Para indicar nuestro ejemplo), y entramos en el modo de edicin de
esta jerarqua a Blender, seleccionamos primero el vrtices pulsando .
elemento hijo (PistonA2), y con pulsado, selecciona- Figura 8
mos el padre (PistonA1). Pulsamos P y elegimos Make
Parent. Ahora, si rotamos PistonA1, el giro tambin lo
sufrir PistonA2, pero no al revs. Realizamos la misma
operacin con la otra parte del pistn (B1, B2). Si nos
equivocamos, podemos eliminar la relacin de parentesco
seleccionando los elementos emparentados y pulsando
P.
Cambiaremos los centros de los objetos PistonA2 y PistonB2
para que las rotaciones se hagan respecto del extremo (en
vez de estar situado en el centro geomtrico del objeto).
Para ello, situaremos el puntero 3D, a la posicin 3D donde
queramos situar el nuevo centro y en los botones de edicin
() pincharemos en Centre Cursor. Colocaremos los
centros en los puntos rojos que se muestran en la figura 2.

Pasamos a establecer una relacin de dependencia entre


objetos. Al igual que hemos hecho con la cmara,
asociaremos el movimiento de los dos pistones, haciendo
que se apunten mutuamente. Vamos a crear la restriccin
manualmente. Para ello, seleccionamos el PistonA1, y en Seleccionamos el ltimo clave y aadimos 36 al valor de
los botones de Objeto aadimos una restriccin pinchando VertexY de la grfica RotZ, tendremos un giro de 360.
en el botn AddConstraint de la pestaa Constraints. Podemos especificar un valor numrico si pulsamos la tecla
Aadimos la restriccin de tipo Track To. En el campo
Target tecleamos el nombre del pistn al que queremos que
N (tal y como muestra la figura 8). En el ejempo de la
figura, el objeto rueda parta de una rotacin de -0.84
apunte (PistonB1). Activamos la respresentacin del
grados; as, el valor de rotacin final es de 35.16.
sistema de coordenadas del objeto PistonA1 (botn Axis
de la pestaa Draw). Con esta representacin del sistema
Tal y como se explic en la prctica anterior, ajustaremos la
de coordenadas, decidimos qu eje tiene que ser el que
tensin de la curva IPO en los extremos para evitar la
apunte al otro objeto, y cual
aceleracin inicial y el frenado al final del intervalo, e
ser el vector Up. En el caso
indicamos que la repeticin de la animacin va a ser cclica;
de nuestra escena, la confi-
en la cabecera 3D: Curve/ Extend Mode/ Cyclic.
guracin es la mostrada en la
figura 5. Puede ser necesario
ajustar la rotacin del objeto Sistemas de Partculas
PistonA2 despus de haber
aadido esta restriccin, para Aadimos un pequeo cilindro en la parte superior de
Figura 5 que apunte correctamente y PistonA1, y un plano encima de l, de un tamao
quede alineado. ligeramente inferior, tal y como muestra la figura 9.
Figura 6 Hacemos hijo el plano y el nuevo cilindro de la rueda.
Realizamos la misma ope-
Vamos a utilizar el plano
racin con PistonB1 respecto
como un emisor de partculas.
de PistonA1, para que ambos
Seleccionamos el plano, y en
elementos se apunten mutua-
los botones de Objeto ,
mente. Los valores necesa-
dentro de los botones de
rios para esta operacin en la
simulaciones fsicas , vamos
escena de ejemplo se mues-
a la pestaa de Particles y
tran en la figura 6.
pinchamos en New. Aparece-
r una nueva pestaa titulada
Probamos a mover PistonA1. Si tenemos que el movimiento
Particle Motion. Ajustamos
lo siguen perfectamente el resto de piezas, hemos
los valores en ambas
terminado este paso. En caso contrario, debemos revisar
pestaas como se muestra en
que las dos restricciones estn creadas correctamente, con
la figura 10. Veamos qu
los valores de los ejes correctamente definidos. Activamos
indican algunos de los
al pistn A1 el botn de
Figura 7 parmetros de la figura
PowerTrack, de la
anterior:
pestaa del grupo de
Anim Settings, para Figura 9
Amount: Indica el
quitarle la rotacin nmero total de partculas que se van a lanzar. Estas
(cuando el objeto partculas sern las que se crean uniformemente a lo
"Rueda" gire, no se tendr en cuenta esta rotacin, slo la largo del intervalo de frames.
posicin). Aadimos un Empty en el centro geomtrico de
PistonA1, y hacemos padre al Empty de PistonA1. Hecho Sta: Inicio del intervalo de lanzamiento de partculas. En
esto, hacemos hijo al Empty de Rueda. Si rotamos Rueda nuestro caso, a partir del frame nmero 40.
respecto del eje Z, el mecanismo general debera funcionar.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 7 [Pgina 2 de 3]
Figura 10 Figura 13

End: Fin del intervalo. Despus del frame 100 no Hecho esto, vamos a aadir un material a las partculas.
lanzaremos ms partculas. Con el plano emisor de partculas seleccionado, aadimos
un nuevo material y activamos las opciones que se
Life: Tiempo de vida de las partculas (medido en muestran en la figura 12.
frames). Desde su lanzamiento, las partculas
permanecern activas 80 frames. Elegimos un color naranja para las partculas. En la pestaa
de Shaders, activamos el botn Halo, y aparecern un
Disp: Porcentaje de partculas que se mostrarn en la conjunto de nuevas opciones que comentamos a
ventana 3D interactiva (aunque se renderizarn el continuacin:
100%).
Halo Size: El tamao del halo.
Normal: Velocidad inicial con la que se lanzan las
partculas. En nuestro caso, inicialmente 0.1. Hard: La dureza del halo, un valor alto da un resultado
concentrado.
Random: La velocidad incial de cada partcula ser el
resultado de sumar el campo Norm, con un valor Add: Si es 0, el halo es slido; un valor mayor har
aleatorio entre 0 y el valor indicado en Random (en que el halo tenga un poder de emisin de luz.
nuestro caso, 0.05). Esto aade un poco de aleatoriedad
a las partculas. Nota: Los sistemas de partculas pueden emitir
cualquier tipo de elemento. Por ejemplo,
Force: Simulacin de fuerzas constantes (como viento, podramos cambiar el tipo de objetos que se emiten por
o gravedad). Indicando el valor -0.1 en el eje Z cubos, metabolas o cabezas de mono!. Basta con hacer
hacemos que las partculas caigan al suelo. hijo de la cara emisora el elemento que queremos lanzar
en el sistema de partculas y activar el botn DupliVerts
Puede ser necesario, si realizamos cambios sobre algunos de la pestaa Anim settings de los botones de Objeto.
parmetros, o la posicin del plano que genera partculas, Cuidado, ya que en ese caso, estamos creando gran
que se recalcule el sistema de partculas. Para esto, cantidad de objetos (uno por cada partcula). Ser
pulsaremos el botn RecalcAll. aconsejable disminuir el nmero de partculas a lanzar.
Como queremos que las partculas
Figura 11
reboten sobre el plano del suelo, Si el botn Flare est activo (como es nuestro caso),
tenemos que definir cmo se va a aparecen nuevos valores numricos:
realizar esta simulacin. Para ello, FlareSize: El factor por el que el efecto flare es mayor
seleccionamos el plano, y en los que el halo. Con valores grandes, aumenta el efecto de
botones de simulaciones fsicas , destello.
vamos a la pestaa Fields and
Deflection, pinchamos en Deflection Boost: Para dar una fuerza adicional al flare.
(para que se calcule el rebote de las
partculas, basndose en colisiones Es posible activar diferentes formas y propiedades al halo,
fsicas) configurando los valores como que se especifican en la columna de botones de la derecha:
muestra la figura 11. Rings: Determina la forma en aros del halo.
Veamos la explicacin de estos parmetros, dentro del Lines: Dibuja lneas sobre el halo bsico.
grupo Particles:
Star: El halo bsico se dibuja como una estrella.
Damping: Dureza del rebote en la colisin. Vara entre
0 y 1. Cuanto ms cercano a 1, menos rebote habr. HaloTex: Si est activo, permite incorporar una textura
al halo; por ejemplo, una imagen.
RndDamping: Factor aleatorio de rebote.
HaloPuno: Si est activo, el tamao del halo se
Permeability: Si es mayor que cero, las partculas determina por el vector normal de la superficie emisora.
pueden atravesar el objeto.
X Alpha: Extreme Alpha; con esta
Figura 12 opcin se fuerza una progresin
ms fuerte en la transparencia y en
el color del halo.
Shaded: Si est activo, el halo
puede recibir luz, dando una
sensacin de elemento con cuerpo
3D.
Finalmente renderizamos el proyecto,
desde el frame 1 al 210. Aadimos dos
focos, y algunos materiales con propie-
dades de color a los elementos que for-
man la escena.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 7 [Pgina 3 de 3]
PRCTICA 8
Carlos Gonzlez Morcillo
(Carlos.Gonzalez@uclm.es)

19 Abril 2006
Animacin basada en Esqueletos
Animacin para la Comunicacin Escuela Superior de Informtica Universidad de Castilla-La Mancha

El uso de cinemtica inversa resulta imprescindible cuando aumenta


el grado de libertad del modelo a animar. En esta sesin veremos el uso
de "armatures" y su asociacin con las partes que componen el modelo.

C
omenzaremos modelando las diferentes piezas que
formarn nuestro brazo. Debemos obtener una
geometra similar a la mostrada en la figura 1. Antes
de ponernos manos a la obra, debemos tener en mente que
al modelo se le deber asociar un esqueleto. Resultar
mucho ms sencillo realizar esta operacin (y el propio
modelado), si en la construccin del objeto empleamos una
postura "cmoda". Un ejemplo de construccin del modelo
se muestra en la figura 2. As, el esqueleto se situar de
forma sencilla a lo largo del eje X, siguiendo la geometra
del brazo.

Figura 2

Creacin del esqueleto


Una vez modelado el robot, y renombradas las piezas,
aadiremos el esqueleto. Para ello, pulsaremos ADD/
Armature. Construiremos un esqueleto formado por 4
huesos, centrado en el interior del brazo robtico, tal y
como se muestra en la figura 3. Los tres primeros estn
ajustados a las articulaciones del brazo del robot (hombro,
codo y mueca). La ltima, muy pequea, se utilizar para
Figura 1 gestionar la cinemtica inversa del modelo.

Recordemos que se pueden Figura 4 Para aadir ms huesos al modelo


duplicar objetos con D. Ser usaremos la tecla de extrusin E. Una
til definir todos los componentes vez creado el esqueleto, entramos en el
del robot como mallas indepen- modo de edicin del objeto (del esque-
dientes. Para ello, deberemos
leto) con . Seleccionamos todos los
salirnos del modo de edicin de
huesos del modelo con A, cambiando su
vrtices cada vez que aadamos
color a amarillo. Vamos a los botones de
una parte del robot a la escena,
edicin y cambiamos el nombre de los
pulsando . Nombraremos cada
huesos como se muestra en la figura 4.
componente del robot como se
muestra en la figura 1. Ser impor-
Al igual que antes, se recomienda seguir
tante tener claros los nombres
el mismo convenio empleado en este
asignados a cada parte a la hora de
documento en el nombrado de los
gestionar la jerarqua y las asigna-
huesos. Pasamos a definir las jerarquas
ciones de parentesco a cada hueso
entre elementos, y a conectar las
del esqueleto. Por esto, se reco-
diferentes partes del robot con el
mienda seguir el mismo convenio
esqueleto que hemos creado.
de nombrado que se utiliza en este
documento.
El botn Hide de la parte inferior del grupo de botones de
cada hueso permite ocultar la representacin del hueso en
el esquelto. Esto es til cuando la escena es compleja
(animacin de personajes). Como puede verse en la figura
4, se establece la relacin de parentesco entre huesos del
esqueleto de forma automtica Child of. Podemos editar
esta jerarqua de forma manual. Esta posibilidad la
utilizaremos en prximas sesiones.

Figura 3

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 8 [Pgina 1 de 3]
Asociacin de Esqueleto / Objeto extremo del robot y, por cinemtica inversa, Blender
calcular la rotacin necesaria para cada articulacin del
Todo el proceso que vamos a seguir a continuacin, est robot. Situaremos el puntero 3D cerca del hueso IkNull y
resumido en el esquema de la figura 5. Las relaciones de situaremos ah el nuevo objeto Empty.
parentesco ("es padre de"), estn representadas por una
En el modo pose, se- Figura 7
flecha que va del padre al hijo. Los huesos del esqueleto
estn representados en color azul. Los nodos hijo de la leccionaremos el ltimo
jerarqua, estn representados por un rectngulo con las hueso (IkNull). Vamos
esquinas sin redondear. al men de restriccio-
nes, pinchando en el
Pedestal botn de edicin de
Make Track
objeto . Aadimos
una restriccin nueva
Base
pinchando en Add
Constraint. El tipo de
Motor1 Esqueleto
restriccin ser IK
Solver, sobre el nuevo
LatHomDer Empty (tecleamos en el
Hombro
Motor2 campo Target OB: EmptyIK). Ver figura 7.
LatHomIzq
LatCodDer Es importante que se indique exactamente el mismo
Copy Rotation
Codo nombre, ya que Blender distingue entre minsculas y
LatMunIzq LatCodIzq maysculas en los identificadores de objeto. La influencia
de la restriccin sobre el esqueleto es, por defecto, 1 (el
Mueca Motor3
LatMunDer
valor mximo). Lo dejaremos as porque queremos que el
esqueleto siga perfectamente al EmptyIk.
MunAPin
IkaNull EmptyRotBase
El mtodo de clculo de la cinemtica inversa de Blender es
PinzaIzq PinzaDer
IK Solver
Copy Location (x,y) iterativo, que trata de minimizar el error en cada pasada.
As, tenemos dos parmetros ms que podemos modificar,
EmptyIk como es el nmero de iteraciones mxima que queremos
que utilice en el clculo de la posicin correcta
Figura 5
(Iterations), y la tolerancia mxima de error que vamos a
Los elementos auxiliares (empty) que se han utilizado, permitir (Tolerance). En esta sesin vamos a dejar los
aparecen en color naranja. Por ltimo, las restricciones valores por defecto. Sin embargo, en disposiciones
entre elementos se representan con una flecha punteada, complejas de esque-
con una circunferencia negra en el origen. letos, estos valores
habr que optimizarlos
aa Importante: Recordemos que para establecer para que el sistema no
est excesivamente car-
una relacin de parentesco entre elementos,
seleccionaremos siempre primero el elemento hijo, y gado. A mayor nmero
de iteraciones y toleran-
despus, con pulsado, el padre. Pulsaremos P
cia ms pequea, resul-
Make Parent. En caso de equivocarnos, podremos
tados ms precisos pero
eliminar el parentesco, seleccionando de nuevo el objeto
un tiempo de cmputo
hijo y pulsando P.
mayor. Como hemos
Figura 8
creado un hueso espec-
De esta forma, seleccionaremos, primero el elemento Base, fico para el clculo de la cinemtica inversa, desactivamos
y despus Pedestal y realizaremos la asociacin de el botn UseTip. El resto de valores los dejaremos por
jerarqua. Procederemos de igual modo con Motor1 y Base, defecto. Hecho esto, podemos mover el EmptyIk por la
el Esqueleto (completo) y la Base, y MunAPin (Mueca a escena, y el brazo seguir el movimiento del mismo. Sin
Pinza) con las dos partes de la pinza. embargo, este movimiento no es del todo correcto. Las
articulaciones no realizan los giros de forma realista, debido
Las relaciones de parentesco con los huesos se realizan de a que no tienen restricciones de giro aplicadas.
forma similar, pero el esqueleto deber estar en modo pose
(se mostrar en color azul). Para ello, seleccionamos el
esqueleto y pulsamos (o cambiamos de Object
Mode a Pose Mode en la lista desplegable de la cabecera
de la ventana 3D) (ver
figura 6). Hecho esto,
seleccionamos el hijo, y
despus el hueso corres-
pondiente del esqueleto.
Pulsamos P Make
parent to/ Bone.
Figura 6

Para realizar la seleccin de forma ms cmoda, eligiendo


entre todos los elementos que hay en la escena podemos
cambiar una ventana a tipo Outliner. En este tipo de Figura 9
representacin veremos los elementos en rbol, agrupados Vamos a limitar la rotacin de los huesos del esqueleto.
por el tipo de objeto (armature, mesh, light...). Para ver los ejes que queremos limitar, activamos el botn
Draw Axes de la pestaa Armature (botones de edicin
Aadiremos un objeto Empty a la escena que nombra- ). En esta misma pestaa son interesantes los botones
remos EmptyIK. Este objeto nos servir para situar el Draw Names (para mostrar los nombres de los huesos), y

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 8 [Pgina 2 de 3]
Figura 10
los diferentes modos de Para activar la restriccin slo en un intervalo de
representacin del esquele- frames, pincharemos en el botn Show que est
to: Octahedron (por defec- situado a la derecha de Influence (figura 11). Con
to), Stick, B-bone y Enve- esto, podemos editar la Influencia como una curva
lope (que muestra el radio IPO. Abrimos una ventana IPO, y ponemos el tipo
de accin de cada hueso). a Constraint. Seleccionamos Inf en la parte
superior derecha de la ventana y podemos aadir
En el caso de nuestro modelo puntos de control a la curva pinchando en el botn
(aunque en la realizacin Key (Figura 11). Establecemos los valores para
particular de cada prctica que el valor Inf de la curva IPO cambien entre 0 y
puede variar), se tiene que Figura 11 1 en el intervalo de frames elegido (ver figura 12).
limitar la rotacin en el eje X Recordemos que con la tecla N, en modo de
y en el eje Y. Para ello, edicin de la curva, podemos dar un valor
pulsamos los botones Lock numrico a cada punto de la curva IPO.
X Rot y Lock Y Rot de la
pestaa Armature Bones Mientras el objeto est controlado con la
para los huesos Muneca, restriccin CopyLocation, cambiar su posicin a
Codo y Hombro (figura 8). la que tenga el objeto EmptyObjeto. Sin
embargo, cuando pasemos del frame 120, el
Continuamos creando un objeto volver a su posicin original. Para evitar
nuevo objeto vaco, al que esto, tendremos que cambiar la posicin del objeto
llamaremos EmptyRotBase. mientras estamos en ese intervalo de frames, de
Nos servir para definir la rotacin que se tiene que aplicar tal forma que, cuando acabe la restriccin CopyLocation,
al objeto Base (recordemos que es padre de casi toda el objeto est en la posicin nueva. Esto lo conseguimos
nuestra jerarqua), cuando movamos EmptyIk. De esta aadiendo frames clave con la nueva posicin, como se
forma, el robot siempre apuntar al objeto EmptyIk. muestra en la figura 13.
Situaremos el nuevo Empty, como se muestra en la figura
9, a la misma altura que la base (para que al hacer el Track
entre ellos, la Base no se "incline" hacia ningn lado;
nicamente rote respecto del eje Z). La idea es hacer que
este nuevo Empty sirva de "sombra" al EmptyIk con el que
controlamos el movimiento del brazo. Para conseguir este
efecto de "sombra", aadiremos una restriccin de copiar la
localizacin del EmptyIk, como se muestra en la figura 10.
La localizacin se copiar respecto del eje X e Y. La altura
en el eje Z la mantendremos fija.

Hecho esto, aadiremos un seguimiento (Track) de la base


respecto del Empty. Para ello, recordemos que habr que
seleccionar primero el objeto dependiente, y despus el
principal, pulsando T, Old Track (creamos un track con
el antiguo mtodo de blender, ms estable para
animaciones basadas en esqueletos). Si hemos seguido los
pasos correctamente, podemos mover el EmptyIk y el resto
Figura 12
de la geometra del robot seguir el movimiento.

Para animar el modelo, bastar con insertar frames clave Recordemos que es muy til para conseguir posiciones
que guarden la posicin (Loc) del objeto EmptyIk con exactas utilizar el cursor 3D para alinear objetos; con
I. La interpolacin del movimiento de este objeto nos S podemos situar el cursor 3D en el centro de un
producir (por cinemtica inversa) el movimiento en el objeto, y un objeto en la posicin del puntero 3D.
resto de articulaciones.
Para terminar, generamos la animacin aadiendo
Si el brazo robtico dobla el codo de forma incorrecta (hacia materiales con propiedad de RayMirror y renderizamos
abajo), se puede ayudar al motor de cinemtica inversa empleando el Trazador de Rayos integrado de Blender.
rotando en modo pose levemente el hombro hacia arriba.

Restricciones y curvas IPO


Para terminar esta prctica, vamos a crear una restriccin
que va a estar activa slo en un intervalo de frames. Con
este comportamiento simularemos que el robot cambia un
objeto de posicin.

Segn vemos en el vdeo resultado, el cilindro de color rojo


tiene que tener una restriccin de Copy Location activa
slo en el intervalo de frames donde la pinza sujeta al
objeto. Crearemos un Empty auxiliar, situado entre las dos
pinzas, que se llamar EmptyObjeto y que ser hijo del
objeto MunAPin. La restriccin aadida al cilindro rojo de
tipo CopyLocation (ver figura 11) estar activa desde el
frame 40 hasta el 120. El EmptyObjeto ser el que servir
como punto de ancla con la pinza.
Figura 13

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 8 [Pgina 3 de 3]
PRCTICA 9
Carlos Gonzlez Morcillo

03 Mayo 2006
(Carlos.Gonzalez@uclm.es)

Esqueletos Avanzados
Animacin para la Comunicacin Escuela Superior de Informtica Universidad de Castilla-La Mancha

Al personaje que modelamos en la prctica 4 vamos a aadirle un


esqueleto interno para poder realizar poses y animarlo en la siguiente
sesin empleando cinemtica inversa y animacin no lineal (NLA).

L
as articulaciones del esqueleto que vamos a definir aunque forma parte del esqueleto, que utilizaremos para
generarn unas deformaciones que habr que calcular la cinemtica inversa (huesoik). Obtendremos una
trasladar a la malla del modelo 3D. Por ltimo se configuracin similar a la figura 2.
aplicar un movimiento al esqueleto, construyendo una
secuencia de animacin.
aa Importante: Todos los huesos deben formar
parte de un nico objeto Armature. Por tanto,
As pues, en esta sesin identificamos un primer objetivo; cuando aadamos nuevos huesos al esqueleto, lo
construir un esqueleto para nuestro personaje, que haremos siempre desde el modo de edicin del objeto.
asociaremos a una malla. Indicaremos a Blender qu
vrtices de la malla tendr que deformar con cada hueso
del esqueleto. Podemos activar la representacin del nombre de cada
hueso pinchando en el botn Draw Name de los Botones
En la prxima sesin, construiremos una secuencia de de Edicin . Tambin es til, cuando el modelo est
animacin para el esqueleto. Podremos realizar esta representado en sombreado (tecla Z), activar en el mismo
secuencia mediante la tcnica de animacin lineal empleada men X-Ray para ver el esqueleto a travs de la malla.
en sesiones anteriores (brazo robtico); definiendo la
posicin de todos los puntos finales (IK Solver) en cada Nombraremos los huesos (ver
frame clave, o bien definiendo acciones en el mdulo de figura 3) como se explic en
Animacin No Lineal. Dependiendo del nivel de exactitud la sesin 8, y aadiremos una
que necesitemos en el resultado utilizaremos una tcnica u restriccin (en modo pose del
otra. esqueleto; ) de tipo Ik-
Solver al huesonull con ob-
jetivo en huesoik (Objeto
Un pequeo ejemplo antes de comenzar... Armature y Hueso Hueso-
IK). Ahora podemos despla-
Antes de definir el esqueleto del modelo creado en la
zar (en modo pose) huesoik,
prctica anterior, veamos cmo asociar un Armature a una
y el resto del esqueleto se
malla de polgonos, y el convenio de nombrado que utiliza
calcular de forma automtica
Blender.
mediante cinemtica inversa.
Quitaremos el botn UseTip
Empecemos con un ejemplo sencillo; insertamos un cubo a
que aparece activo por defec-
la escena. Extruimos la cara lateral y activando las
to.
superficies de subdivisin, construimos una malla como la Figura 3
mostrada en la figura 1.
Falta por indicar a blender cmo deformar la malla. Para
Figura 1 ello, crearemos grupos de vrtices con el mismo nombre
que los huesos del esqueleto. Asociaremos a cada conjunto
de vrtices un hueso de los anteriores. Entramos en modo
de edicin de vrtices del objeto y seleccionamos el grupo
de vrtices que estn situados sobre el hueso1 (ver figura
4). Seleccionamos todos los vrtices sobre los que tendr
influencia ese hueso.

Aadimos un Armature formado por 3 huesos principales


(hueso1, hueso2, hueso3) y un cuarto hueso pequeo
que utilizaremos para resolver la cinemtica inversa
(huesonull). Con el esqueleto todava en modo de edicin
de huesos, aadiremos un quinto hueso (pulsando la barra
espaciadora, Add / Bone), independiente de los anteriores,
Figura 2

Figura 4

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 9 [Pgina 1 de 5]
Figura 5
En los botones de edicin ,
crearemos un nuevo grupo de
vrtices (pinchamos en new).
Tecleamos el nombre del
primer hueso "hueso1" y, con
los vrtices asociados al
primer hueso seleccionados,
pinchamos en Assign (ver
figura 5). De esta forma hemos
creado el primer grupo de
vrtices, asociados a hueso1. Si nos equivocamos al
asignar vrtices, podemos quitar los errneos con Remove.
El botn Select sirve para mostrar los vrtices
seleccionados de un grupo y Deselect para deseleccionar
los vrtices del grupo. Creamos un grupo para cada hueso y
asignaremos los vrtices que se muestran en la figura 4.

Si nos fijamos, hay vrtices que pertenecen a dos grupos.


Es buena prctica que los vrtices situados en la zona de
unin de dos huesos, pertenezcan a los dos grupos de
vrtices asociados. Blender calcular cmo deformarlos
para que el resultado final en la malla sea suave.

Hecho esto, con el esqueleto en modo de edicion de objeto,


haremos la malla hija del esqueleto P, Make Parent
to/ Armature/ Don't create groups. Con esta ltima
opcin indicamos a blender que no genere automticamente
los grupos de vrtices (ya que hay huesos que no deben
utilizarse en las deformaciones de vrtices). Por lo general,
es mejor asignar manualmente los grupos de vrtices.
Figura 6

Figura 7

IkDedosPie.L. Al hueso PieNull.L un IkSolver hacia


IkDedosPie.L. Al hueso Pie.L un "copy location" hacia
PiernaNull.L. Finalmente a PiernaNull.L un IkSolver hacia
IkTobillo.L. Si todo ha ido bien, tendremos un
comportamiento como se ve en la figura 9; rotando
IkPie.L, obtenemos una rotacin general en la pierna,
quedando el hueso DedosPie.L paralelo siempre al suelo.

Entramos en modo de pose para el esqueleto y movemos el Crearemos grupos de Figura 8


hueso huesoik. Si todo ha ido bien, se deber aplicar la vrtices como se explic con
deformacin en el modelo (ver figura 6). el primer ejemplo de la
prctica, nombrando los
Huesos para las piernas grupos igual que los huesos
que los deformarn:
Aplicaremos este mtodo al archivo P9modelo.blend. Fmur.L, Tibia.L, Pie.L y
Comenzaremos por el esqueleto de las piernas. Los huesos DedosPie.L. Como hay dos
que tengan simtricos en el otro lado del cuerpo, como por objetos que tienen que usar
ejemplo las piernas y los brazos, los nombraremos el esqueleto (la bota y el
acabando en .R (los huesos de la derecha) y en .L (los de la cuerpo del personaje), habr
izquierda). Esto nos servir para "copiar" y "pegar" que crear grupos de vrtices
posiciones simtricas en la prctica de la siguiente sesin. para cada objeto. En la
De momento nos ocuparemos de mantener la notacin figura 10 podemos ver los
exacta y consistente. grupos de vrtices creados
para la bota. Adems, habr
Aadimos como primer Armature el formado por Fmur.L, que empearentar la malla
Tibia.L y PiernaNull.L (ver figura 7). Despus, y que sirve de cordones de
recordemos que tenemos como objetivo tener un nico la bota con el hueso Pie.L
Armature con todos los huesos, sin salir del modo de para que copie su rotacin
edicin, aadimos una nueva cadena de huesos: Pie.L y (P Make parent to/
PieNull.L. Finalmente, aadimos como cadenas Bone/ Pie.L).
independientes de un nico hueso: DedosPie.L,
IkDedosPie.L, IkTobillo.L e IkPie.L. Al terminar, podemos
emparentar las dos mallas
Hecho esto, realizaremos los siguientes parentescos entre (bota y cuerpo) con el
huesos. Para ello, iremos a los botones de edicin , y en esqueleto de la pierna. La
modo de edicin , elegimos el nombre del hueso padre deformacin debe verse en este punto. A partir de ahora,
en el campo child of; ver figura 8) los dos huesos IK todos los huesos que aadamos al esqueleto y grupos de
pequeos; IkDedosPie.L e IkTobillo.L con el controlador vrtices en la malla tendrn resultado directo en el modo de
principal del pie: IkPie.L. Al hueso DedosPie.L aadimos animacin "pose" (ver figura 11). La figura 12 muestra la
una restriccin "copy location" hacia el hueso jerarqua final que tendremos que construir.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 9 [Pgina 2 de 5]
Figura 9

Figura 10
Como se muestra en la figura 12, aadiremos una cadena
origen del IkSolver. Aadiremos un hueso independiente
de huesos para formar la columna vertebral (Estomago,
para cada dedo, que servir como destino del IkSolver.
Pecho y ColumnaNull). Para limitar el inicio y el fin de la
Adems, emparentaremos el origen de cada cadena de
columna, insertamos 2 nuevos huesos (IkCaderas e
huesos y el hueso IK de cada dedo con Mano.R (de esta
IkHombros). Aadimos una restriccin de tipo
forma, cuando rotemos el hueso Mano.R, rotarn tambin
CopyLocation a Estomago, respecto de IkCaderas. A
todos los dedos). Una captura del esqueleto de esta parte
ColumnaNull un IkSolver sobre IkHombros.
puede verse en el lateral de la figura 12.
Contruiremos los brazos como una cadena de 3 elementos:
La cabeza estar formada por un nico hueso llamado
Humero.R, Cubito.R y Muneca.R. Aadiremos un
Cabeza, que tendr dos hijos (MandibulaSup y
IkSolver (IkMuneca.R) sobre Muneca.R. Haremos el
MandibulaInf) que nos permitirn abrir y cerrar la boca.
hueso Humero.R hijo del hueso Pecho (eligiendo este
Los objetos que representan los dientes y la lengua sern
ltimo en la lista desplegable child of asociada a ese
hijos de estos huesos; la dentadura superior de
hueso, dentro de la pestaa Armature Bones). A
MandibulaSup y la dentadura inferior junto con la lengua
continuacin aadiremos un nuevo hueso llamado Mano.R
de MandibulaInf. El hueso Cabeza a su vez ser hijo del
que ser hijo de Cubito.R, con el que podremos orientar la
hueso Pecho.
mano completa.
Finalmente podemos ocultar algunos huesos para que,
Aadiremos nuevas cadenas de huesos para los dedos.
cuando estemos en modo de edicin de pose, slo nos
ndice, Anular y Menique tendrn 3 huesos (el dedo pulgar
aparezcan los que vayamos a utilizar. Esto se consigue
slo 2) ms un cuarto hueso (*null) que servir como
activando el botn Hide que aparece en color azul en el
grupo de botones inferior al
nombre del hueso.

En la figura 13 aparece el
conjunto de huesos que
seran de utilidad a la hora de
animar el personaje
(bsicamente los IKSolver de
todas las cadenas de huesos,
que sern los huesos a
desplazar): IKPie.*,
IKDedosPie.*, IKTobillo.*,
IKCaderas, IKHombros,
IKCabeza, Mano.*,
IKPulgar.*, IKIndice.*,
IKAnular.* e IKMenique.*,
junto con algunos que nos
permitirn realizar rotaciones
de las extremidades (como
los huesos Femur y
Humero), adems del hueso
Cabeza y las mandbulas.
Figura 12

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 9 [Pgina 3 de 5]
Figura 12

Figura 13
Puede resultar de utilidad tener el
esqueleto en una capa distinta del resto
de elementos. Esto nos permitir
ocultarlo cuando no estemos trabajando
directamente con l. Despus de ocultar
un subconjunto de los huesos del
esqueleto, obtenemos una configuracin
como la mostrada en la figura 13.

En el listado de la pgina 5 se
representan, a modo de referencia,
todos los huesos utilizados en la prctica
con la jerarqua asociada entre ellos.
Esta figura no representa las
restricciones aadidas, aunque en
general todos los huesos tipo *Null
tendrn una restriccin de tipo IKSolver
sobre un hueso IK* del mismo nombre.
El campo de la tabla Conectar con
padre se activa en el interfaz de
blender mediante el botn azul Con
situado a la derecha de la lista
desplegable Child Of.

ltimos detalles
Finalmente quedan por emparentar los
elementos que forman el casco (todos
hijos del hueso Cabeza), el cinturn
(hijo del hueso Estomago), y los
elementos que forman la pila (hijos de
Pecho). Los elementos que forman la
bombilla sern hijos del casco (al igual
que la fuente de luz puntual situada en
el interior).

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 9 [Pgina 4 de 5]
Para facilitar la orientacin de los ojos se ha aadido un Conectar
empty situado suficientemente lejos de la cabeza, que ser Visible? Hueso Hijo De
con Padre?
hijo del casco. Cada ojo tendr una restriccin de tipo
TrackTo sobre este etmpy. Habr que ajustar los ejes de To X IKIndice.L Mano.L
y Up para que el track sea correcto. De esta forma, cuando
desplacemos el empty por la escena, los ojos apuntarn a X IKAnular.L Mano.L
esa posicin.
X IKMenique.L Mano.L
En la siguiente sesin veremos cmo utilizar animacin no X Humero.R Pecho
lineal aplicada a este esqueleto, y poder reutilizar acciones
previamente definidas. Cubito.R Humero.R X

Muneca.R Cubito.R X
Conectar
Visible? Hueso Hijo De
con Padre? X Mano.R Cubito.R
Pie.L Pulgar1.R Mano.R
PieNull.L Pie.L X Pulgar2.R Pulgar1.R X
DedosPie.L PulgarNull.R Pulgar2.R X
X IKPie.L Indice1.R Mano.R
IKDedosPie.L IKPie.L Indice2.R Indice1.R X
IKTobillo.L IKPie.L Indice3.R Indice2.R X
Pie.R IndiceNull.R Indice3.R X
PieNull.R Pie.R X Anular1.R Mano.R
DedosPie.R Anular2.R Anular1.R X
X IKPie.R Anular3.R Anular2.R X
IKDedosPie.R IKPie.R AnularNull.R Anular3.R X
IKTobillo.R IKPie.R Menique1.R Mano.R
Estomago Menique2.R Menique1.R X
Pecho Estomago X Menique3.R Menique2.R X
ColumnaNull Pecho X MeniqueNull.R Menique3.R X
X Humero.L Pecho X IKPulgar.R Mano.R
Cubito.L Humero.L X X IKIndice.R Mano.R
Muneca.L Cubito.L X X IKAnular.R Mano.R
X Mano.L Cubito.L X IKMenique.R Mano.R
Pulgar1.L Mano.L X Cabeza Pecho
Pulgar2.L Pulgar1.L X X MandibulaSup Cabeza
PulgarNull.L Pulgar2.L X X MandibulaInf Cabeza
Indice1.L Mano.L X IKCaderas
Indice2.L Indice1.L X X Femur.L IKCaderas
Indice3.L Indice2.L X Tibia.L Femur.L X
IndiceNull.L Indice3.L X PiernaNull.L Tibia.L X
Anular1.L Mano.L X Femur.R IKCaderas
Anular2.L Anular1.L X Tibia.R Femur.R X
Anular3.L Anular2.L X PiernaNull.R Tibia.R X
AnularNull.L Anular3.L X X IKHombros
Menique1.L Mano.L X IKMuneca.L IKHombros
Menique2.L Menique1.L X X IKMuneca.R IKHombros
Menique3.L Menique2.L X

MeniqueNull.L Menique3.L X

X IKPulgar.L Mano.L

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 9 [Pgina 5 de 5]
Adenda :: Prctica 9

PRCTICA 9
Carlos Gonzlez Morcillo

03 Mayo 2006
(Carlos.Gonzalez@uclm.es)

Esqueletos Avanzados
Animacin para la Comunicacin Escuela Superior de Informtica Universidad de Castilla-La Mancha

Al personaje que modelamos en la prctica 4 vamos a aadirle un


esqueleto interno para poder realizar poses y animarlo en la siguiente
sesin empleando cinemtica inversa y animacin no lineal (NLA).

E
l motor de clculo de cinemtica inversa de blender huesos (Pulgar1.L y Pulgar2.L). El hueso IndiceNull.L por
en sus ltimas versiones requiere que se le indique el su parte (figuras 4 y 5) es el extremo de una cadena de 3
nmero de huesos que forman cada cadena de IK, huesos. El hueso ColumnaNull ser el extremo de una
para que el clculo sea correcto. Por ejemplo, en la figura 1 cadena de 2 unidades, etc... En general, todos los huesos
se muestra que la cadena donde Muneca.L es el hueso que que tengan restricciones de tipo IK Solver tendrn que
tiene la restriccin de IK Solver est formada por 2 huesos indicar el nmero de huesos de los que consta la cadena
(Humero.L y Cubito.L). Por esa razn, el campo ChainLen (sin contarse a si mismos). Es imprescindible establecer el
(figura 2) tiene que indicar 2. De igual forma (figura 3), el parmetro ChainLen de los huesos que lo requieran antes
hueso PulgarNull.L es el extremo de una cadena de 2 de comenzar ninguna animacin de la prctica 11.

Figura 2

Figura 3

Figura 1

Figura 4

Figura 5

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 9 (Adenda) [Pgina 1 de 1]
10
Carlos Gonzlez Morcillo
PRCTICA

10 Mayo 2006
(Carlos.Gonzalez@uclm.es)

Renderizado Realista
Animacin para la Comunicacin Escuela Superior de Informtica Universidad de Castilla-La Mancha

En esta sesin utilizaremos diferentes tcnicas de renderizado


fotorrealista (como Iluminacin Global de Yafray, Mapas HDRI y
Raytracing con Ambient Occlusion integrado en Blender).

A
ntes de comenzar, prepararemos una escena sencilla
con la que trabajaremos en las tres primeras partes
de esta sesin. Vamos a utilizar un modelo
escaneado en 3D del repositorio de modelos 3D de
Stanford1. Existen varios proyectos de escaneado de figuras
3D, como el Digital Michelangelo Project2 que cuenta con
multitud de estatuas en muy alta resolucin.

El formato en el que se encuentran los modelos escaneados


ha sido desarrollado en la propia universidad de Stanford;
se utiliz un script para importar estos modelos en blender. Figura 2
Pese a utilizar un modelo con un alto nmero de polgonos
del dragn (ms de 45.000), en realidad es un modelo a Duplicamos la malla D y sin moverla de la posicin que
baja resolucin. Podemos encontrar versiones de mayor ocupa, la separamos de la copa P. Con esto, debemos
calidad en la web mencionada anteriormente. Cargamos el tener un objeto independiente, al que le falta la tapa
modelo con File / Append. Activamos el modo de superior (ver figura 4).
sombreado suave en el modelo (Set Smooth) en los
botones de edicin.

En el modelado de la copa se utiliz una superficie de


revolucin (como vimos en sesiones anteriores).
Empleamos una curva de bezier para hacer el contorno, que
convertimos a polgono y generamos la superficie mediante
el botn Spin. Es importante que el contorno sobre el que
vamos a realizar la revolucin modele el grosor del cristal y
as la simulacin de refraccin ser mucho ms realista (ver Figura 3
figura 1). Para terminar el modelo, seleccionamos los vrtices de la
partel superior del nuevo objeto (desde la vista lateral,
pulsamos la tecla B -una vez- y marcamos mediante una
caja los vrtices superiores). Hecho esto (sin salir del modo
de edicin de vrtices), pulsamos Edit/ Face/ Fill.
Se habrn creado un conjunto de caras para cerrar la parte
superior del nuevo objeto. Pasemos a dar materiales y
texturas a los objetos de la escena.
Figura 4

Figura 1

Para modelar la zona del licor, vamos a duplicar parte de la


malla de la copal, y crearemos despus el conjunto de caras
superior para cerrar la malla. Pimero seleccionamos (en
modo de edicin de vrtices) el conjunto de vrtices central En la figura 5 se recogen las propiedades del material
del interior de la copa (ver figura 2). aplicado al dragn. Se ha activado el botn RayMirror de
la pestaa Mirror Transp, para que refleje un poco el
Podemos aumentar o disminuir la seleccin a elementos entorno (el nivel de la variable RayMir se ha dejado bajo).
vecinos con + y - (teclado numrico). De esta El parmetro Depth se ha establecido en 2, para que sea el
forma, con los vrtices anteriores seleccionados, mximo nivel de recursin que podr alcanzar una reflexin
pulsaremos repetidas veces + hasta conseguir una en el motor de trazado de rayos. Tambin podemos
seleccin similar a la mostrada en la figura 3. destacar que el color de brillo especular (Spe) y de Espejo
(Mir) se han cambiado por distintos tonos azules, que
simularn mejor el comportamiento de la porcelana. Este
1 http://graphics.stanford.edu/data/3Dscanrep/
nivel de detalle nos permite crear materiales complejos.
2 http://graphics.stanford.edu/projects/mich/

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 10 [Pgina 1 de 6]
Figura 5

Figura 6

Figura 7

Recordemos que para cambiar estos colores, basta con Cuando pinchamos en el botn Ray indicado anteriormente,
pinchar sobre el cuadro de color (no es necesario hacerlo aparece una nueva lista desplegable en la zona inferior de
cambiando directamente las componentes RGB). la pestaa de Render (ver figura 8). Esta lista permite
indicar la resolucin del rbol octal que utiliza el motor de
Respecto del material creado para el cristal y el licor, son raytracing para acelerar el clculo de las intersecciones
bsicamente iguales. Ambos materiales tienen rayo/objeto. Una buena eleccin del tamao de este
transparencia, que viene dada por el parmetro Alpha parmetro ahorrar mucho tiempo de render. Un mayor
(debajo de las componentes RGB). Adems, tienen un poco tamao requerir ms memoria, pero acelerar los clculos
de nivel de reflexin (RayMirror bajo). El campo IOR mide en escenas complejas (con un alto nmero de polgonos).
el ndice de Refraccin (Index Of Refraction). Este ndice es Un valor de 64 funcionar bien para escenas poco
particular de cada tipo de material. Por ejemplo, el aire complejas. En nuestro caso hemos elegido 512 debido al
tiene un IOR de 1, el agua de 1.3 y el cristal de 1.5. alto nmero de polgonos de la escena.
Podemos comprobar cmo afecta esta propiedad al material Figura 9
en la pestaa Preview. Finalmente, es muy importante
activar el botn TraShadow para que el material reciba
sombras transparentes (y la refraccin sea realista).

Pasemos a ver algunos mtodos de render de la escena que


hemos creado. Las diferencias de calidad vienen
normalmente asociadas a diferencias en tiempo de render.
Es un aspecto muy importante a tener en cuenta, sobre
todo si queremos generar animaciones (en cuyo caso,
tendramos que estimar el tiempo de render que nos llevar
procesar la secuencia). Una importante decisin ser la
eleccin del mtodo de renderizado para que el tiempo de
generacin sea manejable. Comenzaremos trabajando con
el motor de raytracing integrado en blender, y el uso de
Ambiet Occlusion.

Parte 1: Ambient Occlusion


Si activamos el botn Ray de la pestaa de Render,
indicamos a blender que queremos utilizar raytracing para Si utilizamos un esquema de iluminacin de 3 puntos (como
el clculo de reflexiones y refracciones. Esto slo tiene el que vimos en teora), aadiremos un nico foco que
Figura 8 sentido si vamos a utilizar el arrojar sombra, y otros dos en las posiciones clsicas de
motor de render integrado de iluminacin (ver figura 9). El resultado del render ser el
blender. Desde la versin 2.36, objenido en la figura 10.
Blender tiene integrados dos
motores de render; el interno El resultado es bastante bueno, aunque hay varios puntos
de Blender y Yafray. Podemos que se podran mejorar. Uno de ellos es la calidad de las
especificar el motor de render a sombras; pese a que hemos utilizado un esquema de
utilizar en la lista desplegable iluminacin de 3 puntos, no hay sombras difusas. Adems,
situada debajo del botn la transparencia del cristal dista mucho de la realidad.
RENDER.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 10 [Pgina 2 de 6]
definido en el horizonte (en nuestro caso, es igualmente
blanco), o Sky Texture si queremos utilizar un mapa de
entorno (en este caso, el color de la luz se corresponder
con el color de pixel con el que choque cada rayo).

Energy indica la intensidad que tendrn asignados los


rayos de AO. Finalmente, Bias permite especificar el
parmetro de mezclado para que el resultado sea suave (no
se noten las caras poligonales). A mayor valor de Bias,
menor es el efecto de poligonalizacin del render.

Figura 10

Podemos mejorar el aspecto de las sombras utilizando


Ambient Occlusion. Este truco de iluminacin se basa
en asignar a cada punto de la escena un valor de sombra
que es proporcional al porcentaje de cielo que se puede ver
desde esa posicin. Es decir, trazamos un conjunto de
rayos hacia el cielo, y se comprueba el nmero que llega al
cielo. De esta forma se asigna un valor de iluminacin a ese
punto de la escena. Naturalmente no es un modelo
totalmente realista, pero da resultados bastante aceptables.
Figura 12
Para activar el AO, nos vamos a las propiedades del mundo
(figura 11). Definimos el color del horizonte, que ser El resultado del render con AO (empleando los parmetros
utilizado como color de la luz en AO (y en los mtodos de de lal figura 11) puede verse en la figura 12.
iluminacin de Yafray). En la pestaa Amb Occ, activamos
el botn superior Ambient Occlusion. El parmetro Parte 2: Iluminacin Global con Yafray
Samples indica el nmero de rayos que se trazan para
alcanzar el cielo (en realidad, es el cuadrado del nmero Yafray es un motor de render externo a Blender, aunque
que indiquemos). A mayor nmero, mejor calidad de las permite lanzarlo y ver el resultado obtenido desde el
sombras, menos ruido (pero mayor tiempo de render). Un interfaz de Blender. Tendremos que instalarlo
valor de 10 suele ser aceptable la mayora de las veces. independientemente (hay un enlace a la pgina web oficial
del programa desde la seccin de descargas de Blender).
Con los valores de Dist y Use Distances
podemos tener ms control sobre las sombras Figura 13
calculadas. Los botones de Add, Sub y Both
permiten controlar cmo se comporta la oclusin:

Add: El punto recibe luz segn los rayos que


no se han chocado con ningn objeto. La
escena es ms luminosa que la original sin
AO.

Sub: El punto recibe sombra segn los rayos


que han chocado con algn objeto. La escena
es ms oscura que la original sin AO.
Una vez instalado, podemos elegirlo como motor de
Both: Utiliza ambos mtodos a la vez. renderizado en la lista de motores de render que vimos en
la figura 8. Cuando lo seleccionemos, aparecern dos
Mediante el siguiente grupo de botones podemos controlar pestaas con las opciones de configuracin de Yafray
el color de la luz empleada en iluminacin AO; Plain (figura 13). En la pestaa Yafray (figura 13), tenemos
emplea luz de color blanca, Sky Color utiliza el color opciones generales de configuracin; como el
botn AutoAA, que permite a Yafray
seleccionar automticamente el nivel de
AntiAliasing (Oversampling), Clamp RGB
para realizar AntiAliasing en zonas con alto
contraste, la profundidad mxima del trazado
de rayos Raydepth y ajustes particulares de
exposicin de la luz, correccin de gama,
etc... Si disponemos de un computador con
ms de 1 procesador, podemos indicar aqu
el nmero de procesadores que queremos
que utilice yafray (a nivel de hilos).

El botn superior de color azul xml permite


exportar el fichero que yafray toma de
Figura 11

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 10 [Pgina 3 de 6]
Figura 14

entrada. El directorio de exportacin se indica en las que no pueden ir Figura 16


opciones de configuracin generales de blender (accesibles empaquetadas en el
si desplazamos hacia abajo la ventana de informcin fichero de blender en el
superior, ver figura 14). Este directorio temporal se momento de hacer el
especifica en YFexport. Podemos ejecutar Yafray desde render. Como Yafray es
lnea de comandos indicndole el fichero XML que se ha un motor externo,
generado, para realizar el render de forma totalmente requiere que los ficheros
independiente de Blender. Esta forma de trabajar es la de textura estn
tpica en cualqier proyecto grande, enviando la ltima fase disponibles en alguna ruta del sistema de archivos. Si
de renderizado a un cluster de ordenadores dedicados tenemos una textura empaquetada (aparece el icono del
(granja de render). paquete pulsado), podemos desempaquetarla
automticamente pulsando sobre el botn con un icono de
En la pestaa de iluminacin global (Yafray GI), en un paquete (figura 16). A nivel global de todas las texturas
principio presenta dos listas de seleccin. En la lista de de una escena que estn previamente empaquetadas,
mtodo de iluminacin Method, podemos elegir entre mediante la orden File / Unpack Data.
Skydome, en el que la luz se calcula proveniente
nicamente desde el cielo (un cielo infinito del color que El otro mtodo que pro- Figura 17
hayamos definido el valor Sky en las propiedades del porciona yafray (seleccio-
mundo -figura 11-), o Full, que realiza un clculo de nando en la lista desple-
iluminacin global completa (con iteracin de la luz entre gable Method la opcin
objetos). Full) es mucho ms
Figura 15 realista. La lista de calidad
Quality ajusta, segn el
parmetro seleccionado,
las variables que
necesitar yafray para
renderizar la escena. En
definitiva es el nmero de
muestras de luz que calcular. El parmetro EmitPower
situado en el inferior del panel permite ajustar la intensidad
de las fuentes de luz de la escena. En algunas escenas
habr que ajustar este parmetro (normalmente
incrementarlo) para obtener un valor de iluminacin
correcto.

Con el mtodo de renderizado completo, tendremos que


especificar dos nuevos parmetros; Depth (rebotes de la
luz entre objetos) y CDepth (rebotes de la luz dentro de
objetos translcidos para obtener casticas).

Si activamos el modo Cache, aceleraremos los clculos


empleando Irradiance Cache. Esta cache nos evita tener
Si elegimos el mtodo Sky, Yafray nicamente nos pide el que calcular la iluminacin global en cada punto; selecciona
valor de emisin EmitPwr. Esta es la intensidad con que se algunos pxeles para realizar los clculos y despus
realizar la iluminacin de la escena. Es habitual que una interpola el valor de iluminacin. En ShadQu indicamos la
escena bien iluminada con el motor integrado de blender se calidad de las sombras; con valores ms altos obtenemos
vea algo oscura en Yafray. Mediante este parmetro mejores resultados (naturalmente, con mayor tiempo de
podemos ajustar el nivel total de iluminacin. En la escena clculo). Prec indica la precisin del pxel (un valor ms
de la figura 15 despus de algunas pruebas a baja bajo implica mayor calidad). Ref es un valor umbral, donde
resolucin, se estableci en 1.9. Las primeras pruebas se especificamos el cambio de intensidad que vamos a permitir
realizaron con el valor Quality a low. entre muestras. Valores ms pequeos dan resultados ms
precisos.
aa Muy Importante: Las primeras pruebas de
render las realicemos a baja resolucin (25% de El botn NoBump permite evitar el clculo de cambio del
la resolucin definitiva o incluso menor), a baja calidad y vector normal en la superficie si se utiliza Bump Mapping.
desactivando el Oversampling (OSA). Cuando los valores Esto es mucho ms rpido si se est utilizando Irradiance
de iluminacin sean correctos, activaremos el render a Cache. Aunque es menos realista, debemos evitar el uso de
mxima calidad con un nivel de Oversampling aceptable Bump Mapping porque necesita muchos ms clculos en
(8 suele ser suficiente). Pathtracing con Cache.

Una vez lanzado el render, veremos cmo la escena va Los fotones Photons nicamente ayudan al clculo de la
apareciendo poco a poco en la ventana de render. Podemos iluminacin. Funcionan especialmente bien en escenas de
parar el render pulsando . interiores donde no hay cielos visibles, donde la luz entra
por una zona claramente definida. Aunque en nuestra
El resultado utilizando este mtodo de render es el escena no seran necesarios, vamos a utilizarlos y a
mostrado en la figura 15. Un detalle importante a tener en estudiar sus parmetros. Count indica el nmero de
cuenta cuando trabajemos con texturas de imagen es fotones a lanzar, un nmero mayor implica un restulado
ms suave. Radius indica el nivel de difuminado entre

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 10 [Pgina 4 de 6]
Figura 18 Figura 19

fotones. Es importante encontrar un valor adecuado para


que el resultado sea suave. MixCount indica el nmero de
fotones que van a situarse dentro del radio anterior.
Finalmente, el botn Tune Photons sirve para obtener una
respresentacin preliminar del mapeado de fotones y ver si
la imagen acabar correctamente iluminada. Para ms
informacin sobre el uso de fotones y consejos de
iluminacin de escenas interiores, consultar la seccin de la escena hasta que no lanzamos el render. En nuestro
documentacin de la web oficial de yafray1. caso, los parmetros que mejor se ajustaban a la escena
eran EmitPower y GIPower en 0.4.
Los parmetros de rederizado de la escena que se muestra
en la figura 18 empleando el mtodo completo de Profundidad de Campo (DOF)
iluminacin son los mostrados en la figura 17.
Otro efecto muy interesante y fcil de configurar en Yafray
es la profundidad de campo (los objetos que estn en la
Parte 3: HDRI, Casticas y DOF zona de enfoque aparecern ntidos, y segn nos alejamos
de la zona de enfoque, los objetos aparecen desenfocados).
Vamos a mejorar el resultado anterior empleando algunas
caractersticas avanzadas de yafray. Una de ellas es la
Con la cmara seleccionada, nos vamos a los botones de
posibilidad de emplear mapas de iluminacin HDRI. Estos
edicin y pinchamos en ShowLimits. Esto nos mostrar el
mapas almacenan informacin sobre iluminacin (adems
volumen de visualizacin de la cmara y una equis de color
Figura 20 de las componentes de
amarillo. Esta equis representa la distancia de enfoque
color).
perfecto de la cmara (debemos colocarlo donde queramos
que la visualizacin sea ntida, variando la distancia
En nuestro caso, vamos a
DoFDist). Mediante el parmetro Aperture indicamos
emplear el mapa HDRI que
cmo de borrosos queremos que aparezcan los objetos
se muestra en la figura 19.
alejados del punto indicado en DoFDist; cuanto ms
Se puede consultar ms
grande es Aperture, ms desenfoque habr. Para la
informacin sobre este tipo
escena de esta sesin, los valores utilizados son los
de mapas (adems de
mostrados en la figura 21.
algunos ejemplos para
descargar) en la web de
Paul Debevec2.
Casticas

Iluminacin basada en Imgenes HDR Las casticas se refieren a los patrones de refraccin que
presentan algunos materiales, como el cristal, que
concentran los fotones en un punto y modifican el color de
Para cargar el mapa HDRI, en las propiedades del mundo
las superficies sobre las que se proyectan.
(World Buttons) aadimos una textura de tipo imagen y
cargamos la imagen HDR (en nuestro caso, car.hrd). Como
es una mapa HDR esfrico, tendremos que
activar el botn AngMap en el tipo de Figura 21
mapeado de la textura (ver figura 20).

En la pestaa Map To, tendremos que


activar el boton Hori para que el mapa HDR
se proyecte en el horizonte.

Ahora tenemos que ajustar los parmetros


de iluminacin de nuevo, ya que el mapa
HDR almacena informacin sobre
iluminacin. No hay ninguna formula mgica
para conseguir el resultado esperado, ya
que no sabemos el rango de iluminacin de

1 http://www.yafray.org
2 http://www.debevec.org/

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 10 [Pgina 5 de 6]
Figura 22

Algunos elementos de iluminacin (como luces de rea) para encontrar el punto correcto. El nmero de fotones no
arrojan casticas sobre los objetos directamente. Los debemos subirlo mucho en ninguna circunstancia; suele ser
mapas HDR no; sin embargo, existe un tipo de fuente de mejor aumentar la energa de los fotones hasta que veamos
luz especfica para aadir este efecto, la fuente de luz algunas manchas en la escena y luego variar los
Photon. Esta fuente no ilumina la escena realmente; parmetros de mezclado.
nicamente aade fotones que logran este efecto de
casticas. La figura 23 es el resultado de aplicar el mapa HDR, el
efecto de profundidad de campo y casticas.
Aadimos una fuente de luz de este tipo y ajustamos los
parmetros como se muestra en la figura 22. Si activamos En muchas ocasiones la variacin en el nmero de samples
QMC, utilizamos el mtodo de Quasi Monte Carlo para de la PathLight (especificado en el interfaz de Blender
distribuir los fotones de la fuente. En Angle especificamos el mediante la lista desplegable Quality figura 13 -), no se
ngulo de salida de los fotones (cuanto ms concentrados corresponde con un aumento en la calidad de la imagen
estn, ms intensas sern las casticas). En Photons final. Es muy importante elegir el nivel de samples
indicamos el nmero de fotones a lanzar, en Depth adecuado, ya que el timepo de render de una misma
especificamos el nmero de rebotes que pueden dar los escena puede verse afectado incluso en dos rdenes de
fotones en el interior de los objetos. Los parmetros de magnitud!. Si el resultado del proyecto es una imagen
search y blur miden el mezclado entre los fotones (con esttica, podemos repartir el render de la imagen en varios
valores mayores tenemos ms sensacin de uniformidad en computadores y componer el resultado dejando una zona
la castica). Al igual que antes, estos parmetros son muy reservada entre fragmentos para poder realizar la
particulares de cada escena y no hay frmulas mgicas composicin de la imagen final.

Figura 23

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 10 [Pgina 6 de 6]
PRCTICA 11 Carlos Gonzlez Morcillo

17 Mayo 2006
(Carlos.Gonzalez@uclm.es)

Animacin No Nineal (NLA)


Animacin para la Comunicacin Escuela Superior de Informtica Universidad de Castilla-La Mancha

En esta sesin utilizaremos el esqueleto al que realizamos el


"rigging" en la prctica 10 para generar una sencilla animacin
empleando acciones bsicas combinadas en el mdulo de ANL.

P
ara comenzar a trabajar, abrimos dos ventanas pinchamos en el botn o seleccionamos Pose / Copy
nuevas en blender. Una que contendr el editor de current Pose, ambas opciones en la cabecera de la
Acciones y otra de tipo editor NLA (Non Linear ventana 3D. Al lado de este icono hay dos que nos permiten
Animation). En animacin no lineal, definiremos las acciones pegar la posicin copiada , y pegar la posicin
como conjuntos de posiciones clave de un subconjunto de invertida . Podemos realizar estas operaciones con sus
huesos. As, crearemos el movimiento de "andar", el de correspondientes opciones dentro del men Pose visto
girar la cabeza y el de sealar, y los compondremos anteriormente.
para obtener la animacin final. Figura 2
Figura 1

Mediante el pegado invertido, siempre que hayamos


utilizado la notacin especial empleada por blender de
nombrar mediante .R y .L los huesos simtricos en cada
lado del cuerpo, podremos pegar la pose empleada
invertida.

As, pinchamos en copiar la posicin actual y nos


desplazamos al frame 14. Pegamos la posicin invertida
e insertamos frame clave I. Nos vamos al frame 28 y
pegamos la posicin normal . Insertamos de nuevo un
frame clave. Si reproducimos la accin, tendremos un
movimiento parecido a andar, pero sin levantar los pies del
suelo (estilo Moonwalker). Bastar con que nos situemos en
los frames intermedios (7 y 21) y aadamos nuevos frames
clave con la pierna que corresponda levantada. Debemos
conseguir posicionar las articulaciones como se muestra en
la figura 10.
Figura 3

Vamos a aadir el movimiento de mover las piernas al


caminar. En la ventana 3D, situamos el esqueleto en la
posicin que muestra la figura 1. Para ello, desplazaremos y
rotaremos en modo Pose los huesos de definicin de Hecho esto, obtendremos una accin en la ventana de
la cinemtica inversa finales; IKMano.*, IKMuneca.*, acciones como se muestra en la figura 2. En la ventana NLA
Femur.*, Humero.* e IKPie.* . Con los huesos aparecern una serie de cuadritos amarillos indicando los
frames clave (figura 3). Podemos ver la animacin de la
seleccionados, insertamos un frame clave I de
Localizacin y Rotacin (LocRot). En la ventana de accin pulsado A. Como la accin est terminada, la
Acciones debern aparecer unos cuadros de color amarillo renombraremos como "Andar", tal y como muestra la figura
en el frame 1. Con los cuatro huesos seleccionados, vamos 2 y la quitaremos de la ventana de NLA. Para esto,
a copiar la posicin actual al buffer de blender. Para ello, pinchamos en el botn de la cabecera de la ventana de
acciones. Esto no elimina la accin realmente; podemos

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 11 [Pgina 1 de 3]
Figura 4 Cmo hacer que el personaje siga un camino?
Necesitamos aadir un elemento de tipo Curve,
Path. Ajustamos los puntos de control y
emparentamos el esqueleto (hijo) a la curva
(padre), P Normal Parent. Hecho esto, si
reproducimos la animacin A comprobamos
que el personaje sigue el camino, pero no rota
adecuadamente.

Para conseguir que el esqueleto gire segn el


recuperarla de nuevo accediendo a la lista desplegable . vector normal al camino que hemos aadido,
Con la accin creada, podemos utilizarla como franja de insertamos una restriccin al esqueleto de tipo Follow
Animacin No Lineal; que se representa mediante barras Path (figura 7). Indicamos en el campo de Objeto (OB), el
amarillas que podemos escalar, suavizar y componer. nombre del path insertado (en el caso del ejemplo,
"Curve"). Activamos el botn Curve Follow. Es importante
En la ventana de NLA , y con el esqueleto seleccionado indicar el eje correcto que apunta hacia el techo Up, y el
(la banda "Armature" tiene que aparecer con el rtulo en vector que apunta hacia delante Fw (en el ejemplo de la
color blanco en la ventana de NLA), pulsamos A, Add figura 7 sera el eje negativo de las Y).
Action y seleccionamos la accin recin creada ("Andar"). Figura 7
Si la accin se ha quedado insertada en la ventana de NLA
como un conjunto de frames clave (como apareca en la
ventana de Acciones), podemos convertirla a barra de
animacin con la tecla C. Una vez que tengamos la barra
de animacin NLA, podemos escalar la duracin de la accin
de caminar al nmero de frames que queramos (como
cualquier objeto, con S), o desplazarlo en la lnea de
tiempo con G. Crearemos nuevas acciones (como taparse la
cara, girar la cabeza...) de forma similar. Podemos aadir
acciones ya creadas a la ventana NLA pulsando de nuevo
A.
Figura 5

En la ventana NLA, seleccionamos la accin "andar" y


pulsamos N. Con esto, accedemos a las propiedes
especficas de la accin (ver figura 8).
Figura 8

Podemos ver cmo qued la composicin de acciones de


esta sesin en la figura 4. A continuacin analizaremos
algunas opciones de composicin.

Antes de hacer que el personaje siga un camino, vamos a


medir la longitud de paso de nuestro personaje. Para ello,
desde la vista lateral de la accin de andar, y con el paso
totalmente extendido (figura 5), anotamos el nmero de
unidades de la rejilla que abarca el paso (en el ejemplo de
la figura, 3.75 unidades. Las propiedades de Strip Start y Strip End indican el
Figura 6 momento en el que la accin comienza y termina en la
Con esto ya sabemos el nmero de planificacin NLA actual.
unidades de la rejilla, pero...
Cunto mide la rejilla? Para ver Action Range hace mencin a la duracin (en frames)
esto, accedemos a View/ View
de la accin (independiente de dnde empiece).
Properties en la cabecera de la
ventana 3D, y como muestra la
Blendin y Blendout son el nmero de frames que
figura 6, tenemos el valor en el
damos para mezclar la accin con las siguientes. Es un
campo Grid: Spacing. En el caso de nuestro ejemplo, cada
factor de suavizado que aplica Blender en la
celda de la rejilla mide 1 unidad real.
interpolacin entre acciones.
Finalmente, cunto avanza el personaje en cada paso?
Pues, avanza 3.75 unidades de rejilla 1 unidad que mide Repeat indica el nmero de veces que vamos a repetir
cada rejilla 2 "mitades simtricas" que tiene cada paso = la accin.
7.5 unidades reales por cada paso. Anotamos este valor,
porque lo utilizaremos ms adelante. Stride es un parmetro muy importante si estamos
utilizando caminos (paths), como en nuestro caso.

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 11 [Pgina 2 de 3]
Figura 9
en sesiones anteriores. En el video de ejemplo de esta
sesin, el movimiento de los ojos ha sido animado
insertando frames clave entre las acciones de ANL.
Figura 11

Y ahora qu?
Ahora te queda continuar investigando por tu cuenta;
Indica a Blender el nmero de unidades que avanza el estudiando algunos mdulos muy interesantes que no
modelo en cada ciclo. Debemos ajustar este parmetro hemos podido ver en sesiones de prcticas por falta de
para evitar que el modelo "patine" sobre el suelo. Aqu tiempo, pero que podrs desarrollar sin problemas como:
debemos indicar el parmetro calculado anteriormente
(7.5 unidades reales en nuestro caso). Simulaciones fsicas: Empleando el motor de
simulaciones fsicas Bullet (se selecciona dentro de las
Si activamos Stride Path, la accin se va a sincronizar
opciones del mundo), dando propiedades fisicas en el
con el avance del path. En nuestro ejemplo, activaremos game engine y activando la opcin Game / Record
este botn nicamente en las acciones que tengan que Game Physics to IPO, del men principal de
ver directamente con el acto de caminar; es decir, Blender.
nicamente "andar".
Softbodies: Incorporados en la versin 2.40,
El botn de Hold, si est activo, nos conserva la ltima
permiten la simulacin fsica de interacciones con
posicin alcanzada por una accin. objetos que no son totalmente rgidos.
El botn Add indica que el movimiento final resultar de Simulacin de fluidos: Basta con indicar qu objeto
la composicin de esta accin con el resto (sus efectos ser el fluido y cual el contenedor. La simulacin
se suman). Por lo general, este parmetro tendr que conseguida es muy realista.
estar siempre activo para todas las acciones (salvo en la
accin que sirva de base del movimiento; en nuestro Composicin de video: Blender incorpora un
caso, andar).
compositor de video y audio bastante completo. Se
puede acceder a l cambiando una ventana a tipo
Por ltimo, recordaremos que Blender permite trabajar
Video Sequence Editor. En esta parte se pueden
hasta el mnimo nivel de detalle mediante curvas IPO.
importar secuencias de video y audio, imgenes y
Podemos, por ejemplo, variar la velocidad del personaje
realizar transiciones entre ellas. Para generar el
que sigue sobre el path accediendo a la curva IPO asociada
resultado habr que activar el boton Do Sequence de
al camino (ver figura 9). Para esto, tendremos que elegir de
las propiedades de Render.
la lista desplegable la opcin Path. Podemos variar la
duracin del camino desplazando hacia la izquierda el punto
final de esta curva (en el ejemplo est ajustado a 100
Otras caractersticas como la generacin de pelo,
frames). animacin facial (drivers), mtodos de render no
realista (tipo Toon Shading) efectos de profundidad de
La animacin no lineal puede combinarse perfectamente campo, etc... Suerte y happy blending! :-)
con animacin basada en frames clave que hemos utilizado
Figura 10

Animacin para la Comunicacin Escuela Superior de Informtica Ciudad Real (UCLM) Prctica 11 [Pgina 3 de 3]

También podría gustarte