Está en la página 1de 41

Prefaci o :..

Estos apuntes que tienes en tus manos son el fruto de cuatro meses de trabajo,
preparando las prcticas de la asignatura Animacin para la Comunicacin,
en la Escuela Superior de Informtica de Ciudad Real (Universidad de
Castilla-La Mancha). Por esta razn, en el texto encontrars algunas
referencias a conceptos que fueron explicados en clases de teora y se
completaron con aclaraciones comentadas en las sesiones de prcticas.

Este documento no pretende ser una gua exhaustiva de Blender.
Tampoco es un manual para el totalmente inexperto en 3D. Si es tu
caso, un buen punto de comienzo podra ser el manual realizado
por Javier Belanche.

De cualquier forma, he considerado que este trabajo poda resultar
til para quien desee introducirse en el mundillo del diseo grfico
3D, utilizando alguno de los sistemas operativos ms populares:
Microsoft Windows y Linux, sin necesidad de gastarse una
fortuna en software. La mayora de las sesiones pueden realizarse
nicamente con Blender. En otras, harn falta programas que pueden
encontrarse de forma gratuita en la red y, en la mayora de los casos,
podrn utilizarse indistintamente en Windows y Linux.

Ser bienvenida cualquier cuestin y sugerencia sobre este
documento, as como errores encontrados, a la direccin de
correo: Carlos.Gonzalez@uclm.es .

Finalmente quiero agradecer a Nines y a mi familia todo el
tiempo robado, a mis alumnos la ilusin aportada en clase, y
a Caronte su apoyo a la hora de alojar este documento en
Nicodigital y ayudar a su expansin por la red de redes.

Carlos Gonzlez Morcillo
25 de Junio de 2003

Animacin para la Comunicacin


Prctica 1 [ Pgina 1 de 2 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

sta primera prctica nos servir como


toma de contacto inicial con la herra-
mienta. Aprenderemos a personalizar el en-
torno y renderizar una escena sencilla.

El interfaz que presenta Blender al arrancar
es el mostrado en la Figura 1. Todas las
ventanas de Blender son personalizables, en
el sentido de que podemos dividir la pantalla
como nos resulte ms cmodo y situar en
cada porcin el tipo de ventana que quera-
mos. Por defecto Blender arranca la pantalla
con dos divisiones; la ventana superior de
tipo 3DWindow y la inferior de tipo But-
tonWindow . Podemos cambiar el tipo de
ventana pinchando en el botn y seleccio-
nando alguno de los tipos que se muestran
en la siguiente imagen:

La ventana 3D nos muestra un cuadrado de
color rosado. Este cuadrado es un plano que
crea Blender al comenzar a trabajar. El color
rosa indica que est seleccionado. El
tringulo inferior de color negro representa
la cmara. El resto de cuadrados de la
escena lo forman la cuadrcula que nos
servir para colocar los objetos de la escena
con precisin.

El crculo de color rojo situado en el centro
de la ventana es el puntero3D. Todos los
elementos que se aadan a la escena
lo harn donde se encuentre el pun-
tero 3D.

Antes de empezar a trabajar, perso-
nalizaremos un poco el entorno de
Blender. Dividiremos la ventana 3D
con la distribucin que se muestra en
la Figura 2. Para ello, nos situaremos
con el ratn en la zona de divisin de
dos ventanas (por ejemplo, entre la
zona de divisin entre la ventana 3D
y la ventana de Botones) y con la
ventana 3D iluminada (seleccionada),
haremos BDR y elegiremos Split
Area. Partiremos la pantalla hasta
conseguir una disposicin del rea de
trabajo como se muestra en la Figura
2. Podemos eliminar las cabeceras,
as como situarlas en la parte supe-
rior de las ventanas haciendo BDR
sobre ellas.

Para rotar el punto de vista de una
ventana 3D, con ALT pulsada, arras-
traremos el ratn con BIR. Podemos
hacer zoom tanto en la ventana 3D
como en la ventana de botones con
CONTROL + ALT + BIR. Para des-
plazar el punto de vista (horizontal y
verticalmente), utilizaremos ALT +
MAYSCULAS + BIR.

Cambiaremos el modo de vista de cada ven-
tana 3D mediante atajos de teclado o los
botones destinados a tal efecto. Pulsando 5
en el teclado numrico, cambiaremos entre
proyeccin ortogrfica y perspectiva. Con 0
tendremos la vista de la cmara. 1, 3, 7 nos
darn las vistas de la escena superior, fren-
te, y perfil respectivamente.

Vamos a definir distintas vistas en las ven-
tanas 3D para tener un buen control de las
posiciones 3D. Configuraremos las vistas
como se muestra en la Figura 3.
E
Practica 1
Introduccin a Blender (I)
Figura 1
Figura 2

Animacin para la Comunicacin


Prctica 1 [ Pgina 2 de 2 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
Con el plano por defecto seleccionado, pul-
saremos SUPRIMIR y lo quitaremos de la
escena. Aadiremos un cubo. Para ello, pin-
charemos en el botn de la Caja de Herra-
mientas o a la barra espaciadora: ADD
+ Mesh + Cube. Cuando insertamos un
objeto en la escena, lo har en modo de
edicin de vrtices. Para volver al modo de
edicin de objeto, pulsaremos TAB.

Algunas operaciones que podemos realizar
con el objeto es rotarlo; con l seleccionado
pulsamos R y desplazamos el ratn. Si pul-
samos ahora X, Y o Z, delimitaremos la ro-
tacin a ese eje. Si rotamos con la tecla
MAYSCULAS pulsada, lo haremos en mo-
do de precisin. Si tenemos la tecla CON-
TROL pulsada, lo haremos de 5 en 5 unida-
des.

Otra operacin bsica es el desplazamiento
(tecla G del ingls "Grabber). Si desplaza-
mos con la tecla CONTROL pulsada, lo
haremos ajustndonos a la
rejilla. Al igual que con la
rotacin, la tecla de MA-
YSCULAS se corresponde
con el modo de precisin.

El escalado se realiza con la
tecla S. Para restringir el
escalado en alguna dimen-
sin, pulsaremos S, des-
pus ALT (dejndolo pul-
sado) y haremos BIR. Se-
gn arrastremos el ratn la
caja se achatar en una
dimensin o en otra.

El Render se realiza a travs del botn de
visualizacin (F10)

y pinchando en el
botn de RENDER o bien con el atajo de
teclado F12. Por qu no sale nada?. No
hemos iluminado la escena. Ocultaremos la
ventana de render pulsando F11. Aadire-
mos una luz de tipo Hemi en la posicin que
muestra la Figura 4. Para ello, situaremos el
cursor 3D en la posicin adecuada ayudn-
donos de las vistas Superior, Frontal y de
Perfil. El cursor 3D se desplaza haciendo
click (sin arrastrar) en cualquier punto de la
ventana 3D con BIR.

Aadiremos la luz accediendo a la Caja de
Herramientas: ADD + Lamp. Cambiaremos
el tipo de lmpara con el botn (o pul-
sando F4). Seleccionaremos el tipo de foco
Hemi:

Realizaremos un render y comprobaremos
que el resultado es similar al mostrado en la
Figura 5. Podemos salvar el render, pulsan-
do F3. El formato de la imagen que salva-
remos se selecciona en el apartado del bo-
tn de visualizacin (F10).

Elegiremos, por ejemplo, JPG conservando la
calidad de la imagen en un valor alto (rango
80-100).
Figura 3
Figura 4
Figura 5

Animacin para la Comunicacin
Prctica 2 [ Pgina 1 de 4 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

omo cont inuacin de la sesin ant erior,
aprenderemos a crear en Blender obj e-
t os ms complej os part iendo de un bocet o
2D. Veremos cmo ut ilizar el comando de
ext rusin y a t rabaj ar con curvas. Para t er-
minar, realizaremos una composicin por
capas ut ilizando GI MP.

Arrancamos Blender y eliminamos el plano
por defect o. Pulsamos Shi f t + F7. La pant alla
que nos aparece nos permit e cambiar la
imagen de fondo, variar la dist ancia ent re
element os de la rej illa, y los valores de re-
cort e en la vist a de perspect iva. Pinchamos
en el bot n Back gr ound Pi c, luego en Load
y cargamos la imagen logouclm. j pg. Hecho
est o, para volver a la vent ana 3D con la
imagen de fondo, pulsamos Shi f t + F5 o
cambiamos el t ipo de vent ana a . Debe-
mos obt ener una vist a la figura 1.
Vamos a t razar el cont orno del logot ipo por
medio de una curva. Para ello, aadiremos
una a la escena. Pulsamos Bar r a Espaci a-
dor a, Add + Cur v e + Bezi er
Cur v e. Con la curva aadida, y
sin salir del modo de edicin ( sin
pulsar TAB) , vamos a los bot o-
nes de edicin ( F9) y convert i-
mos la curva a polgono. Est o
nos permit ir t rabaj ar de forma
ms cmoda. Cuando hayamos
aj ust ado los punt os de cont rol al logot ipo,
convert iremos de nuevo a cuva de Bezier,
aj ust ando la t ensin en los t ramos que lo
requieran.

Por defect o, t enemos t odos los vrt ices se-
leccionados ( t odos en color amarillo) . Pul-
samos la t ecla A y deseleccionamos t odos
( aparecen en rosa) . Ahora desplazaremos
los vrt ices al cont orno ext erior del logot ipo
( seleccionamos cada vrt ice de
forma individual con BDR, y des-
plazamos pinchando una vez la
t ecla G) . La curva original est
formada por 6 vrt ices. Los sit ua-
remos en las posiciones 1 . . 6 t al
y como muest ra la figura 3. Po-
demos realizar zoom en la vist a
3D ( Cont r ol + Al t + BI R) para
t ener una mayor precisin a la
hora de sit uar los vrt ices.

Para aadir vrt ices: mant eniendo
pulsado Cont r ol , haremos BI R.
De est a forma, aadiremos los
vrt ices 7 y 8. Para cerrar la figu-
ra ( es decir, aadir la arist a que
une 8 con 1) , pulsaremos la t ecla C. Podra-
mos pensar que hacen falt a ms vrt ices,
por ej emplo, ent re 6 y 7. Sin embargo, no
es necesario aj ust ar mej or la su-
perficie en las secciones curvas, ya
que lo haremos por medio de la
t ensin en la curva t ipo Bezier.

Seleccionamos t odos los vrt ices ,
pulsando la t ecla A ( deben quedar
t odos en color amarillo) . Volvemos
a los bot ones de edicin y convert imos la
curva a t ipo Bezier. Deben aparecer unos
segment os de color verde. Est os son los
segment o de t angent e, que especifican el
grado de t ensin en la pendient e de cada
seccin de curva. Deseleccionamos t odos los
vrt ices y elegimos uno de los que requieren
curvat ura ( por ej emplo el 6) . Una vez selec-
cionado, pulsamos la t ecla H. Est o nos ali-
near los manej adores de t ensin de la cur-
C
Pr c t i c a 2
Introduccin a Blender (II) + GIMP
Fi gur a 1
Fi gur a 2
Fi gur a 3

Animacin para la Comunicacin
Prctica 2 [ Pgina 2 de 4 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
va, permit iendo aj ust ar la curvat ura en cada
seccin de la misma.

Aj ust aremos los punt os de t angent e hast a
obt ener la geomet ra que se aj ust e bien a la
imagen de fondo. Cuando hayamos t ermina-
do, volveremos al modo de edicin de obj en-
t o ( pulsando TAB) , y pulsaremos la t ecla Z
para obt ener la represent acin sombreada,
t al y como muest ra la figura 4. Volvemos a
la represent acin con lneas pulsando de
nuevo la t ecla Z.

Aadiremos ot ras curvas de Bezier a la es-
cena y procederemos de forma similar, con-
virt iendo a polgono, aj ust ando punt os y
volviendo a convert ir a Bezier para modelar
las ot ras t res secciones que definen el logo-
t ipo. Cuando hayamos t erminado, podemos
quit ar la imagen de fondo pulsando de nue-
vo Shi f t + F7 y pinchando en Background
Pic.

Pasaremos a ext rusionar las curvas para
obt ener el modelo 3D. Rot aremos la vist a
para t ener un ngulo mej or a
la hora de ver la operacin
realizada. Elegimos en modo
de seleccin de obj et o una de
las curvas ( por ej emplo, la
int erior) . Cambiamos los valo-
res de ext rusin y redondeado
t al y como se muest ra en la
figura 5. Podemos cambiar los
valores en los bot ones de in-
sercin, pinchando y arras-
t rando sobre ellos, o bien man-
t iendo pulsada la t ecla Shi f t y
haciendo BI R sobre ellos. Re-
pet iremos la operacin para las
ot ras secciones del logot ipo.

Vamos a aplicarle un mat erial
sencillo al modelo. Seleccio-
namos una de las part es y pin-
chamos en el bot n de mat e-
riales, t al como muest ra la
figura 6 ( o bien pulsamos F5) .
Como no hay ningn mat erial
en la escena, t endremos que
aadir uno nuevo, que luego
aplicaremos a t odos los ele-
ment os que forman en logot ipo. Se pueden
crear t ant os mat eriales como sean necesa-
rios, pero en est e ej emplo aplicaremos el
mismo a t odos los element os. Para crear un
nuevo mat erial, pincharemos en el bot n
que t iene un guin dibuj ado ( ver figura 6) , y
despus en ADD NEW. De t odas las propie-
dades que pueden t ener los mat eriales, ni-
cament e vamos a definir el
color. Aj ust aremos los valores
del color t al y como se indica
en la figura 7. En prximas
sesiones de prct icas, vere-
mos con ms profundidad las
opciones de mat eriales y t ex-
t uras en Blender.

Daremos un nombre al mat e-
rial que hemos creado; al lado
del bot n que hemos pincha-
do para aadir el mat erial,
t endremos una caj a de t ext o.
Mant eniendo pulsado Shi f t ,
pinchamos con BI R y t eclea-
mos un nombre para el mat e-
rial , por ej emplo, UCLMRo-
j o.

Aplicaremos el mat erial que
hemos creado al rest o de pie-
zas del logot ipo. Para ello,
seleccionaremos cada una de
las part es del logot ipo y, pul-
sando en el bot on que ut ili-
zamos para aadir un nuevo
mat erial, est a vez seleccionaremos el que
acabamos de crear.
Fi gur a 4
Fi gur a 5
Fi gur a 6
Fi gur a 7

Animacin para la Comunicacin
Prctica 2 [ Pgina 3 de 4 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
Vamos a renderizar la escena. Sit uaremos la
cmara para obt ener una vist a como la que
se muest ra en la figura 8. Aadiremos un
foco de iluminacin de t ipo Spot . Para ello,
insert amos un obj et o de t ipo Lamp a la es-
cena y lo cambiamos a t ipo Spot . Orient a-
mos el foco para que apunt e al logo 3D, ro-
t ndolo con ayuda de las vist as superior,
front al y lat eral. La sit uacin del foco deber
ser similar a la most rada en la figura 8. Pro-
bamos a renderizar la escena. Si el obj et o
sale muy oscuro, podemos aj ust ar la int en-
sidad del foco en los bot ones de foco ( F4) ,
en el campo Ener gy a un valor superior.
Aj ust aremos las opciones de renderizado
como se indica en la figura 9.
Act ivamos el bot n de Shadow s para que el
mot or de renderizado calcule las sombras de
la escena. OSA ( Ov er SAmpl i ng) con valor
16 hace que el ant ialiasing se aplique con la
mayor int ensidad. Seleccionamos uno de los
t amaos predefinidos pinchando en PC
( 640x480) . Con 100% indicamos que el
renderizado se haga al t amao t ot al elegido.
Cuando hacemos pruebas es int eresant e
poner est e valor al 50% o al 25% para
que la generacin de la imagen lleve
menos t iempo. Con RGBA, indicamos
que la imagen result ado debe t ener
canal Alpha de t ransparencia. As,
t endremos que seleccionar un format o
que soport e canal Alpha ( como Tar -
ga; * . TGA) . El canal Alpha codifica, en
t onos de grises, qu part e de la ima-
gen es de obj et o y qu part e es el
fondo. Un valor de negro indica que es
fondo, mient ras que blanco indica ob-
j et o slido. Los t onos de gris indican
obj et os semit ransparent es. El result a-
do de renderizar la escena debe ser
similar al most rado en la figura 10. En
la esquina superior derecha de la figu-
ra 10 se ha incluido el canal Alpha de
la imagen result ado.

Guardamos la imagen como soli-
do. t ga. Salvamos t ambin el fichero
de blender y cambiamos el mat erial.
Nos vamos al men de mat eriales y asegu-
rndonos que est amos t rabaj ando con
MA: UCLMRoj o, cambiamos el color del ma-
t erial en las t res component es ( R, G, B) a
0. 200. Adems, act ivamos el bot n de Wi r e
( sit uado en el cent ro) .
Como t odas las secciones del logo compar-
t en el mismo mat erial, al renderizar de nue-
vo la escena comprobamos que el logo ent e-
ro ha cambiado. Debemos obt ener un resul-
t ado similar al de la figura 11. Sin haber
cambiado ninguna opcin de renderizado,
guardamos la imagen result ant e como alam-
bre. t ga.

Salvamos el proyect o de blender y abrimos
GI MP, el programa de composicin y ret oque
Fi gur a 8
Fi gur a 9
Fi gur a 10

Animacin para la Comunicacin
Prctica 2 [ Pgina 4 de 4 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
fot ogrfico GNU. Cargamos las imgenes
solido. t ga y alambre. t ga. Comprobamos que
el fondo de la imagen no es negro; est
formado por cuadrit os . Est o indica que
GI MP ha import ado las imgenes con el ca-
nal de t ransparencia correct ament e.

Recordemos que las capas act an como
acet at os . El orden de las capas import a ( al
igual que si colocamos una t ransparencia
delant e de ot ra) . Renombraremos la capa de
la imagen slida. Para ello, nos sit uamos
sobre la capa y haciendo BDR + Edi t ar
at r i but os de capa, le pondremos como
nombre solido . Aadiremos una capa nue-
va, que est rellena de color blanco. Para
ello, pincharemos en el bot n , y le
pondremos como nombre Fondo. La capa se
ha sit uado delant e del logo. Pincharemos en
la flecha abaj o , como indica la figura 12,
para ordenar las capas.

Seleccionamos la vent ana donde se ha
abiert o el fichero alambre. t ga. Hacemos
BDR sobre la imagen y se-
leccionamos edi t ar , copi ar
( o bien pulsamos Cont r ol +
C) . Despus, nos vamos a la
imagen solido, y pegaremos
el logo de alambre como una
nueva capa. Para ello, BDR
+ edi t ar + pegar ( o Con-
t r ol + V) . Vemos que apare-
ce en la vent ana de capas
como una seleccin flot ant e.
Para generar una capa nueva
con la imagen, pincharemos
de nuevo en el bot n de
nueva capa . Renom-
bramos la capa como alam-
bre .

Sit uamos la capa alambre
ent re la capa solido y la capa
fondo. En la vent ana de Se-
l ecci n de br ocha, selec-
cionamos la que se muest ra
en la figura 13 y pinchamos
en Nuevo. Con est o, hare-
mos una brocha personaliza-
da part iendo de la que
hemos seleccionado. Aj ust amos los parme-
t ros a: r adi o = 44. 8, dur eza = 0. 2 aprox. .
ngulo y razn de aspect o los dej amos como
est n. Damos el nombre que queramos a la
brocha. Seleccionamos la brocha, la herra-
mient a de borrado , y nos vamos a la ca-
pa solido. Aj ust amos la opacidad de la goma
( en la vent ana de opci ones de her r ami en-
t a) a 25 aprox. Hecho est o, borramos una
part e de la capa slido ( la derecha, por
ej emplo) . Hacemos ot ra pasada consiguien-
do un efect o de degradado, como se
muest ra en el result ado final ( figura
14) .

Para t erminar, aadimos un efect o
de sombra a la capa alambre. Selec-
cionamos la capa, nos vamos a la
imagen y hacemos BDR + Scr i pt -
Fu + Sombr a + Sombr a Ar r oj a-
da. Podemos dej ar los parmet ros
t al y como est n y acept amos. Ve-
mos que, debaj o de la capa alambre
se ha creado una capa llamada
Drop- Shadow. Si no nos gust a el
result ado, eliminamos la capa ( pin-
chando en el bot n del cubo de basu-
ra) , y probamos a cambiar los parme-
t ros del script . Para t erminar, pincha-
mos con BDR sobre la imagen, y guar-
damos el fichero con format o XCF ( el
format o nat ivo de GI MP) , que permit e
almacenar el fichero t al y como est a-
mos t rabaj ando
( capas, canales,
et c. . . ) .
Si queremos
ut ilizar la
imagen desde
ot ras
aplicaciones,
t endramos
que salvarlo en
un format o como
JPG. En est e caso
GI MP nos adviert e
que perderemos la
informacin acerca de
las capas, canales, et c. . . .
Fi gur a 14
Fi gur a 11
Fi gur a 12
Fi gur a 13

Animacin para la Comunicacin
Prctica 3 [ Pgina 1 de 3 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

l obj et ivo de est a sesin es aprender a
ut ilizar dos herramient as de modelado
que dest acan por su facilidad de uso y po-
t encia: Wings 3D y Teddy. No debemos cen-
t rarnos en obt ener un result ado exact ament e
igual al most rado en las imgenes, sino en
descubrir las posibilidades que nos brindan
ambas aplicaciones. En la siguient e sesin
veremos en profundidad las opciones de mo-
delado de Blender.

Comenzaremos modelando un coche con
Wings 3D. En est a herramient a, part imos de
una forma bsica ( primit iva 3D) y aplicando
una serie de operaciones a nivel de vrt ice,
arist a, cara o al obj et o global, iremos modifi-
cndola hast a obt ener el modelo final. Ant es
de empezar a t rabaj ar, personalizaremos el
modo de desplazar la cmara por la escena
como Blender ( Al t + BI R para rot ar, Con-
t r ol + Al t + BI R para hacer Zoom. . . ) . En el
menu superior; Edi t / Camer a Mode/ Ca-
mer a Mode [ Bl ender ] .

Aadimos un cubo a la escena con BDR/
Cube. En la part e superior de la pant alla
aparece una barra de herramient as. Las dos
pirmides de la izquierda nos permit en se-
leccionar la forma en que se most rar el ob-
j et o ( caras o sombreado suave) . La part e
cent ral nos permit e seleccionar en qu nivel
queremos t rabaj ar ( vrt ice, arist a, cara u
obj et o) . Cuando un element o est seleccio-
nado ( vrt ice, arist a, cara u obj et o) , aparece
en color roj o. Podemos seleccionar de forma
increment al element os de la escena. En
cualquier modo de seleccin que nos encon-
t remos, podemos ut ilizar las t eclas + y -
para ext ender o cont raer la seleccin realiza-
da a los element os vecinos [ realizar la prue-
ba seleccionando un vrt ice del cubo y pulsar
+ dos veces y luego - ] . Podemos deseleccio-
nar t odos los element os pulsando la bar r a
espaci ador a. Wings 3D implement a mlt i-
ples niveles de undo/ redo , que podemos
recuperar con Cont r ol + Al t + Z y Conr ol +
Shi f t + Z. Con BDR obt enemos el conj unt o
de operaciones que podemos aplicar a los
element os seleccionados. Por ej emplo, par-
t iendo del cubo que hemos insert ado y selec-
cionando las dos arist as vert icales de la cara
front al, haremos BDR/ Connect . Con est o,
obt enemos una nueva arist a que conect a las
dos ant eriores, t al y como se muest ra en la
figura 1.

Moveremos la arist a recin creada ligera-
ment e hacia abaj o ( en el ej e y) , haciendo
BDR/ Mov e/ Y. En la cara post erior del cubo,
aadiremos ot ra arist as y la moveremos lige-
rament e arriba. Seleccionando las caras infe-
riores, ext rusionaremos en la direccin del
vect or normal de cada cara: BDR/ Ex t r u-
de/ Nor mal . Aj ust aremos las arist as de las
caras ext rusionadas ( desplazamient os en el
ej e Z) , hast a obt ener algo similar a la Fig 2.
E
Pr c t i c a 3
Modelado con Wings 3D y Teddy
Fi gur a 1
Fi gur a 2
Fi gur a 3

Animacin para la Comunicacin
Prctica 3 [ Pgina 2 de 3 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

Seleccionaremos las dos arist as longit udina-
les que forman el cap del coche, y las co-
nect aremos ( obt eniendo una arist a cent ral) .
Est a nueva arist a, la levant aremos ligera-
ment e para comenzar a darle forma. Selec-
cionaremos las t res arist as, y aplicaremos
BDR/ Cut / 3. Con est o, obt enemos dos nue-
vos vrt ices por arist a ( las hemos cort ado en
3 t rozos) . Ut ilizaremos ahora ( t rabaj ando a
nivel de vrt ice) la orden de BDR/ Connect .
Con est o, obt enemos cuat ro nuevas arist as
que unen los seis vrt ices creados con la
orden ant erior. Procederemos de forma simi-
lar para modelar el hueco de los faros y el
parachoques. Desplazando las arist as obt e-
nidas, deberemos obt ener un result ado simi-
lar a la figura 3.
Seleccionaremos las caras que forman la
luna delant era y los faros. Aplicaremos
BDR/ I nset y a cont inuacin BDR/ Ex t r u-
de/ Nor mal ( hacia el int erior) . Realizaremos
el t ringulo de la zona cent ral del cap
del cap seleccionando el vrt ice
BDR/ Bev el . El result ado de est as operacio-
nes es el most rado en la figura 4. Cont inua-
remos dividiendo las caras lat erales del co-
che, aj ust ando las arist as y vrt ices result an-
t es t al y como se muest ra en las figuras 5 y
6. En est e caso, adems, se ha aj ust ado la
alt ura del t echo.

Result a muy t il la herramient a Tweak ( Me-
n/ Tool s/ Tw eak ) . Nos permit e desplazar
los vrt ices del obj et o librement e ( cambian-
do el punt o de vist a y pinchando- arrast rando
con BI R) . Saldremos de est e modo de edi-
cin cuando hagamos BDR. Podemos ut ilizar
el modo magnet ( pulsando 1) , en el que
desplazaremos grupos de vrt ices segn el
radio de magnet izacin ( se puede variar pul-
sando + y ) . Debe quedarnos claro que el
desplazamient o en est e modo es dependien-
t e del punt o de vist a de la escena. Por t ant o,
para obt ener el result ado esperado, t endre-
mos que realizar mult it ud de rot aciones de
cmara. La figura 7 muest ra una capt ura de
edicin en est e modo.
Para modelar las ruedas, primero aadire-
mos un cilindro a la escena, escalndolo res-
pect o del ej e Y. Seleccionaremos las caras
superior e inferior, y despus BDR + I nt r u-
de. Con est o, obt endremos una especie de
canut o ( ver figura 8) . I nsert amos ot ro ci-
Fi gur a 4
Fi gur a 5
Fi gur a 6
Fi gur a 7

Animacin para la Comunicacin
Prctica 3 [ Pgina 3 de 3 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
lindro, que escalamos para que quede en el
int erior del ant erior, pero con la misma alt u-
ra. Seleccionamos alt ernat ivament e las caras
lat erales y aplicamos ext rusin ( sin salirnos
del cilindro ext erior. Para t erminar, seleccio-
namos las caras superior e inferior del cilin-
dro int erior, y las desplazamos en direccin a
la normal, hacia el cent ro. El result ado final
de la rueda es el most rado en la figura 8.

Seleccionaremos las dos part es que forman
la rueda y BDR + Combi ne. De ahora en
adelant e, Wings 3D t omar la rueda como un
nico obj et o. Hacemos 3 copias ms de la
rueda ( BDR + dupl i cat e) y la sit uamos en
el modelo del coche. El modelo del coche
finalizado es el que se mues-
t ra en la figura 9. Podemos
export ar el modelo para car-
garlo desde Blender, en for-
mat o WRML 2. 0. En Blender
( versin 2. 2. 5; la 2. 2. 6 t iene
un bug que no import a correc-
t ament e est os ficheros) , abri-
mos el obj et o, lo seleccionamos y pulsamos
Cont r ol + N ( para que recalcule las norma-
les de las caras) . Despus, en modo de edi-
cin de vrt ices ( pulsar TAB) , vamos a los
bot ones de edicin ( F9) y act ivamos los bo-
t ones de dr aw nor mal s y dr aw f aces ,
para comprobar que el clculo de las mismas
ha sido correct o. Podemos act ivar la vist a en
sombreado ( pulsando Z) para comprobar que
el modelo se ha import ado correct ament e.

Abrimos Teddy. Despus de leernos el mini-
t ut orial que acompaa la dist ribucin, hare-
mos un personaj e que import aremos en
Wings 3D, para salvarlo como VRML 2. 0 ( que
cargaremos en Blender) . Podemos obt ener
un dinosaurio como el que se muest ra en la
figura 10. Aplicaremos mat eriales simples a
los obj et os y, aadiendo un plano como sue-
lo de la escena, renderizaremos la escena en
Blender obt eniendo un result ado similar al
que se muest ra en la figura 11.

Podemos mej orar el aspect o final del dino-
saurio asignando un sombreado suavizado ( y
no plano) , pinchando en el bot n set
smoot h del apart ado de edicin ( F9) . Est as
opciones y muchas ms las veremos en
det alle en la siguient e sesin de prct icas.
Fi gur a 8
Fi gur a 9
Fi gur a 10
Fi gur a 11

Animacin para la Comunicacin
Prctica 4 [ Pgina 1 de 4 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

delant amos la sesin de t ext urizado
mediant e UV- Mapping en Blender para
poder crear personaj es complet os cuant o
ant es y ut ilizarlos en nuest ros proyect os de
animacin. En est a sesin aprenderemos a
pint ar la piel de nuest ro modelo ut ilizando
est a t cnica, vist a en t eora que permit e un
posicionamient o muy preciso. El obj et ivo es
t ext urizar un modelo complej o creado con
cualquier t cnica de modelado.

Part imos del modelo creado en Teddy mos-
t rado en la figura 1. Slo nos hemos ocupa-
do de const ruir la mit ad del personaj e. La
ot ra mit ad la conseguiremos por espej o del
est e modelo en Wings 3D. Podis encont rar
el modelo en el fichero dino. obj , no obst ant e
es aconsej able que int ent is const ruir vues-
t ro propio personaj e similar al most rado en
la figura 1.
I mport amos el modelo en Wings. Act ivamos
la vist a de los ej es y el modo ort ogonal
en la part e superior derecha de la vent a-
na. El modo ort ogonal nos elimina el efect o
de perspect iva. Est o nos permit e seleccionar
de forma ms precisa conj unt os de caras y
t rabaj ar sin dist orsiones en la vist a 3D.

Pulsando las t eclas x , y , z veremos el mode-
lo desde est os ej es. Rot aremos y desplaza-
remos el modelo para que se quede perfec-
t ament e cen-
t rado respect o
del plano YZ,
t al y como se
muest ra en las
figuras 2 y 3.
Es import ant e
sit uar correc-
t ament e el mo-
delo en la ope-
racin ant erior
porque nos
facilit ar la si-
guient e selec-
cin de caras.

Con la vist a
desde el ej e Z,
y el modo de seleccin a nivel de cara, se-
leccionaremos la mit ad izquierda del modelo
pinchando y arrast rando desde la posicin A
de la figura 4, a la posicin B. Obt endremos
una seleccin de caras bast ant e precisa,
pero habr que rot ar la cmara y aj ust ar la
seleccin manualment e, sobre
t odo en la zona de las escamas
de la espalda y en la cola. Eli-
minaremos las caras sobrant es
y borraremos ( t ecla Supr i mi r )
la seleccin. El modelo debe
quedarnos como muest ra la
figura 5. Para evit arnos efect os
indeseables con la herramient a
de espej o, aplanaremos primero
la cara result ant e ( an seleccio-
nada en color roj o) mediant e
BDR + Fl at t en + Nor mal ( ali-
sar la cara respect o de su vec-
A
Pr c t i c a 4
UV-Mapping con Blender
Fi gur a 1
Fi gur a 2
Fi gur a 3
Fi gur a 4

Animacin para la Comunicacin
Prctica 4 [ Pgina 2 de 4 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
t or normal) . Hecho est o, ut iliza-
mos la herramient a de espej o
con BDR + Mi r r or para obt ener
el modelo del dinosaurio simt ri-
co. Export amos el modelo como
VRML y lo import amos en blen-
der siguiendo los pasos explica-
dos en la prct ica ant erior.

Configuramos Blender para ob-
t ener una divisin de vent anas
como se muest ra en la figura 6.
La vent ana de la derecha la
cambiamos a t ipo I mageWindow
( Shi f t + F10, o seleccionando el
icono ) . Ant es de cont inuar,
veamos algunas opciones del
ent orno que nos van a ser t iles en est a
prct ica. En la cabecera de la vent ana 3D,
dist inguimos los iconos que se muest ran en
la figura 7. Con el icono ( a) podemos selec-
cionar el modo de visualizacin, en perspec-
t iva o vist a ort ogrfica. La vist a ort ogrfica
no agranda los obj et os cuant o ms cerca
est n de la c-
mara. Podre-
mos t ambin
cambiar ent re est os t ipos de
vist as pulsando el 5 del t eclado
numrico. El icono ( b) nos per-
mit e seleccionar la vist a front al,
lat eral, et c. . . Tiene el mismo
efect o que las t eclas 1, 3, 7 que
hemos ut ilizado en prct icas an-
t eriores. El icono ( c) nos permi-
t e seleccionar el modo de som-
breado del obj et o mient ras t ra-
baj amos con l. Nos int eresar
el primer modo empezando por
arriba ( det allado, que nos mues-
t ra la t ext ura aplicada al mode-
lo) , y el segundo empezando por abaj o ( la
represent acin de alambre que hemos ut ili-
zado en prct icas ant eriores) . Los iconos ( d)
y ( e) que ya hemos ut ilizado, nos permit en
hacer zoom y desplazar la v i st a. El icono
( f ) nos permit e pasar a modo de edicin de
vrt ices ( equivalent e a la t ecla Tab) . Con
( g) pasamos al modo de pint ado de vrt ices
y ( f ) nos permit e pint ar la t ext ura direct a-
ment e sobre el modelo. El icono ( i ) , equiva-
lent e a pulsar la t ecla f , nos permit e pasar al
modo de seleccin de caras. Por lt imo, ( j )
sirve para renderizar la vist a act ual. Con F3
podremos salvarla en el format o que haya-
mos seleccionado en el men de visualiza-
cin ( F10) .

Pasamos al modo de seleccin de caras ( pul-
sando la t ecla f ) . Vemos que el modelo se
ha puest o de color blanco, y el icono ( i ) de
la figura 7 aparece seleccionado. Selecciona-
remos las caras que forman el cuerpo del
dinosaurio, dej ando las ext remidades para
ms adelant e. Para realizar la seleccin de
una forma ms sencilla, y sin salir del modo
de seleccin de caras, pulsaremos Tab. To-
dos los vrt ices aparecern seleccionados
( en color amarillo) , y de igual forma las ca-
ras asociadas.

Pulsando dos veces la t ecla B, act ivaremos
el modo de seleccin de vrt ices mediant e
un pincel . El cursor aparecer delimit ado
por una circunferencia. Podremos aadir
caras a la seleccin pinchando y arrast rando
BI R. Para quit ar caras a la seleccin, pin-
char y arrast rar con BI R + ALT pulsado.
Podemos aument ar el radio del pincel con la
Fi gur a 5
Fi gur a 6
Fi gur a 7
Fi gur a 8

Animacin para la Comunicacin
Prctica 4 [ Pgina 3 de 4 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
t ecla + , y disminuirlo con la t ecla - . Aban-
donaremos el modo de seleccin con est a
t cnica haciendo un BDR. Teniendo en
cuent a que la seleccin de caras at raviesa
el modelo, seleccionaremos las vist as que
nos hagan falt a para dej ar inact ivas las ca-
ras de las ext remidades del dinosaurio. Po-
demos volver al modo de edicin de caras,
pulsando Tab. El result ado de la seleccin,
debe ser el most rado en la figura 8. Las ex-
t remidades se quedan t ot alment e blancas
porque no hay seleccin de caras. No pasa
nada si no hemos seleccio-
nado perfect ament e el recor-
t e de las ext remidades, ya
que las podremos seleccio-
nar cuando pint emos las
ext remidades.

Rot amos el modelo en la
vist a 3D hast a obt ener una
posicin t ot alment e lat eral,
de forma que coincidan las
arist as de forma simt rica
( t al y como muest ra la figura
8) . Para ello, t endremos que
act ivar la vist a ort ogonal.
Hecho est o, renderizamos la
vist a y salvamos con el nombre de lat e-
ral. j pg. Cargamos el fichero en GI MP y
creamos una nueva capa. Pint aremos sobre
est a capa, con un color verde la piel del di-
nosaurio. Nos saldremos a propsit o fuera
del rea a colorear, ya que est o nos facilit a-
r el sit uar la t ext ura ms adelant e. Crea-
remos una nueva capa donde dibuj aremos
de color amarillo los huesos que salen de la
espalda. Aadiremos det alles ms
oscuros j ugando con la t ranspa-
rencia del pincel. Puede result ar
t il variar la t ransparencia de la
capa para t ener una visin gene-
ral de la zona del dinosaurio sobre
la que est amos pint ando. Cuando
hayamos obt enido algo similar a
la figura 9, salvaremos el fichero
como lat eral_pint ado. j pg.

Cargamos est e fichero en la ven-
t ana de imgenes de Blender.
Pinchamos en el bot n Load. La imagen apa-
recer como fondo de la vent ana. Podemos
maximizar est a vist a ( y volver a su est ado
original) mediant e el icono , o pulsando
Cont r ol + Fl echa Abaj o. En la vent ana 3D,
con las caras del cuerpo seleccionadas, y la
vist a que se indic en la figura 8, pulsamos
la t ecla U , y seleccionamos UV Cal cul a-
t i on / Fr om Wi ndow . Vemos que el con-
j unt o de caras se-
leccionadas se han
copiado en la
vent ana de la ima-
gen. Tendremos
que aj ust ar los vr-
t ices para que se
cuadren bien a la
t ext ura. Pero an-
t es, act ivaremos la
vist a det allada
( pinchando en el
icono ( c) , la prime-
ra que aparece
Fi gur a 9
Fi gur a 10
Fi gur a 11
Fi gur a 12

Animacin para la Comunicacin
Prctica 4 [ Pgina 4 de 4 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
empezando por arriba. El modelo muest ra
una represent acin con la t ext ura aplicada,
como se muest ra en la figura 10.

Maximizamos la vent ana
derecha, y aj ust amos los
vrt ices. Para ello, los
seleccionamos t odos
( t ecla A) . Podemos
escalar el modelo con S.
Recordemos que para limi-
t ar el escalado en alguna
direccin, pulsaremos Al t
cuando procedamos al
escalado. Tambin podemos
rot ar los vrt ices con R.
Cuando los vrt ices se
aj ust en perfect ament e a la
t ext ura, minimizaremos de
nuevo la vent ana de
imagen y deberamos
obt ener una represent acin
similar a la figura 11.

Procedemos de forma
similar con las ext re-
midades. Nos aseguraremos
de que, al seleccionar las caras, no nos
dej emos ninguna que no seleccionramos
en el paso ant erior. Sit uamos el modelo
front alment e y renderizamos la vist a.
Coloreamos en GI MP obt eniendo una t ext ura
similar a la figura 12. Aplicamos la t ext ura
front alment e.

Aadimos una esfera para crear un oj o.
Aj ust amos el t amao, la sit uamos y le
aplicamos un mat erial ( F5) . El
aj ust e de mat eriales en Blender
ser vist o en det alle en prximas
sesiones. De cualquier forma, y
para t erminar est e
modelo, daremos el
recet ario para
t ext urizar el oj o. A
est e mat erial le
asociaremos una
t ext ura ( F6 + Bot n
I mage) . Act ivamos las
opciones de Text uras y
Mat erial, t al y como se
muest ra en las figuras 13
y 14.

Para sit uar con ms
exact it ud el oj o con
la t ext ura aplicada,
act ivaremos la vist a
det allada y lo rot aremos
hast a conseguir la
posicin deseada.

Para t erminar, y muy import ant e, aadire-
mos un mat erial genrico al modelo del di-
nosaurio, act ivando el bot n de Tex Face.
Tambin act ivaremos el bot n de Vcol Pai nt
y Vcol Li ght . Si ent ramos en el modo de
pint ado de vrt ices, en el men Paint But -
t ons , podremos aadir sombras adicio-
nales al modelo ( como en los dedos del mo-
delo, y en las caras de unin ent re las ex-
t remidades y el cuerpo. . . ) . Para ello,
deberemos act ivar el icono ( g) y
el modo de sombreado det alla-
do. En el men de Paint
But t ons, podremos elegir el
color con el que pint aremos
los vrt ices del modelo.
En zonas donde
queremos que el
sombreado sea sua-
ve, es aconsej able
ut ilizar el pincel de
pint ado de vrt ices
con el bot n Soft pulsado.

Concluiremos la prct ica realizando un ren-
der sencillo del modelo. Podis encont rar un
ent orno donde probar el modelo en el fiche-
ro escenariorender. blend . En est e escena-
rio est definido un plano ( que servir de
suelo) y un par de focos con una configura-
cin bsica para realizar las pruebas.
Fi gur a 13
Fi gur a 14

Animacin para la Comunicacin
Prctica 5 [ Pgina 1 de 2 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

omenzamos la part e de animacin en
prct icas viendo la forma de t rabaj ar
con curvas I PO en Blender. De ahora en
adelant e alt ernaremos sesiones de anima-
cin ( huesos, rest ricciones, et c. . . ) con nue-
vas t cnicas de modelado y t ext urizado.

Vamos a comenzar realizando una animacin
muy sencilla, manipulando direct ament e las
curvas de animacin. Cargamos en Blender
el fichero dino_prac5. blend . Seleccionamos
el modelo del dinosaurio y vamos a int ent ar
rot arlo respect o del ej e Z. Como se puede
apreciar, hay un problema con los oj os y los
prpados, que no siguen el
movimient o del cuerpo. Hay
que indicar a Blender la j erar-
qua exist ent e ent re est os ob-
j et os; el cuerpo del dinosaurio
ser el obj et o padre de los
oj os y los prpados. Para indi-
car est o, seleccionamos prime-
ro un element o hij o ( por ej em-
plo, un prpado) , y con Shi f t
pulsado, seleccionamos des-
pus el cuerpo. Hecho est o,
hacemos Cont r ol + P / Mak e
Par ent . Aparece una lnea
punt eada indicando la j erar-
qua, t al y como se ve en la
figura 1. Procedemos de igual
forma con el ot ro prpado y las
esferas de los oj os.

Ahora, si rot amos el
cuerpo del dinosaurio,
se rot arn con l los
oj os y los prpados,
pero no al cont rario
( los padres no heredan
posicin de los hij os) .
Vamos a realizar la
animacin que se pue-
de ver en el fichero
anim_dino. mpg . Ro-
t aremos el dinosaurio
respect o del ej e Y
360 , int ent ando que el
vdeo pueda repet irse indefinidament e ( sin
cambios de velocidad al empezar y al finali-
zar la animacin) .

Las curvas de movimient o en
Blender nos permit en represent ar
la posicin, rot acin y t amao de
cada component e ( X, Y, Z) de un
obj et o a lo largo del t iempo. Re-
cordemos que, en animacin, el
t iempo lo medimos en frames por
segundo. El nmero de frame
act ual en Blender se represent a
con un bot n, en la part e derecha
de la cabecera principal, como se
muest ra en la figura 2. Podemos
avanzar el nmero de frame de 1
en 1 con las flechas I zqui er da y
Der echa de los cursores y con
las flechas Ar r i ba y Abaj o, de 10
en 10 frames.


Nos sit uamos en el primer frame de la ani-
macin. Cambiamos una vent ana al t ipo
Edit or de curvas I PO . Aparece una ima-
gen como la most rada en la figura 3. En el
ej e de abcisas se represent an los frames, y
en el de ordenadas los valores que pueden
t omar los obj et os respect o de las magnit u-
des indicadas en la columna de la derecha
( Localizacin, Rot aciones. . . ) . La lnea verde
vert ical ( que podemos arrast rar para ver la
evolucin de nuest ra animacin) , represent a
el frame act ual. De moment o no vamos a
coment ar t odas las opciones de est a herra-
mient a, ya que volveremos sobre ella en
prximas sesiones. Con el cuerpo del dino-
saurio seleccionado, definiremos el f r ame 1
como clave ( pulsando la t ecla i ) . Aparece un
men pregunt ndonos qu t ipo de informa-
cin vamos a manej ar en nuest ro frame cla-
vel. I ndicaremos que slo vamos a variar la
rot acin ( Rot ) .

C
Pr c t i c a 5
Animacin Bsica con Blender
Fi gur a 1
Fi gur a 2
Fi gur a 3 Fi gur a 4

Animacin para la Comunicacin
Prctica 5 [ Pgina 2 de 2 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

Como queremos que la anima-
cin dure 3 segundos ( a 25
fps) , definiremos ot ro f r ame
cl av e en el 75. Al igual que
ant es, t ambin de t ipo Rot .
Obt endremos una imagen co-
mo se muest ra en la figura 4.
En est e t ipo de vent ana pode-
mos hacer zoom y desplazarla
de igual forma que en una ven-
t ana 3D. Si al hacer zoom o desplazar nos
perdemos , podemos dej ar que Blender
aj ust e la vist a pulsando la t ecla I ni ci o.

Seleccionamos la curva I PO llamada Rot Y,
pasamos al modo de edicin de obj et o ( t ecla
TAB) y aj ust amos los punt os de cont rol para
obt ener una curva similar a la most rada en
la figura 5. Nat uralment e, en el ej e Y t ene-
mos que llegar al valor 360 ( giro complet o
en el ej e Y) . Nos ayudaremos del Zoom para
sit uar el valor exact ament e en 360.

Podemos ver una previsualizacin de la ani-
macin, si nos sit uamos en el frame 1 y pul-
samos Al t + A en cualquier vist a 3D. Para-
mos la animacin con Escape.
Al principio y al final de la
animacin la rot acin es ms
lent a que en el medio. Como
queremos que la animacin se
pueda repet ir en un bucle sin
que se not en los cort es, aj us-
t aremos la pendient e de la
curva I PO en los punt os ex-
t remos, desplazando los pun-
t os de t angent e. Debemos
obt ener un result ado co-
mo el que se muest ra en
la figura 6.

Si previsualizamos la ani-
macin, comprobamos
que ahora el result ado es
el que esperamos. Vamos
a generar el vdeo AVI .
Disminuimos la resolucin
de salida a 320x 240.
Elegimos como format o de salida AVI
Jpeg. Aj ust amos el rango de frames
que queremos renderizar con los bot o-
nes St a: 1 y End: 75. El direct orio
donde se va a generar el vdeo por de-
fect o es / r ender ( indicado en el apar-
t ado Pi cs, arriba a la izquierda) . Hecho
est o, pinchamos en ANI M para iniciar el
proceso y esperamos un rat o .

En la segunda part e de la prct ica, t ambin
emplearemos curvas I PO, pero no generan-
do el movimient o direct ament e sobre ellas,
sino ut ilizndolas nicament e para dar los
aj ust es finales. Cargamos el fichero oret o
_prac5. blend . Moveremos la cmara por la
escena, insert ando frames clave
en los punt os donde haya que
realizar un cambio de direccin.
Blender se encargar de int er-
polar las posiciones int erme-
dias. El vdeo que debemos ob-
t ener como result ado
( anim_oret o. mpg) muest ra el
proceso final ( con post -
produccin, que veremos en
prct icas sucesivas) . Debemos
ocuparnos de obt ener un movimient o de
cmara similar. Nos cent raremos en colocar
la cmara en las posiciones clave ( respect o
de la localizacin y la rot acin) . Para facilit ar
que la cmara apunt e siempre al logot ipo,
aadiremos un obj et o de t ipo Empt y en el
cent ro del logot ipo ( Espaci o + Add + Emp-
t y ) . Seleccionamos la cmara primero y lue-
go con Shi f t pulsado, el Empt y recin crea-
do. Pulsamos Cont r ol + T ( Mak e Tr ack ) .
Corregimos el cambio de orient acin con Al t
+ R ( Cl ear Rot at i on) .

En la figura 7 t enemos las curvas I PO aso-
ciadas a la cmara. Podemos ver las posicio-
nes donde se han insert ado frames clave ( en
el 1, 25, 50, 61, 75, . . . , 165) . Al igual que
en la primera part e, obt enemos una previ-
sualizacin de la animacin con Al t + A. Si
los result ados son correct os, renderizamos
con los parmet ros vist os ant eriorment e.
Fi gur a 5
Fi gur a 6
Fi gur a 7

Animacin para la Comunicacin
Prctica 6 [ Pgina 1 de 2 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

n est a sesin aprenderemos los concep-
t os bsicos de animacin j errquica en
Blender, y realizaremos una composicin
sencilla de video.

Comenzaremos modelando el obj et o que se
muest ra en la figura 1. Todos los componen-
t es del modelo deben ser independient es
( aadiremos a la escena 5 cilindros, rot ando
y escalando hast a conseguir la configuracin
most rada) .

Renombraremos los obj et os que forman la
escena, con el fin de poder ident ificarlos ms
fcilment e, t al y como se muest ra en la figu-
ra 2. Para ello, seleccionaremos en el modo
de edicin de obj et o cada uno de ellos, y
t eclearemos el nombre en la seccin OB:
de los bot ones de edicin ( F9) .
Podemos indicar a Blen-
der que muest re el
nombre de los obj et os si
act ivamos el bot n de la
part e inferior izquierda
de est a vent ana: Name.
Est ablecemos las rela-
ciones de j erarqua ent re
Pist onA1 - Pist onA2 y
Pist onB1 - Pist onB2.
Queremos que, cuando
movamos las bases de
los pist ones ( A1 y B1) , los ext remos t engan
el mismo movimient o. Por t ant o, en la j erar-
qua t endremos que Pist onA2 es hij o de Pis-
t onA1. Para indicar est a j erarqua a Blender,
seleccionamos primero el element o hij o ( Pis-
t onA2) , y con Shi f t pulsado, seleccionamos
el padre ( Pist onA1) . Pulsamos Cont r ol + P
( Mak e Par ent ) . Ahora, si rot amos Pist o-
nA1, el giro t ambin lo sufrir Pist onA2, pero
no al revs. Realizamos la misma operacin
con la ot ra part e del pist n ( B1, B2) . Si nos
equivocamos, podemos eliminar la relacin
de parent esco pulsando Al t + P.

Cambiaremos los cent ros de los obj et os Pis-
t onA2 y Pist onB2 para que las rot aciones se
hagan respect o del ext remo ( en vez de es-
t ar sit uado en el cent ro geomt rico del obj e-
t o) . Para ello, sit uaremos el punt ero 3D
( crculo de color roj o que movemos con
BI R) , a la posicin 3D donde queramos si-
t uar el nuevo cent ro y en los bot ones de
edicin ( F9) pincharemos en Cent r e
Cur sor . Colocaremos los cent ros en los
punt os roj os que se muest ran en la figura 2.

Pasamos a est ablecer
una relacin de de-
pendencia ent re ob-
j et os. Asociaremos el
movimient o de los
dos pist ones, hacien-
do que se sigan el
rast ro . Est a t cnica
ya la hemos ut ilizado
en sesiones ant erio-
res, cuando inclua-
mos un obj et o Empt y
para sit uar la cmara. El primer obj et o que
seleccionamos es el dependient e ( que se-
guir el movimient o del segundo; el princi-
pal ) . Seleccionamos primero Pi st onA1 y
luego ( con Shi f t pulsado) Pi st onB1 ( en
est e orden) y creamos el t rack ( Cont r ol +
T) . Repet imos la operacin, pero ahora se-
leccionando primero Pi st onB1 y luego Pi s-
t onA1. En caso de que se produzcan efect os
raros en la rot acin de los obj et os, pulsamos
Al t + R y aj ust amos de nuevo la rot acin de
Pist onA1 y Pist onB1.

Probamos a mover Pist onA1. Si t enemos que
el movimient o lo siguen perfect ament e el
rest o de piezas, hemos t erminado est e paso.
En caso cont rario, t endremos que aj ust ar en
los bot ones de animacin ( F7) el ej e con el
que vamos a apunt ar al ot ro obj et o ( al ot ro
pist on) . Habit ualment e, habr que cambiar
de Tr ack Y a Tr ack X. Podra hacer falt a
cambiar t ambin el ej e que apunt a arriba
( vect or Up) . Podemos ver los ej es de cada
obj et o si en los bot ones de edicin pincha-
mos en el bot n Ax i s ( encima de Name) .
E
Pr c t i c a 6
Animacin Jerrquica y Composicin
Fi gur a 1
Fi gur a 2

Animacin para la Comunicacin
Prctica 6 [ Pgina 2 de 2 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
Act ivaremos el bot n
de Pow er Tr ack ( en
los bot ones de anima-
cin; F7) al pist n A1,
para quit arle la rot a-
cin ( cuando el obj et o
Rueda gire, no se
t endr en cuent a est a
rot acin, slo la posi-
cin) .

Aadimos un Empt y en el cent ro geomt rico
de Pist onA1, y hacemos padre ( est e Empt y)
de Pist onA1. Hecho est o, hacemos hij o al
Empt y de Rueda. Si rot amos Rueda respect o
del ej e Z, el mecanismo general debera fun-
cionar.

Pasamos a hacer una rot acin de 360 de la
rueda. Procederemos de forma similar a co-
mo se explic en la prct ica ant erior con el
dinosaurio. Podemos especificar un valor
numrico si pulsamos la t ecla N ( t al y como
muest ra la figura 3) . Si ponemos el valor
36 como Loc Y de la grfica Rot Z , t en-
dremos un giro de 360 ( suponiendo que el
punt o origen est en el 0) . Si no est en el
0, sumaremos 36 al valor que t engamos en
el LocY. En el ej emplo, se ha ut ilizado un
ciclo de 35 frames.

Pasamos a renderizar 2
animaciones con dist int os
mat eriales ( resolucin de
320 x 240) . Aadimos un
plano debaj o de la escena,
para que sirva como suelo
y recoj a las sombras arro-
j adas. Por ej emplo,
podemos hacer un
render ut ilizando la
t cnica Toon Sha-
ding ; con el aspect o
de los dibuj os anima-
dos. Para ello, en el
mat erial ( F5) act iva-
mos la opcin shade-
less , para que no
arroj e sombras. En la
vent ana de render ( F10) , act ivamos el bo-
t n Edge, y en Edge Set t i ngs al parmet ro
Ei nt ( I nt ensidad de la arist a) , le damos un
valor alt o ( 100) .

En definit iva; hemos
obt enido dist int os vdeos
con la animacin de
nuest ro pist n. Pasamos al
siguient e paso; compo-
nerla en Blender. Para ello,
abrimos una nueva sesin
de Blender y dividimos la
pant alla en 2 part es. Cambiamos las dos
vent anas a t ipo . En una de ellas, act iva-
mos el bot n . Debemos obt ener una re-
present acin como muest ra la figura 4. En la
part e derecha obt endremos una previsuali-
zacin de la composicin que est a-
mos realizando, y en la izquierda
iremos aadiendo los vdeos, imge-
nes, t ransiciones y efect os. Para
aadir un vdeo o imagen ( en el v-
deo de ej emplo se ha ut ilizado una
para el t ext o) , pulsamos Shi f t + A.
Podemos duplicar cualquier element o
que aparezca en est a vent ana pul-
sando Al t + D. Pinchando en los t ringulos
izquierdo y derecho de un vdeo, se puede
escalar . Aadimos los 2 vdeos que hemos
realizado, los colocamos uno encima del
ot ro, t al y como muest ra la figura 5. Con los
dos seleccionados, podemos aadir un efec-
t o. Podemos experiment ar con t odas las
t ransiciones que incorpora blender, e incluso
descargar plugins para aadir nuevas fun-
cionalidades a la aplicacin.

Con un efect o seleccionado, si pulsamos la
t ecla c podemos cambiar el t ipo de efect o, o
el sent ido de aplicacin del efect o ( AB o
B A) . En algunos efect os,
como las t ransiciones Cross,
GammaCross, et c. . . el orden
import a. Con la t ecla N po-
demos renombrar los
element os de nuest ra compo-
sicin.

Una vez que t enemos un
bloque de nuest ra animacin
definido, si seleccionamos t odos los elemen-
t os que int ervienen ( vdeos, imgenes, efec-
t os, et c. . . ) y pulsamos la t ecla M, podemos
agruparlos en una nica Met at ransicin.
Con Al t + M podemos deshacer est e paso.

Una vez t enemos la secuencia creada, la
generaremos en un AVI , act ivando el el bo-
t n do sequence de los bot ones de rende-
rizado ( F10) y pinchando luego en Anim.
Ut ilizando las herramient as descrit as en est a
prct ica, int ent ar conseguir un result ado
similar al que se puede ver en el fichero re-
sult ado_p6. mpg.
Fi gur a 3
Fi gur a 4
Fi gur a 5

Animacin para la Comunicacin
Prctica 7 [ Pgina 1 de 1 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

on est a prct ica nos int roduciremos en
el uso de esquelet os ( armat ures) en
Blender. Part iendo de un modelo sencillo ( un
brazo robt ico) , aprenderemos a asociarle, a
cada seccin, un hueso del esquelet o. Aadi-
remos rest ricciones a los element os y final-
ment e generaremos un movimient o del ro-
bot mediant e cinemt ica inversa.

Comenzaremos modelando las diferent es
piezas que formarn nuest ro brazo. Debe-
mos obt ener una geomet ra similar a la mos-
t rada en la figura 1. Ant es de ponernos ma-
nos a la obra, debemos t ener en ment e que
al modelo deber asocirsele un esquelet o.
Result ar mucho ms sencillo realizar est a
operacin ( y el propio modelado) , si en la
const ruccin del obj et o empleamos una pos-
t ura cmoda . Un ej emplo de const ruccin
del modelo se muest ra en la figura 2. As, el
esquelet o se sit uar de forma sencilla a lo
largo del ej e X, siguiendo la geomet ra del
brazo.

Recordemos que se pueden duplicar obj et os
con Shi f t + D. Ser t il definir t odos los
component es del robot como mallas inde-
pendient es. Para ello, deberemos salirnos
del modo de edicin de vrt ices cada vez
que aadamos una part e del robot a la es-
cena. Nombraremos cada component e del
robot como se muest ra en la figura 1. Ser
import ant e t ener claros los nombres asigna-
dos a cada part e a la hora de gest ionar la
j erarqua y las asignaciones de parent esco a
cada hueso del esquelet o. Por t ant o, se re-
comienda seguir el mismo convenio de nom-
brado que se ut iliza en est e document o.

Una vez modelado el robot , y renombradas
las piezas, aadiremos el esquelet o. Para
ello, pulsaremos Bar r a Espaci ador a +
ADD + Ar mat ur e. Cons-
t ruiremos un esquelet o
formado por 4 huesos,
cent rado en el int erior del
brazo robt ico, t al y como
se muest ra en la figura 3.
Los t res primeros est n
aj ust ados a las art icula-
ciones del brazo del robot
( hombro, codo y mueca) .
La lt ima, muy pequea,
se ut ilizar para gest ionar
la cinemt ica inversa del
modelo. Una vez creado el
esquelet o, ent ramos en el modo de edicin
del obj et o ( TAB) . El color rosa del esquelet o
seleccionado ser ms int enso. Selecciona-
mos t odos los huesos del modelo ( t ecla A) ,
cambiando su color a amarillo. Vamos a los
bot ones de edicin ( F9) y cambiamos el
nombre de los huesos como se muest ra en
la figura 4. Al igual que ant es, se recomien-
da seguir el convenio en el nombrado de los
C
Pr c t i c a 7
Introduccin a los esqueletos
Fi gur a 1
Fi gur a 2
Fi gur a 3

Animacin para la Comunicacin
Prctica 7 [ Pgina 2 de 2 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
huesos. Pasamos a definir las j erarquas en-
t re element os, y a conect ar las diferent es
part es del robot con el esquelet o que hemos
creado. Todo el proceso que vamos a seguir
a cont inuacin, est resumido en el esque-
ma de la figura 5. Las relaciones de paren-
t esco ( es padre de ) , est n represent adas
por una flecha que va del padre al hij o. Los
huesos del esquelet o est n represent ados en
color azul. Los nodos hij o de la j erarqua,
est n represent ados por un rect ngulo con
las esquinas sin redondear. Los element os
auxiliares ( empt y) que se han ut ilizado, apa-
recen en color naranj a. Por lt imo, las res-
t ricciones ent re element os se represent an
con una flecha punt eada, con una circunfe-
rencia negra en el origen.

Recordemos que para est ablecer una rela-
cin de parent esco ent re element os, selec-
cionaremos siempre pr i mer o el element o
hi j o, y despus, con Shi f t pulsado, el pa-
dr e. Pulsaremos Cont r ol + P + Mak e Pa-
r ent . En caso de equivocarnos, podremos
eliminar el parent esco con Al t + P. De est a
forma, seleccionaremos, por ej emplo, prime-
ro el element o Base, y despus Pedest al y
realizaremos la j erarqua. Procederemos de
igual modo con Mot or1 y Base, el Esquelet o
( complet o) y la Base, y MunAPin ( Mueca a
Pinza) con las dos part es de la pinza.
Las relaciones de parent esco con los huesos
se realizan de forma simi-
lar. Primero seleccionamos
el hij o, y despus el es-
quelet o ( complet o) . Pul-
samos Cont r ol + P + Use
Bone y seleccionamos el
hueso que corresponda en
cada caso.

Aadiremos un obj et o
Empt y a la escena que
nombraremos Empt yI k.
Est e obj et o nos servir
para sit uar el ext remo del
robot y, por cinemt ica
inversa, Blender calcular
la rot acin necesaria para
cada art iculacin del robot .
Sit uaremos el punt ero 3D
cerca del hueso I kaNull y
sit uaremos ah el nuevo
obj et o Empt y. Ent raremos
en el modo de pose del
esquelet o ( que veremos
con ms profundidad en
prximas sesiones) , que
ent re ot ras cosas nos permit e seleccionar
individualment e cada hueso. Para cambiar a
modo de pose, con el esquelet o seleccionado
( en color rosa claro) , pulsaremos Cont r ol +
Tabul ador . Tambin podemos acceder a
est e modo pinchando en el icono de la
cabecera de cualquier
vent ana 3D. El esquelet o
pasar a color azul claro.

En est e modo, selecciona-
remos el lt imo hueso
( I kaNull) , que pasar a color verde claro.
Vamos al men de rest ricciones, pinchando
en el bot n . Aadimos una rest riccin
nueva ( ADD) . El t ipo de rest riccin ser I K
Sol v er , sobre el nuevo Empt y ( t ecleamos en
el campo OB: Empt y I k ) .
Hecho est o, podemos mover el Empt yI k por
Fi gur a 4
Fi gur a 6
Pedestal
Motor1
Base
Esqueleto
Hombro
Codo
Mueca
IkaNull
LatHomDer
LatHomIzq
Motor2
LatCodDer
LatCodIzq
Motor3
LatMunIzq
LatMunDer
PinzaDer PinzaIzq
MunAPin
EmptyIk
EmptyRotBase
Copy Rotation
IK Solver
Copy Location (x,y)
Make Track
Fi gur a 5

Animacin para la Comunicacin
Prctica 7 [ Pgina 3 de 3 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
la escena, y el brazo seguir el movimient o
del mismo. Sin embargo, vemos que el bra-
zo no se comport a correct ament e. Las art i-
culaciones no realizan los giros de forma
realist a, debido a que no t ienen rest ricciones
de giro aplicadas.

Seleccionamos, en modo pose, el hueso
Codo y aadimos una rest riccin para co-
piar la rot acin del hueso Hombro . Con
est o, conseguiremos parcialment e que los
t res huesos giren a la vez. Como se muest ra
en la figura 7, t endremos que definir el obj e-
t o que cont iene al hueso llamado Hombro
( en nuest ro caso, Esquelet o ) . Repet iremos
la misma operacin con el hueso Mueca .
Crearemos un nuevo obj et o vaco, al que
llamaremos Empt yRot Base. Nos servir para
definir la rot acin que se t iene que aplicar al
obj et o Base ( recordemos que es padre de
casi t oda nuest ra j erarqua) , cuando mova-
mos Empt yI k. De est a forma, el robot siem-
pre apunt ar al obj et o Empt yI k, y no t en-
dremos ninguna rot acin ext raa en las art i-
culaciones. Sit uaremos el nuevo Empt y, co-
mo se muest ra en la figura 8, a la misma
alt ura que la base ( para que al hacer el
Track ent re ellos, la Base no se incline
hacia ningn lado; nicament e rot e respect o
del ej e Z) .
La idea es hacer que est e nuevo Empt y sirva
de sombra al Empt yI k con el que cont ro-
lamos el movimient o del brazo.
Para conseguir est e efect o de
sombra , aadiremos una res-
t riccin de copiar la localizacin
del Empt yI k, como se muest ra en
la figura 9. La localizacin se co-
piar respect o del ej e X e Y. La
alt ura en el ej e Z la mant endre-
mos fij a.

Hecho est o, aadiremos un se-
guimient o ( Track) de la base res-
pect o del Empt y. Para ello, re-
cordemos que habr que selec-
cionar primero el obj et o depen-
dient e, y despus el principal,
pulsando Cont r ol + T. Si hemos
seguido los pasos correct ament e,
podemos mover el Empt yI k y el
rest o de la geomet ra del robot
seguir el movimient o.

Para animar el modelo, bast ar con insert ar
frames clave que guarden la posicin ( Loc)
del obj et o Empt yI k en el t iempo ( Cont r ol +
I ) . La int erpolacin del movimient o de est e
obj et o nos producir ( por cinemt ica inver-
sa) el movimient o en el rest o de art iculacio-
nes. Se puede ver el modo de t rabaj ar de la
cinemt ica inversa en el fichero esquele-
t o_p7. mpg.
Aadiremos luces y t ext uras, e int ent aremos
conseguir un movimient o similar al most rado
en el vdeo result ado_p7. mpg. Est e fichero
t iene una curva I PO asociada que puede
verse en la figura 10. Es muy import ant e
finalizar correct ament e est a prct ica para
concluir con xit o fut uras sesiones.
Fi gur a 7
Fi gur a 8
Fi gur a 9
Fi gur a 10

Animacin para la Comunicacin
Prctica 8 [ Pgina 1 de 4 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

omplet aremos los concept os vist os en
t eora sobre Radiosidad y Trazado de
Rayos en est a sesin. Ut ilizaremos las op-
ciones de radiosidad en Blender, j unt o con
los mapas de ent orno para simular reflexio-
nes. Tambin renderizaremos una escena en
PovRay mediant e el plugin PovAnim, cam-
biando manualment e los parmet ros de ma-
t eriales y acabado final.

Comenzaremos la primera part e de la prct i-
ca const ruyendo el escenario que puede ver-
se en la figura 1. La iluminacin de la escena
vendr dada por las reas de luz de las su-
perficies superiores de la habit acin. Recor-
demos que en Radiosidad, la i l umi naci n
vendr generada por super f i ci es. De est a
forma, crearemos planos a los que asigna-
remos un mat erial que emit a luz.
Es muy import ant e la di-
reccin del vect or normal
ya que Blender lanzar la
luz en ese sent ido. Por
t ant o, t endremos que ase-
gurarnos que el vect or
normal de cada foco apun-
t a hacia el suelo , t al y
como muest ra la figura 2.
Para comprobar que es as,
seleccionamos cada foco ,
y en modo de edicin de
vrt ices, accedemos a los
bot ones de edicin ( F9) y
act ivamos el bot n Dr aw
Nor mal s. Podemos aj ust ar
el t amao de represent a-
cin del vect or normal en
Nsi ze. En caso de que la
normal est invert ida, po-
demos aj ust arla con el
bot n Fl i p Nor mal s o ro-
t ando la cara.

Los element os que emit en
luz t endrn el campo Emi t
del mat erial con un valor
mayor que 0. Los focos de
la prct ica t ienen un valor
de 0. 095 ( ver figura 3) . A
la caj a de color roj o se le
dio un valor de 0. 020.

A la esfera, de moment o, le
asignaremos un mat erial
azul por defect o. El mapa
de ent orno se calcular
despus de la radiosidad.
Accedemos al men de ra-
diosidad con el bot n .
Seleccionamos t odas las ma-
llas que forman nuest ra es-
cena y pinchamos en el bo-
t n Col l ect Meshes. Apare-
cen en la vist a de la cmara
unos cuadrados blancos y
azules. Los azules represen-
t an el t amao mnimo y
mximo de los Element os
( recordemos que cada Par-
che est formado por un
conj unt o de Element os) , y
los blancos represent an los
Parches .

Hecho est o, pinchamos en
Li mi t Subdi v i de, seguido
de Subdi v Shoot El ement
y Subdi v Shoot Pat ch.
Finalment e pinchamos en el
bot n Go. De est a forma
comienza el proceso de cl-
culo de la solucin de radiosidad. Podemos
parar el proceso en cualquier moment o pul-
sando Escape, quedndonos con la aproxi-
macin que se ha conseguido hast a ese ins-
t ant e. Aj ust aremos los valores para obt ener
mej or precisin ( como muest ra la Figura 4) .
Para ello, primero liberaremos la solucin
ant erior ( pinchar en el bot n Fr ee Radi o
Dat a) .

El t amao de los parches ( PaMax - PaMi n)
det ermina el det alle final ( cuant o ms pe-
queo sea, ms det allado ser el result ado
final) , pero increment amos el t iempo de cl-
C
Pr c t i c a 8
Renderizado Realista
Fi gur a 1
Fi gur a 2
Fi gur a 3

Animacin para la Comunicacin
Prctica 8 [ Pgina 2 de 4 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
culo. De forma similar ocurre con el t amao
de los element os ( El Max El Mi n) . En Max
I t er at i ons indicamos el nmero de pasadas
que Blender har en el bucle de Radiosidad.
Un valor 0 indica que haga las que est ime
necesarias. Max El indica el nmero mximo
de element os para la escena. Hemi r es es el
t amao del hemicubo ( t cnica ut ilizada para
calcular el parmet ro H vist o en t eora, de
clculo de visiblidad) .

Una vez t erminado el proceso de clculo,
podemos aadir la nueva malla calculada
reemplazando las creadas ant eriorment e
( Repl ace Meshes) o aadirla como nueva a
la escena ( Add new Meshes) . Elegiremos
est a segunda opcin. Ant es de deseleccionar
la malla, la moveremos a ot ra capa. Las ca-
pas en Blender se ut ilizan de forma similar a
como se hace en cualquier ot ro programa de
diseo. Pueden result ar muy t iles cuando la
complej idad de la escena crece. I ncluso son
imprescindibles para algunas operaciones
( como en los mapas de ent orno) . Las capas
act ivas ( visibles) en cada moment o pueden
verse en la cabecera:



En est e caso, slo la primera capa est act i-
va. Podemos seleccionar mlt iples capas
como act ivas pinchando sobre ellas con la
t ecla Shi f t pulsada.
Movemos los obj et os seleccionados ( en
nuest ro caso, la nueva malla) a una nueva
capa pulsando la t ecla M. Nos aparecer una
vent ana emergent e donde nos pedir la ca-
pa dest ino del movimient o:



Movemos la malla de radiosidad a la segun-
da capa y liberamos la memoria ocupada por
est os dat os ( Fr ee Radi o Dat a) .

Act ivamos nicament e la segunda capa y
renderizamos. Tenemos que obt ener una
imagen similar a la figura 5.

Vamos a aadir el mapa de ent orno a la es-
fera, para que reflej e el rest o de obj et os de
la habit acin. Para ello, primero separare-
mos la malla del rest o, movindola a la capa
3. En modo de edicin de vrt ices, seleccio-
namos uno de los que forman la esfera. Pul-
samos la t ecla L y seleccionamos, de est a
forma, t odos los que est n enlazados con
ese direct ament e ( los que forman la esfera) .
Separamos est e conj unt o de vrt ices como
un obj et o nuevo pulsando P. Movemos la
esfera a la t ercera capa ( t ecla M con la esfe-
ra seleccionada) .

Hacemos las dos capas visibles a la vez.
Aadimos un Empt y en la capa 2, sit uado en
el cent ro de la esfera, al que llamaremos
Empt yEnt orno . Nos servir para calcular el
mapa de ent orno cbico, como si est uvira-
mos sit uados en ese punt o del espacio.

Al mat erial azul de la esfera le asociamos
una t ext ura ( F6) . Pinchamos en el bot n de
Env Map. Los bot ones azules ( St at i c, Ani m
y Load) indican si el mapa de ent orno se va
a calcular slo una vez ( en caso de que los
obj et os del mundo no se muevan) , Ani m
( en caso de que haya desplazamient o de los
obj et os) o Load ( para cargar el mapa de
ent orno precalculado en una imagen) . Fr ee
dat a sirve para forzar a que se recalcule el
mapa. En Ob: indicaremos el obj et o que nos
servir de origen para calcular el mapa. En
nuest ro caso ser Empt y Ent or no. Con Cu-
beRes indicamos la resolucin, en pxeles,
de cada pared del cubo. Al lado, t al y como
muest ra la Figura 6, nos indica qu capa( s)
no queremos renderizar. Es muy import ant e
Fi gur a 4
Fi gur a 5

Animacin para la Comunicacin
Prctica 8 [ Pgina 3 de 4 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
no renderizar las capas donde se encuent ren
los obj et os a los que vamos a aplicar el ma-
pa de ent orno. De ot ra forma, el mapa obt e-
nido renderizara el int erior del obj et o ( en
nuest ro caso la esfera) . As, indicamos que
la capa 3 no la vamos a t ener en cuent a.
Finalment e es posible que t engamos que
aj ust ar los parmet ros de brillo y cont rast e
del mapa para obt ener un result ado realist a.
En el men de mat eriales ( F5) habr que
indicar que queremos usar el vect or de re-
flexin como coordenadas de t ext ura ( Ref l ) .

El mapa de ent orno para la escena es el
most rado en la figura 7. El result ado del
render final debe ser similar a la figura 8.
Ex por t ando Bl ender : : Pov Ray

En est a segunda part e de la prct i-
ca, renderizaremos una escena rea-
lizada en Blender con un mot or de
render ext erno: PovRay. Comenza-
mos abriendo el fichero lo-
gouclm. blend. Aadimos las let ras
UCLM con Wings3D. De nuevo en blender,
abrimos una vent ana de t ipo Text o y car-
gamos el fichero lanc_povanim225i_05. py .
Debemos t ener en el mismo direct orio donde
se encuent re el fichero . blend, el fichero de
Pyt hon compilado povanim225i_05. pyo .
De igual forma, t enemos que t ener inst alado
el int rpret e de Pyt hon en nuest ra mquina.
Hecho est o, ej ecut amos el script ( Al t + P en
la vent ana de t ext o) .

nicament e modificaremos la opcin refe-
rent e al t ipo de salida ( para evit ar la compa-
t ibilidad con MegaPov, y obt ener una salida
de PovRay est ndar) . Para ello, pulsaremos
en el bot n 0. 7 compat i bi l i t y para desact i-
varlo, cambiamos la resolucin de salida a
800x 600 y seguidament e pinchamos en
Ex por t t o f i l e. En la pgina web oficial del
script podemos encont rar una descripcin
complet a de t odos los parmet ros que se
pueden export ar.

En el mismo direct orio de t rabaj o, se habr
creado un direct orio llamado povanim .
Fi gur a 6
Fi gur a 7
Fi gur a 8
Fi gur a 9

Animacin para la Comunicacin
Prctica 8 [ Pgina 4 de 4 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
Est e direct orio cont iene varios ficheros lla-
mados:

cam[ l ogoucl m] .i nc: Cont iene la des-
cripcin de la posicin de la cmara.
i ni [ l ogoucl m] .i ni : El fichero con t odos
los parmet ros de renderizado. Ser
el que lanzaremos en PovRay.
l amp[ l ogoucl m] .i nc: Fuent es de luz.
mai n[ l ogoucl m] . pov : Descripcin
principal de la escena. Carga t odos
los ficheros . inc.
mat [ l ogoucl m] .i nc: Mat eriales de los
obj et os que forman la escena.
mesh[ l ogoucl m] .i nc: Define los vr-
t ices que forma la geomet ra de la
escena. Si la escena cont iene obj et os
complej os ( como nuest ro ej emplo) ,
cargar los conj unt os de t ringulos
definidos en la subcarpet a mesh .

Probaremos a renderizar inilogouclm. ini.
Probablement e habr que corregir algn
error mnimo en la export acin de mat eria-
les ( bump mapping) .
Hecho est o, procedemos a personalizar la
escena con nuest ros propios valores de ma-
t eriales y opciones de renderizado.

En el fichero inilogouclm. ini, aj ust aremos la
resolucin del render y el valor de ant ialia-
sing ( cuant o menor sea, ms calidad de
render final) .

Nuest ro fichero de mat eriales cont endra las
lneas que pueden verse en el list ado ma-
t logouclm. ini .

Experiment ar con valores de mat eriales,
iluminacin y t ipos de renderizado. Recor-
demos que PovRay permit e generar anima-
ciones. El plugin que hemos ut ilizado en
est as prct icas permit e export ar las
animaciones generadas en Blender. El
format o de salida ser un conj unt o de
imgenes ( TGA o BMP t picament e) .
Tendremos que ut ilizar algn pro-
grama para generar el vdeo en
est os casos. Hay mult it ud de
herramient as por lnea de co-
mandos que realizan est a t area.

Exist en plugins para Blender que
permit en export ar a ot ros mot ores de
render famosos ( como Light flow) , o de
recient e creacin y amplia acept acin ( como
Yafray) . Tambin exist en herramient as que
permit en el render dist ribuido en PovRay,
basndose en PVM o PMI . Segn la mag-
nit ud del proyect o puede ser necesario hacer
uso de alguna herramient a de est e t ipo para
que el t iempo de render sea manej able.
Width=800
Height=600
...
Antialias_Depth=4
Antialias=On
Antialias_Threshold=0.02
i ni l ogoucl m.i ni
#include "glass.inc"
#include "colors.inc"

// Material para el logo
#declare UCLMRojo_pig=pigment{color Clear }
#declare UCLMRojo_fsh=finish {F_Glass2}

// Material para las letras UCLM
#declare Material_pig=pigment{color Clear}
#declare Material_fsh=finish {F_Glass8}
mat l ogoucl m.i ni

Animacin para la Comunicacin
Prctica 9 [ Pgina 1 de 3 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

n est a sesin modelaremos un persona-
j e ut ilizando superficies de subdivisin
mediant e la t cnica de rot oscopia. Est a t c-
nica, muy ut ilizada en el mbit o de la ani-
macin de personaj es por comput ador, se
basa en moldear el personaj e 3D ut ilizando,
al menos, dos vist as realizadas a mano.

Cargaremos los bocet os
del personaj e que pueden
verse en la figura 1. Divi-
dimos la pant alla en 3
vent anas. A la izquierda,
cargaremos la imagen de
fondo frent e. j pg , y en el
cent ro lat eral. j pg . La
part e de la derecha la
dej aremos para ir rot ando
el modelo, seleccionar
vrt ices, et c. . . ( ver figura
2) . La imagen de frent e se
cargar en la vist a front al ( t ecl a 1 del t ecla-
do numrico) y la vist a lat eral con la t ecl a 3
del t eclado numrico.

Aadimos un cubo a la escena y lo aj ust a-
mos para comenzar a modelar un pie del
personaj e, como se muest ra en la figura 2.
Act ivaremos las opciones de subdivisin de
la malla ( bot ones de edicin, F9) .



El valor de la izquierda ( 2 en nues-
t ro caso) , es el nmero de subdivi-
siones que hace Blender para mos-
t rar la malla en modo de t rabaj o.
nicament e sirve para hacernos una
idea de cmo va a quedar. El valor
de la derecha ( ms import ant e) , es
el nmero de subdivisiones que se
harn a la hora de renderizar. De
est a forma, aj ust aremos el valor de
la derecha para que sea mayor que
el de la izquierda ( y st e, segn sea
nuest ro proce-
sador) .

Puede ser t il act ivar el
modo de sombreado
( t ecla Z) en alguna vis-
t a, para t ener una vi-
sin ms precisa del
est ado del modelo. La
seleccin de vrt ices
puede realizarse de
forma individual, o con
la t ecla B ( o BB) . Las
operaciones bsicas
sobre los vrt ices sern Ext rusionar ( E) , con
al menos 3 vrt ices seleccionados, mover
( G) , rot ar ( R) y escalar ( S) .

La idea bsica es ir calcando los bocet os,
aj ust ando los vrt ices de la geomet ra de
alt o nivel. Es i mpor t ant e conser v ar el
menor nmer o de v r t i ces posi bl e en el
model o a subdi v i di r . Cuant o ms aumen-
t emos la geomet ra del modelo, ms difcil
result ar desplazar los grupos de vrt ices.
Con est a idea en ment e, comenzamos a ge-
nerar un pie del modelo, como se muest ra
en la figura 3. Para ext rusionar una cara
( sacar la pierna de la part e superior del pie) ,
seleccionamos los 4 vrt ices que formaran
el t aln y pulsamos E.

Al llegar a la part e de unin ent re las pier-
nas, realizaremos un espej o de la pierna
izquierda. Para ello, seleccionamos la malla,
pulsamos Shi f t + D, luego S ( escalado) y
sin escalar la malla, pulsamos la t ecla Y.
Est o hace un espej o de la malla respect o de
ese ej e. Obt enemos un result ado similar a la
figura 4. Pasamos a unir los obj et os genera-
dos para cont inuar modelando el t orso del
personaj e.
E
Pr c t i c a 9
Modelado por Rotoscopia
Fi gur a 1
Fi gur a 2
Fi gur a 3

Animacin para la Comunicacin
Prctica 9 [ Pgina 2 de 3 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
Con las dos piernas seleccionadas, unimos
las mallas ( cont r ol + J) . Ent ramos en modo
de edicin de vrt ices y sit uamos cerca los
vrt ices que deben ser comunes en ambas
piernas ( los dos vrt ices superiores de cada
pierna) . Tal y como se muest ra en la figura
5. Seleccionamos los 4 vrt ices que quere-
mos fusionar , y aj ust amos
en los bot ones de
edicin ( F9) el valor
Li mi t que nos gra-
da la dist ancia que debe haber en-
t re vrt ices cont inuos a eliminar.
Hecho est o, pinchamos en Rem
Doubl es y Blender debe informar-
nos que ha eliminado 2 vrt ices.

Cont inuamos modelando el cuerpo
del personaj e, siempre t eniendo en
ment e que debemos ut ilizar el me-
nor nmero de polgonos posible.
Hay que ver t ambin las part es don-
de int eresa generar nuevas caras.
Por ej emplo, para modelar el t orso
( figura 6 arriba) , hemos realizado
t res ext rusiones cuando habra
bast ado con dos. De est a for-
ma, hemos obt enido unos vr-
t ices donde, en el paso siguien-
t e, generamos los brazos.

Necesit amos generar nuevos
vrt ices para sacar el cuello y,
de ah, la cabeza. Para ello,
result a t il la herramient a
Subdi v i de ( bot ones de edi-
cin, F9) . Es import ant e ut ili-
zar est a herramient a slo
cuando sea necesario. El n-
mero de vrt ices crece muy
rpido y el modelo podra hacerse inmanej a-
ble. Tambin result a t il la opcin de
Smoot h , del mismo bloque de bot ones.
Con est e bot n suavizamos una superficie,
eliminando la apariencia de est ar generada
de forma simt rica. Est a opcin la ut ilizare-
mos nicament e cuando la geomet ra base
est t ot alment e definida, para aadir un
t oque de nat uralidad a la su-
perficie.

Generaremos una mano del
modelo y realizaremos la ot ra
por espej o ( de forma similar
a como t rabaj amos con la pier-
na) . En la figura 8, se muest ra
el proceso de aj ust ar los
vrt ices para que coincidan
con la mueca. De forma
similar, pinchando en Rem-
Doubl es j unt aremos las su-
perficies en una. Blender reali-
zar la int erpolacin de la ma-
lla result ant e.
Fi gur a 4
Fi gur a 5
Fi gur a 6

Animacin para la Comunicacin
Prctica 9 [ Pgina 3 de 3 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
Por lt imo, aadimos los oj os, prpados y
dient es del modelo. Para las t ext uras se ha
ut ilizado un color verde de mat erial y des-
pus se han pint ado los vrt ices ( Ver t ex
Pai nt Mode) , como se explic en la prct ica
4 ( Modelado del dinosaurio) .

Con est a t cnica podemos const ruir modelos
de personaj es complej os. Part iendo de unos
bocet os 2D sencillos generamos la malla
3D mediant e rot oscopia. Al emplear
superficies de subdivisin podemos
aj ust ar el nivel de suavizado de la
superficie final. Habit ualment e un valor
de subdivisin de 3- 4 en el renderizado,
da mallas muy suavizadas. Animaremos est e
personaj e en la siguient e sesin de prct icas
con NLA.
Fi gur a 7
Fi gur a 8

Animacin para la Comunicacin
Prctica 10 [ Pgina 1 de 6 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

a animacin de personaj es digit ales re-
quiere definir un esquelet o int erno al
que aplicaremos Cinemt ica I nversa para
calcular la posicin de t odas las art iculacio-
nes. st as generarn unas deformaciones
que habr que t rasladar a la malla del
modelo 3D. Por lt imo se aplicar un
movimient o al esquelet o, const ruyendo una
secuencia de animacin.

As pues, en est a sesin ident ificamos dos
obj et ivos; en primer lugar, const ruir un es-
quelet o para nuest ro personaj e, que asocia-
remos a una malla. I ndicaremos a Blender
qu vrt ices de la malla t endr que defor-
mar j unt o al esquelet o. En segundo lugar,
const ruiremos una secuencia de animacin
para el esquelet o. Podremos realizar est a
secuencia mediant e la t cnica de animacin
lineal empleada en sesiones ant eriores; de-
finiendo la posicin de t odos los punt os fina-
les ( I K Solver) en cada frame clave, o bien
definiendo acciones en el mdulo de Anima-
cin No Lineal. Ut ilizaremos est a segunda
alt ernat iva, mucho ms cmoda para cons-
t ruir animaciones complej as.

Pr i mer a par t e: Const r ucci n del
esquel et o.

Ant es de definir el esquelet o del modelo
creado en la prct ica ant erior, veamos cmo
asociar un Armat ure a una malla de polgo-
nos, y la convencin de nombrado que ut ili-
za Blender.

Comencemos con un ej emplo sencillo;
arrancamos blender, eliminamos el plano
por defect o e insert amos un cubo. Ext rusio-
namos la cara lat eral y, act ivando las super-
ficies de subdivisin, const ruimos una malla
como la most rada en la figura 1.
Aadimos un Armat ure formado por 3 hue-
sos principales ( hueso1, hueso2, hueso3)
y un cuart o hueso pequeo que ut ilizaremos
para resolver la cinemt ica inversa ( hueso-
nul l ) . Con el esquelet o t odava en modo de
edicin de huesos ( color rosa oscuro,
accedemos con Tab) , aadiremos un
quint o hueso ( independient e de los
ant eriores, aunque forma part e del
esquelet o) , que ut ilizaremos para cal-
cular la cinemt ica inversa ( huesoi k ) .
Obt endremos una configuracin similar
a la figura 2.

Es import ant e que t odos los huesos
formen part e de un nico obj et o Arma-
t ure. Por t ant o, cuando aadamos
nuevos huesos al esquelet o, lo hare-
mos siempre desde el modo de edicin del
obj et o.

Podemos act ivar la represent acin del nom-
bre de cada hueso pinchando en el bot n
Dr aw Names de los Bot ones de Edicin
( F9) . Nombraremos los huesos como se ex-
plic en la prct ica 7, y aadiremos una res-
t riccin ( en modo pose del esquelet o; Con-
t r ol + Tab) de t ipo I kSolver al huesonul l
con obj et ivo en huesoi k . Ahora podemos
mover ( en modo pose) huesoi k , y el rest o
del esquelet o se calcular de forma aut om-
t ica mediant e cinemt ica inversa.

L
Pr c t i c a 10
ANL y Esqueletos Avanzados
Fi gur a 1
Fi gur a 2
Fi gur a 3

Animacin para la Comunicacin
Prctica 10 [ Pgina 2 de 6 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
Falt a por indicar a blender
cmo deformar la malla.
Para ello, crearemos grupos
de vrt ices con el mismo
nombre que los huesos del
esquelet o. Asociaremos a
cada conj unt o de vrt ices
un hueso de los ant eriores.
Ent ramos en modo de edi-
cin de vrt ices del obj et o
y seleccionamos el grupo de vrt ices que
est n sit uados sobre el hueso1 ( ver figura
3) . En los bot ones de edicin ( F9) , creare-
mos un nuevo grupo de vrt ices ( pinchamos
en new ) . Tecleamos el nombre del primer
hueso y, con los vrt ices del primer hueso
seleccionados, pinchamos en Assi gn. Si nos
equivocamos al asignar vrt ices, podemos
quit ar los errneos con Remov e. El bot n
Sel ect sirve para most rar los vrt ices selec-
cionados de un grupo y Desel ect para dese-
leccionar los vrt ices del grupo. Creamos un
grupo para cada hueso y asignaremos los
vrt ices que se muest ran en la figura 3.

Si nos fij amos, hay vrt ices que pert enecen
a dos grupos. Es buena prct ica que los vr-
t ices sit uados en la zona de unin de dos
huesos, pert enezcan a los dos grupos de
vrt ices asociados. Blender calcular cmo
deformarlos para que el result ado final en la
malla sea suave.

Hecho est o, haremos la malla hij a del es-
quelet o ( Cont r ol + P) Use Ar mat ur e.
Ent ramos en modo de pose para el esquele-
t o y movemos el hueso huesoi k . Si t odo ha
ido bien, se deber aplicar la deformacin en
el modelo ( ver figura 4) . Vamos a aplicar el
mismo mt odo al fichero p10modelo. blend.

Comenzaremos por el esquelet o de las pier-
nas. Los huesos que t engan simt ricos en el
ot ro lado del cuerpo, como por ej emplo las
piernas y los brazos, los nombraremos aca-
bando en .R ( los huesos de la derecha) y en
.L ( los de la izquierda) . Est o nos servir para
copiar y pegar posiciones simt ricas en
la segunda part e de la prct ica. De momen-
t o nos ocuparemos de mant ener la not acin
exact a y consist ent e.

Aadimos como primer Armat ure Fmur . R,
Ti bi a. R y Pi er naNul l .R. Despus, y recor-
demos que t enemos como obj et ivo t ener un
nico Armat ure con t odos los huesos, sin
salir del modo de edicin, aadimos una
nueva cadena de huesos: Pi e.R y Pi e-
Nul l .R. Finalment e, aadimos como cadenas
de un nico hueso: DedosPi e.R, I k Dedos-
Pi e.R, I k Tobi l l o. R e I k Pi e.R ( ver Figura
5) .
Hecho est o, emparent amos ( Bot ones de edi-
cin F9, modo de edicin - Tab - con t odos
los huesos seleccionados, elegimos en el
bot n desplegable el nombre del padre en el
campo chi l d of ; ver figura 6) los dos huesos
I K pequeos; I k DedosPi e.R e I k Tobi l l o.R
con el cont rolador principal del pie: I k Pi e.R.
Al hueso DedosPi e.R aadimos una rest ric-
cin copy locat ion hacia el hueso I k De-
dosPi e.R. Al hueso Pi eNul l .R un I kSolver
hacia I k DedosPi e.R. Al hueso Pi e.R un
copy locat ion hacia Pi er naNul l .R. Final-
ment e a Pi er naNul l .R un I kSolver hacia
I k Tobi l l o.R. Si t odo ha ido bien, t endremos
un comport amient o como se ve en la Fig 7.
Crearemos grupos de vrt ices como se ex-
plic con el primer ej emplo de la prct ica,
nombrando los grupos igual que los huesos
Fi gur a 4
Fi gur a 5

Animacin para la Comunicacin
Prctica 10 [ Pgina 3 de 6 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
que los deformarn: Fmur . R, Ti bi a. R,
Pi e.R y DedosPi e.R. Al t erminar, podemos
emparent ar la malla con el esquelet o de la
pierna. La deformacin debe verse en est e
punt o. A part ir de ahora, t odos los huesos
que aadamos al esquelet o y grupos de vr-
t ices en la malla t endrn result ado direct o
en el modo de animacin pose .

En la figura 8 puede verse una capt ura de la
j erarqua que t enemos que const ruir.
La figura 9 muest ra los nombres exact os de
los huesos y sus relaciones de parent esco.
Aadiremos una cadena de huesos para
formar la colum-
na vert ebral ( Es-
t omago, Pecho
y Col umnaNul l ) .
Para limit ar el
inicio y el fin de
la columna, in-
sert amos 2 nue-
vos huesos ( I k -
Cader as e
I k Hombr os) . Aadimos una rest ric-
cin de t ipo CopyLocat ion a Est o-
mago, respect o de I k Cader as. A
Col umnaNul l un I kSolver sobre
I k Hombr os. De ese punt o sacare-
mos dos cadenas de huesos ( una
para cada lado) : Hombr o. R y
Hombr oNul l .R. Hombr o. R t endr
un CopyLocat ion de I k Hombr os y
Hombr oNul l . R servir de origen
para el CopyLocat ion de Humer o.R.
De forma similar se definirn los
huesos y rest ricciones para el lado
izquierdo.

Cont ruiremos los brazos como una
cadena de 3 element os: Humer o.R,
Cubi t o. R y Mano.R. Aadiremos un
I kSolver ( I k Mano) sobre Mano. R.
Aadiremos nuevas cadenas de hue-
sos para los dedos. ndice, Corazn
y Anular t endrn 3 huesos ( el dedo
pulgar slo 2) ms un cuart o hueso
( * null) que servir como origen del
I kSolver. Aadiremos un hueso in-
dependient e para cada dedo, que
servir como dest ino del I kSolver.
Adems, emparent aremos el origen
Fi gur a 6
Fi gur a 7
Fi gur a 8

Animacin para la Comunicacin
Prctica 10 [ Pgina 4 de 6 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
de cada cadena de huesos
con Mano.R. Una capt ura
del esquelet o de est a part e
puede verse en la figura 10.

Finalment e podemos ocult ar
algunos huesos para que,
cuando est emos en modo
de edicin de pose, slo nos
aparezcan los que vayamos
a ut ilizar. En la figura 9
aparece el conj unt o de hue-
sos que seran de ut ilidad a
la hora de animar el perso-
naj e ( bsicament e los I K-
Solver de t odas las cadenas
de huesos) : I KPie. * , I KDe-
dosPie. * , I KTobillo. * , I KCade-
ras, I KHombros, I KCabeza,
I KMano. * , I KPulgar. * , I KI ndi-
ce. * , I KCorazon. * e I KAnular. *

Puede result ar de ut ilidad
t ener el esquelet o en una
capa dist int a del rest o de
element os. Est o nos permi-
t ir ocult arlo cuando no
est emos t rabaj ando direc-
t ament e con l. Despus de
ocult ar un subconj unt o de
los huesos del esquelet o,
obt enemos una configura-
cin como la most rada en la
figura 11.

Segunda par t e:
Ani maci n No Li neal .

Abrimos dos vent anas nue-
vas en blender. Una que
cont endr acciones y
ot ra de t ipo NLA . En
animacin no lineal, defini-
remos las acciones como
conj unt os de posiciones
clave de un subconj unt o de
huesos. As, en el movi-
mient o de andar , defini-
remos la accin de mover
las piernas y la accin de
mover los brazos . De la
combinacin de ambas ac-
ciones en el composit or de
NLA ( Non Linear Animat ion)
obt endremos el movimient o
de caminar.

Vamos a aadir el movi-
mient o de mover las pier-
nas al caminar. En la ven-
t ana de acciones, creare-
mos una nueva pinchando
en el icono y seleccio-
nando ( ADD NEW) . Cam-
biaremos el nombre por
caminar piernas . Nos si-
t uamos en el frame 1 y mo-
vemos I KPi e.R e I KPi e.L
hast a obt ener una posicin
similar a la figura 12. Hecho
est o, aadimos un frame
clave ( slo con esos dos
huesos seleccionados, ni-
cament e int ervienen dos
manej adores en la accin)
sobre LocRot . En la vent ana
3D, al lado del icono de
Fi gur a 9
Fi gur a 10
Fi gur a 11

Animacin para la Comunicacin
Prctica 10 [ Pgina 5 de 6 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
pose , aparecen 3 iconos que nos permit en
copiar , pegar y pegar invert ida la
pose act ual. Es en el pegado invert ido donde
ent ra en j uego la not acin especial de Blen-
der. Podemos pegar la posicin de las
piernas invert ida siempre que hayamos se-
guido la not acin . R y . L para huesos sim-
t ricos. De est a forma, pinchamos en copiar
la posicin act ual y nos desplazamos al
frame 14. Pegamos la posicin invert ida e
insert amos frame clave. Nos vamos al frame
28 y pegamos la posicin normal . I nser-
t amos de nuevo un frame clave. Si reprodu-
cimos la accin, t endremos un movimient o
parecido a andar, pero sin levant ar los pies
del suelo. Bast ar con que nos sit uemos en
los frames int ermedios ( 7 y 21) y aadamos
nuevos frames clave con la pierna que co-
rresponda levant ada. Finalment e, obt en-
dremos una accin en la vent ana de accio-
nes como se muest ra en la figura 13. En la
vent ana NLA aparecern una serie de cua-
drit os indicando los frames clave ( ver figura
13, abaj o) . Nos int eresa convert ir est os fra-
mes a franj as NLA; que son barrit as amari-
llas que podemos escalar, suavizar y com-
poner. Para ello, en la vent ana NLA seleccio-
namos t odos los cuadros clave y pulsamos
Cont r ol + A Act i on t o NLA St r i p. Hecho
est o, podemos est irar la duracin de la
accin de caminar al nmero de frames que
queramos ( con la t ecla S, como cualquier
obj et o) , o desplazarlo en la lnea de t iempo
( t ecla G) . Crearemos nuevas acciones ( como
la de mover los brazos, t aparse la cara, girar
la cabeza. . . ) de forma similar. Cuando
hayamos creado la barrit a NLA, podemos
eliminar la accin de la vent ana NLA para
crear nuevas, pero no ant es! . Si eliminamos
los frames clave ant es de pasar la accin a
NLASt rip, est aremos eliminando la propia
accin. Podemos aadir acciones ya creadas
a la vent ana NLA pulsando Shi f t + A.

Podemos ver cmo qued la composicin de
acciones de est a prct ica en la figura 14. La
part e inferior, que t iene frames clave direc-
t ament e sobre el obj et o Lamp. 004, se co-
rresponde con el efect o del foco que ilumina
la cara del mueco al comenzar la anima-
cin. A cont inuacin analizaremos algunas
opciones de composicin.
Fi gur a 12
Fi gur a 13
Fi gur a 14

Animacin para la Comunicacin
Prctica 10 [ Pgina 6 de 6 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
Cmo hacer que el personaj e siga un cami-
no? Necesit amos aadir un element o de t ipo
Cur v e / Pat h. Aj ust amos los punt os de
cont rol y en los bot ones de animacin ( F7) ,
indicamos los parmet ros que se muest ran
en la figura 15. En Pat hLen indicaremos la
longit ud en frames del Pat h. Act ivaremos los
bot ones de Cur v ePat h y Cur v eFol l ow .

Hecho est o, hacemos al Esquelet o hij o del
Pat h. En la vent ana NLA, seleccionamos la
accin caminar piernas y pulsamos la t ecla
N. Con est o, accedemos a las propiedes es-
pecficas de la accin ( ver figura16) . Las
propiedades de St r i p St ar t y St r i p End
indican el moment o en el que la accin co-
mienza y t ermina en la planificacin NLA
act ual. Act i on Range hace mencin a la
duracin ( en frames) de la accin ( indepen-
dient e de dnde empiece) . Bl endi n y Bl en-
dout son el nmero de frames que damos
para mezclar la accin con las siguient es. Es
un fact or de suavizado que aplica Blender en
la int erpolacin ent re acciones. Repeat indi-
ca el nmero de veces que vamos a repet ir
la accin. St r i de es un parmet ro muy im-
port ant e si est amos ut ilizando caminos
( pat hs) , como en nuest ro caso. I ndica a
Blender el nmero de
unidades que avanza el
modelo en cada ciclo.
Debemos aj ust ar est e
parmet ro para evit ar
que el modelo pat ine
sobre el suelo. Es t il
pinchar en el bot n
Pr i nt Len ( ver figura 15) ,
que nos da la longit ud de
un camino para calcular el valor de St r i de.
Si act ivamos UsePat h, la accin se va a
sincronizar con el avance del pat h. En nues-
t ro ej emplo, act ivaremos est e bot n nica-
ment e en las acciones que t engan que ver
direct ament e con el act o de caminar; es
decir, caminar piernas y caminar brazos .
El bot n de
Hol d, si est
act ivo, nos
conserva la
lt ima posi-
cin alcan-
zada por una
accin. Por
lt imo, el
parmet ro
Add indica
que el mo-
vimient o
final result a-
r de la
composicin
de est a ac-
cin con el
rest o ( sus
efect os se
suman) . Por
lo general, est e parmet ro t endr que est ar
siempre act ivo para t odas las acciones.

Por lt imo, recordaremos que Blender per-
mit e t rabaj ar hast a el mnimo nivel de det a-
lle mediant e curvas I PO. Podemos, por
ej emplo, variar la velocidad del personaj e
que sigue sobre el pat h accediendo a la cur-
va I PO asociada al camino ( ver figura 17) .

Fi gur a 15
Fi gur a 16
Fi gur a 17

Animacin para la Comunicacin
Prctica 11 [ Pgina 1 de 2 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

n est a lt ima sesin aprenderemos a
manej ar un programa de edicin de
vdeo: Zwei- St ein. Sincronizaremos un con-
j unt o de vdeos, generados en prct icas an-
t eriores, con efect os de t ransciones y rt ulos
mediant e imgenes.

Al ej ecut ar el programa nos encont ramos
con el int erfaz que se muest ra en la figura 1.
La vent ana aparece dividida en 4 part es.
Arriba a la derecha est la zona de previsua-
lizacin. En est a part e podemos reescalar los
vdeos que componemos, desplazarlos, et c. . .
Adems, ofrece una visin del result ado que
obt endremos. Abaj o a la derecha aparece la
vent ana de ayuda. Arriba a la izquierda est
la zona de filt ros y propiedades. Por lt imo,
abaj o a la izquierda aparece la t pica lnea de
t iempo de los programas de composicin de
vdeo.

Ant es de comenzar a cargar los vdeos, con-
figuraremos el proyect o. En Dest i nat i on
Vi deo For mat elegiremos 352 / 288 ( CI F
PAL) , y en Dest i nat i on Fr ames Per
Second 25. Guardamos el proyect o.

Para comenzar, cargaremos
un vdeo haciendo BDR so-
bre la zona de la lnea de
t iempo BDR I mpor t Vi -
deo Cl i p. Cargaremos
povray. mpg ( ver figura
2) . Las imgenes y sonidos
se import an con est a misma
opcin. La aplicacin sopor-
t a AVI , BMP, JPG y WAV.

Podemos hacer zoom so-
bre la lnea de t iempo pin-
chando en los bot ones + y
de su esquina inferior de-
recha. Pinchando en F el
programa realiza el aj ust e
pt imo. Dist inguimos nuevas part es del in-
t erfaz ( ver figura 3) . En ( a) se definen los
parmet ros de ent rada del vdeo ( imagen o
sonido) . Ent re ot ras cosas, podemos recor-
t ar nicament e la part e de un vdeo que
nos int erese ut ilizar. En ( b) gest ionaremos
los filt ros. En el vdeo de ej emplo, se han
ut ilizado, principalment e, el de opacidad
( Basi c ef f ect s Opaci t y ) y el RGB Key ,
que nos permit e definir qu color t omar co-
mo t ransparent e ( muy t il en rot ulacin) .
( c) nos define la posicin, dent ro del vdeo
seleccionado, en que nos encont ramos. Es
un valor local. El valor global del vdeo se
encuent ra en la barra inferior de la vent ana.
La aplicacin mide el t iempo en segundos
( no en frames, como Blender) . Podemos
acceder a un valor exact o de t iempo hacien-
do doble clic con BI R sobre la barra de
t iempo. Podemos especificar un valor num-
rico exact o prct icament e sobre cualquier
E
Pr c t i c a 11
Composicin de Vdeo
Fi gur a 1
Fi gur a 2
Fi gur a 3

Animacin para la Comunicacin
Prctica 11 [ Pgina 2 de 2 ] Carlos Gonzlez Morcillo http://www.inf-cr.uclm.es/www/cglez cglez@inf-cr.uclm.es
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
parmet ro ( barras deslizant es, et c. . . ) con
est e mt odo. ( d) est formado por t res va-
lores: punt o de comienzo ( en el t iempo ge-
neral de la composicin) , comienzo local del
vdeo ( si lo hemos recort ado por el principio,
ser dist int o de cero) y punt o final. Dando
valores exact os a est os parmet ros, pode-
mos aj ust ar con t ot al precisin las uniones
ent re part es. ( e) permit e desplazarnos por
el t iempo general del vdeo. Encima de ( e) ,
podemos definir at aj os para llegar a cier-
t as part es del vdeo. ( f ) ofrece una previ-
sualizacin del frame act ual. La barra ( g)
define el int ervalo que vamos a generar de
vdeo. Cuando realicemos pruebas, slo ge-
neraremos el int ervalo sobre el que est emos
probando. Cuando queramos generar el v-
deo complet o, haremos BDR sobre ( g) +
Aut o Adj ust Mak e St r i p. Por lt imo, ( h)
ofrece una previsualizacin del result ado
final y un mecanismo para reescalar y des-
plazar los element os que int ervienen en la
composicin.

Cmo gest iona Zwei- St ein los frames clave
y las int erpolaciones? Para est a aplicacin, al
igual que la mayora de edit ores de vdeo,
las int erpolaciones ent re frames clave son
lineales. Por t ant o, los parmet ros cambia-
rn a velocidad const ant e ent re claves defi-
nidas. Para int roducir un frame clave sobre
cualquier parmet ro, bast ar con cambiar el
parmet ro en el frame act ual. Por ej emplo,
si quisiramos int roducir un degradado en la
t ransparencia del primer vdeo, nos iramos
al segundo 0. 0 y cambiaramos el valor del
filt ro Opacit y a 1. Despus, avanzamos un
poco ( por ej emplo, segundo 0. 5) y cambia-
mos el valor a 0. Observamos que aparece
una lnea de represent acin sobre el obj et o
vdeo, que indica la variacin de ese par-
met ro. Los punt os amarillos indican frames
clave. En la vent ana de previsualizacin
t ambin aparecen cuadros amarillos cuando
t enemos un frame clave. Podemos realizar
operaciones bsicas sobre los frames clave
en ( a) y ( b) , accediendo con BDR. Gene-
ramos el vdeo result ado ( delimit ado por la
franj a Make) accediendo a Dest i na-
t i on/ Ex por t / Vi deo f or Wi ndow s * . AVI .
Un codec que da muy buen result ado es el
de I nt el ( I YUV) .

Para t erminar, en la figura 4 se muest ra
el esquema final result ant e del vdeo gene-
rado en est a prct ica.
Fi gur a 4

Especificacin OREj v.0.2
[ Pgina 1 de 4 ] Carlos Gonzlez Morcillo Miguel ngel Laguna Lobato ([cglez|malaguna]@inf-cr.uclm.es)
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
# Objeto OREj: cubo
# Vertices Totales: 8
# Caras Totales: 6
v 1.0000 1.0000 -1.0000
v 1.0000 -1.0000 -1.0000
v -1.0000 -1.0000 -1.0000
v -1.0000 1.0000 -1.0000
v 1.0000 1.0000 1.0000
v 0.9999 -1.0001 1.0000
v -1.0000 -1.0000 1.0000
v -1.0000 1.0000 1.0000
f 4 3 2 1
f 6 7 8 5
f 2 6 5 1
f 3 7 6 2
f 4 8 7 3
f 8 4 1 5
t 0.015625 0.99609375 0.015625 0.51171875 0.5 0.51175 0.5 0.99675
t 1.0 0.99609375 0.51175 0.9921875 0.515625 0.50325 1.00395 0.5075
t 0.515625 0.015625 0.9921875 0.015 0.9921875 0.4925 0.525 0.4875
t 0.4921875 0.00725 0.49605 0.4975 0.0115 0.49675 0.0075 0.011775
t 0.49609375 0.0078125 0.5 0.5 0.00785 0.50390625 0.0035 0.01175
t 0.01175 0.492 0.01171875 0.01171875 0.49215 0.011 0.4925 0.4975
Li st ado 1

st a propuest a de Met aFormat o 3D,
nace con la int encin de ser el punt o
de part ida para quien desee desarro-
llar videoj uegos ut ilizando Blender, part ien-
do de una base slida para la generacin de
Animaciones y Modelos 3D y post eriorment e
ut ilizarlos en la API 3D por excelencia:
OpenGL. A su vez, se pret ende crear un
nexo ent re las asignat uras de Animacin
para la Comunicacin e I nformt ica Grfica
en la Escuela Superior de I nformt ica de
Ciudad Real.

En est a primera versin pblica ( 0. 2) , el
format o almacena la geomet r a del obj et o
y permit e t ext urizado mediant e mapeado
UV ( UV Mapping) . En fut uras especificacio-
nes del format o, se almacenarn movimien-
t os del obj et o ( mediant e punt os clave de la
t rayect oria, descrit os con Splines) , esquele-
t os int ernos y mat eriales asociados. No obs-
t ant e, est a primera versin, t ot alment e fun-
cional, ser compat ible con post eriores
revisiones.

Como sabemos, el mapeado UV consist e en
asignar a cada vrt ice del modelo, una coor-
denada ( ent re 0 y 1) del fichero de t ext uras.
Est o nos permit ir variar la resolucin de la
t ext ura de forma dinmica, sin t ener que
variar la informacin del mapeado. De est a
forma, si est amos t rabaj ando con una t arj e-
t a grfica poco pot ent e, podremos t ener una
t ext ura, por ej emplo, de 256x256 pxeles. Si
t enemos un hardware
mej or, podramos
t rabaj ar con la t ext u-
ra a mayor resolucin
( 512 x 512, 1024 x
1024. . . ) .

Recordemos que
Bl ender no pone
ninguna r est r i cci n
a la hora de t rabaj ar
con t amaos de
t ex t ur as, mient ras
que OpenGL r equi e-
r e t ext uras cuyas
dimensiones sean de
la forma 2
n
px el es.
As pues, en Blender
nos adapt aremos a
ut ilizar t ext uras con
est as dimensiones.

Un ej emplo de fichero en format o OREj , lo
podemos ver en el list ado 1. Los coment a-
rios comienzan con # . La descripcin de los
vrt ices ( que irn seguidos, en el mismo
bloque) , comenzarn con la let ra v y a
cont inuacin sus coordenadas x, y, z relat i-
vas al cent ro del obj et o. A cont inuacin irn
las caras del obj et o ( de cualquier nmero de
vrt ices, siempre superior a 3) , que comen-
zarn con la let ra f , seguido de los ndices
de los vrt ices descrit os ant eriorment e. Por
ej emplo, f 4 3 2 1 definir una cara forma-
da por los vrt ices nmero 4, 3, 2 y 1. Re-
cordemos que el orden en que se dan los
vrt ices es import ant e a la hora de calcular
el vect or normal.
El orden es t al y como ser necesario en
OpenGL; el vect or normal saliendo hacia
afuera, si describimos los vrt ices en cont ra
del giro de las aguj as del reloj . Por lt imo
t enemos la part e de descripcin de coorde-
nadas de t ext ura UV ( comenzando con la
let ra t ) . Hay dos coordenadas por cada
vrt ice ( la primera corresponde al parmet ro
U y la segunda al V) . El orden en que apare-
cen las coordenadas de t ext ura ( t ) es el
mismo que el orden en que aparecieron las
caras ( f) . As, en el ej emplo del List ado 1:
Para el primer vrt ice ( 4) de la primera cara
t enemos que su component e U vale 0. 015 y
la component e V vale 0. 996.
E
Espec i f i c ac i n OREj v.0.2
Formato de Intercambio Blender - OpenGL
t 0.015625 0.99609375 0.015625 0.51171875

f 4 3

Especificacin OREj v.0.2
[ Pgina 2 de 4 ] Carlos Gonzlez Morcillo Miguel ngel Laguna Lobato ([cglez|malaguna]@inf-cr.uclm.es)
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
Desarrollo en Blender

El proceso bsico es el mismo
que se explic en la segunda
part e de la prct ica 4 de Ani-
macin para la Comunicacin.
Recordaremos que, una vez
t engamos la geomet ra cons-
t ruida, pasaremos a t ext urizar
el modelo con UV Mapping. Di-
vidiremos la pant alla y en una
part e cargaremos el fichero de
t ext uras ( vent ana de t ipo ) .
Una vez cargada la imagen,
asignaremos a cada cara del
modelo una porcin de la t ext u-
ra. Para ello, pulsaremos la
t ecla F e iremos al modo de
seleccin de caras. El
modelo aparecer en
color blanco. Selec-
cionaremos una cara ( o un con-
j unt o de ellas) y pulsaremos la
t ecla U , iremos a UVCal cu-
l at i on y seleccionaremos
Fr om Wi ndow . Aj ust aremos
los vrt ices de la cara hast a
que est n sit uados correct a-
ment e en la t ext ura. Para ver el
result ado, act ivaremos el modo
de sombreado det allado en la
vent ana 3D. En la figura 1 po-
demos ver un ej emplo de un
cubo t ext urizado ut ilizando est a
t cnica.

Como t enemos int encin de
export ar el modelo para t raba-
j ar en t iempo real con l, deberemos cuidar
el nmero de polgonos que lo forman. Es de
gran ut ilidad la herramient a de disminucin
de nmero de polgonos de Blender. Acce-
demos a ella con los bot ones de
edicin ( F9) . Podemos disminuir
el nmero de t ringulos con la barra desli-
zant e. En la vent ana 3D aparecer el modelo
con la prdida de det alle que t enemos.
Cuando el result ado sea adecuado, pincha-
remos en Apply.

Cuando t engamos el modelo t erminado, car-
garemos el Script , realizado en Pyt hon, que
se muest ra en el List ado 2. Est e script nos
permit e export ar el obj et o a format o OREj .
Para cargarlo, cambiaremos una vent ana a
t ipo t ext o y pincharemos en el bot n con
un guin + Open New . Cambiaremos la
variable PATH del Script con la rut a com-
plet a donde queremos que se guarde el fi-
chero . orj . El fichero se guardar con el
mismo nombre que t enga el obj et o en Blen-
der.
import Blender
import math, sys
from Blender import NMesh, Object
from math import *

PATH ="c:/" # La ruta donde se salvara el OREj

object = Object.GetSelected()
objname = object[0].name
meshname = object[0].data.name
mesh = NMesh.GetRaw(meshname)

filename = PATH + objname + ".orj"
file = open(filename, "w")
std = sys.stdout # Asociamos stdout al fichero .orj
sys.stdout = file

print "# Objeto OREj:", objname
print "# Vertices Totales:", len(mesh.verts)
print "# Caras Totales:", len(mesh.faces)

# Escribimos toda la lista de vertices (v x y z)
for vertex in mesh.verts:
x, y, z = vertex.co
print "v %f %f %f" % (x, y, z)
# Escribimos toda la lista de caras (f v1 v2 v3 ...)
for face in mesh.faces:
print "f",
face.v.reverse() # Invertimos las normales
for vertex in face.v:
print vertex.index + 1,
print
# Lista de parametros uv de cada cara (t u1 v1 u2 v2...)
for face in mesh.faces:
nvertex = 0
face.v.reverse()
print "t",
for vertex in face.v:
print face.uv[nvertex][0], face.uv[nvertex][1],
nvertex = nvertex + 1
print

sys.stdout = std
file.close()

print "Fichero salvado:", filename
Li st ado 2
Fi gur a 1

Especificacin OREj v.0.2
[ Pgina 3 de 4 ] Carlos Gonzlez Morcillo Miguel ngel Laguna Lobato ([cglez|malaguna]@inf-cr.uclm.es)
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha
Ej ecut aremos el Script con el obj et o que
queramos export ar seleccionado y, sit un-
donos en la vent ana de t ext o, pulsaremos
Al t + P. En la vent ana de MS- DOS de Blender
aparecer un mensaj e como el siguient e:
Fichero salvado: c:/cubo.orj
Las t ext uras que ut ilizaremos en el progra-
ma de ej emplo de OpenGL est arn en for-
mat o RAW ( con 24 bit s de color) . Est a pri-
mera versin del programa requiere que las
t ext uras se guarden invert idas ( la part e su-
perior abaj o) , po result ar ms cmodo a la
hora de t rabaj ar en OpenGL. Se podra rot ar
la t ext ura en OpenGL, pero result a ms efi-
cient e guardarla ya rot ada ( y nos evit amos
ese paso en cdigo) .


Desarrollo en OpenGL

Una vez se t ienen los archivos . orj y . raw se
puede realizar un programa que haciendo
uso de la librera OpenGl despliegue los ob-
j et os descrit os con UVMapping como mallas
de polgonos.

Para dicha t area es necesario crear las es-
t ruct uras necesarias en memoria que alber-
guen las caras del obj et o y las coordenadas
UVMapping de cada cara respect o de la t ex-
t ura.
Est o se puede realizar de muy diferent es
maneras, a priori la ms adecuada parece
ser aquella que mant enga la informacin de
los vrt ices separada de la informacin de
las caras, ya que de est a manera se evit an
duplicidades innecesarias y es mas fcil rea-
lizar un anlisis de consist encia.

Se ent rega una librera denominada OREj en
su versin 0. 2 ( vamos casi ni ha nacido an)
que implement a las est ruct uras de memoria
y los mecanismos necesarios para el des-
pliegue de dichos obj et os.

La librera ofrece una int erfaz consist ent e de
un t ipo de dat os y t res funciones. La est ruc-
t ura de dat os Or j Obj et o es la que permit e
manej ar la informacin del obj et o, en ella se
cont ienen ot ras est ruct uras que guardan la
informacin de la t ext ura, los vrt ices y las
caras del obj et o con los valores UVMapping.
Est as est ruct uras est n definidas en el ar-
chivo orej.h ( ver List ado 3) .

Las funciones son t res:
car gar Obj et o: se le pasa como parme-
t ro un punt ero a obj et o vlido y el fichero
que cont iene la descripcin del obj et o a
represent ar. Si el fichero cont iene errores
los not ificar y abort ar la ej ecucin del
programa.
car gar Tex t ur a: idem a la ant erior carga y
asocia una t ext ura al obj et o indicado.
despl egar Obj et o: se le pasa como argu-
ment o un punt ero a obj et o vlido que ya
haya sido cargado ( t ext ura y modelo) y
despliega el obj et o en el origen de
coordenadas act ual.
Fi gur a 2
#include <GL/gl.h>
#include <GL/glu.h>
#include <stdlib.h>
#include <stdio.h>

#define MAXPUTOS 5000
#define MAXLINEA 200

typedef struct{
float x;
float y;
float z;
}OrjVertice;

typedef struct{
int v1; float uv1, vv1;
int v2; float uv2, vv2;
int v3; float uv3, vv3;
int v4; float uv4, vv4;
}OrjCara;

typedef struct{
GLuint textura;
OrjCara caras[MAXPUTOS];
OrjVertice vertices[MAXPUTOS];
int ncaras;
int nvertices;
}OrjObjeto;

void cargarTextura(OrjObjeto *obj,
int ancho,
int alto,
const char *ruta);
void cargarObjeto(OrjObjeto *obj,
const char *ruta);
void desplegarObjeto(const OrjObjeto *obj);
Li st ado 3

Especificacin OREj v.0.2
[ Pgina 4 de 4 ] Carlos Gonzlez Morcillo Miguel ngel Laguna Lobato ([cglez|malaguna]@inf-cr.uclm.es)
Escuela Superior de Informtica de Ciudad Real Universidad de Castilla-La Mancha

Se acompaa un proyect o
en el lenguaj e C formado
de 3 archivos: orej.h,
orej.c ( ver en list ado 4
un fragment o de la
librera) y un main a modo
de ej emplo de cmo usar
las primit ivas ofrecidas por
est a librera. La salida por
pant alla del programa de
ej emplo puede verse en la
Figura 2.

En un fut uro se desea
incluir mas primit ivas que
permit an la animacin de
los obj et os OREj mediant e
Splines as como la
const ant e mej ora de est a
librera que dado su
embrionario est ado no se
puede asegurar su est abi-
lidad en t odos los ent ornos
ni su correct o
funcionamient o, salvo de
moment o en la plat aforma
Win32 en la que ha sido
probada.

Para su uso no es
necesario edit ar los archi-
vos orej.h ni orej.c t an
solo incluir el . h en los
archivos necesarios y
enlazar el result ado con el
archivo orej.o para resol-
ver las dependencias.
#include "orej.h"

void cargarTextura(OrjObjeto *obj, int ancho, int alto,
const char *ruta){
GLubyte *imagen;
FILE *fich;
int i, j, c;

if(obj==NULL) return;
/* Reserva para la imagen */
if(!(imagen = malloc(ancho*alto*3*sizeof(GLubyte)))){
printf("no hay memoria para la textura\n");
exit(-1);
}
if(!(fich = fopen (ruta, "rb"))){
printf("no se encuentra el archivo %s\n", ruta);
exit(-1);
}
/* Lectura de la imagen */
fread(imagen, ancho * alto * 3, 1, fich);
/* Asociar la imagen */
glGenTextures(1, &(obj->textura));
glPixelStorei(GL_UNPACK_ALIGNMENT,1);
glBindTexture(GL_TEXTURE_2D, obj->textura);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, ancho, alto, 0, GL_RGB,
GL_UNSIGNED_BYTE, imagen);
/* Liberar recursos */
fclose (fich);
free(imagen);
}

void cargarObjeto(OrjObjeto *obj, const char *ruta){
int i=0, linea=0;
char cadaux[MAXLINEA];
float a,b,c,d,e,f,g,h;
FILE *fich;

if(obj==NULL) return;
if(!(fich = fopen (ruta, "r"))){
printf("no se encuentra el archivo %s\n", ruta);
exit(-1);
}

while (fgets(cadaux, MAXLINEA, fich)!=NULL){
linea++;
switch(cadaux[0]){
case '#': break;
case 'v': sscanf(&cadaux[2],
"%f %f %f",
&obj->vertices[obj->nvertices].x,
&obj->vertices[obj->nvertices].y,
&obj->vertices[obj->nvertices].z);
obj->nvertices++;
break;
case 'f': a = b = c = d = -1;
sscanf(&cadaux[2], "%f %f %f %f",
&a, &b, &c, &d);
obj->caras[obj->ncaras].v1 = (int) --a;
obj->caras[obj->ncaras].v2 = (int) --b;
obj->caras[obj->ncaras].v3 = (int) --c;
obj->caras[obj->ncaras].v4 = (int) --d;
obj->ncaras++;

if(a<0 || b<0 || c<0){
printf("Error de formato en '%s', linea:
'%d'\n", ruta, linea);
printf("Cara '%d' un vertice es invali
do\n", obj->ncaras-1);
exit(-1);
}
break;
case 't': a = b = c = d = e = f = g = h = -1;
if(i>obj->ncaras){
printf("Error %s', linea: '%d'\n", ruta, linea);
printf("valor uv no asociado a cara\n");
exit(-1);
}
sscanf(&cadaux[2],
"%f %f %f %f %f %f %f %f",
&a, &b, &c, &d, &e, &f, &g, &h);
obj->caras[i].uv1 = a;
obj->caras[i].vv1 = b;
obj->caras[i].uv2 = c;
obj->caras[i].vv2 = d;
obj->caras[i].uv3 = e;
obj->caras[i].vv3 = f;
obj->caras[i].uv4 = g;
obj->caras[i].vv4 = h;

if(obj->caras[i].v4>0 && (g<0 || h<0)){
printf("Error '%s', linea: '%d'\n", ruta, linea);
printf("Cara '%d' valor uv invalido\n", i);
exit(-1);
}
if(a<0 || b<0 || c<0 || d<0 || e<0 || f<0){
printf("Error '%s', linea: '%d'\n", ruta, linea);
printf("Cara '%d' valor uv invalido\n", i);
exit(-1);
}
i++;
break;
}
}
fclose (fich);
}

Li st ado 4

También podría gustarte