Instruction manuals, Manual, y 3D">
Aprende Blender en 24 Horas
Aprende Blender en 24 Horas
Aprende Blender en 24 Horas
en 24 horas
n
lender e
g e n e ral y de B ficos 3D
rá
Libre en de los g es
llo d e l Software s y entusiastas y funcionalidad d
d e sa rr o s io n ale s ti c a s c a n tid a
el ritm o de io n a do s, profe on caracterí re h a c e r gran
c
rendente eses afi rsión c revisar y
Es sorp Cada pocos m na nueva ve ga a tener que
la r. u b li
particu tar de ente, eso me o ión de lo
s
s disfru c recopilac impartida
podemo ntes. Como do ñ os . :- ) a d u n a
e los a alid ción
sorprend al docente todos ) es en re omunica urso
m a te ri e n tu pantalla ación para la C Mancha en el c ron
de n o s (o A n im ll a-L a e fu e
tus ma natura e Casti tos qu
q u e tienes en dos para la asig Universidad d texto a concep n la Wikipedia
Este libro prácticos realiza Informática de la rencias en el ogle o e
s fe a en Go
tutoriale uela Superior de encuentres re ue una búsqued
c te q
en la Es 6. Probablemen óricas... Nada s razón.
0
2005/20 s en las clases
te
n re a lid ad tiene tulado
.e e ti
o
explicad n arreglar. mentira.. po. Lo h
da te h a parecido n tan poco tiem prácticas en la
no pue s” se e que
n 24 hora rramienta horas d l tiempo
d e “A prende e er a usar las he o más de 20 a” para casa. E previa, tu
titulo rend poc “tare cia
Si el sub . No podrás ap ente teníamos os se llevaban za, tu experien ctica. Puedes
e ntira d a m lu m n es tr e p rá
Es m
ue apro
xim a
e en que
los a
ende de
tu d
ó 60 ho
ras d e toriales
así porq . Eso se traduc tutoriales dep enos serán 50 la m u ltitud de tu
ra s m er y con
asignatu rá realizar esto ... pero por lo oficial de Blend
u e ri , e tc u a l
te req ión 3D el man . Puede
s
d de vis tos con mons 2.5 mirror),
capacida los conocimien ati ve C o m n
r
completa en la red. ncia Cre hagas u ces
te n te s L ib re bajo lice gradeceré que mismo, no reali s
exis lib ro e s we b (a u to r d el es en tu
a ñ o s , este a tu p ágina b re s c o mo a e q ue lo us
s d
que otro subirlo me nom antado
Al igual onde quieras, ... Siempre que nte, estaré enc
o d , e tc o c e
copiarl lo a tu vecino eres d de imag
en
e das. Si síntesis migo en
regalárs vadas o lo ven xperiencia. nd o d e la
co n
eri
obras d e comentes la
e en el mu ontacta
se s y m n tu a p rendizaje comentario, c
cla co n
disfruta es algú
u n saludo y utador. Si tien lending!
Y nada
m ás ,
or comp Happy B
l p
siona s.
tridimen nzalez@uclm.e
rl o s.G o
Ca
Sesión 01: In
tro
Sesión 02: O ducción al Interfaz
peradores de
Sesión 03: Té Modelado Bás
cn
Sesión 04: M icas de Modelado Avanz ico
od ado
Sesión 05: M elado de un Personaje
ateriales y Te
Sesión 06: A xturas
ni
Sesión 07: A mación Básica
nimación Jerá
Sesión 08: A rquica
ni
Sesión 09: Es mación basada en Esque
queletos Avan letos
Sesión 10: R
enderizado R zados + Adenda
Sesión 11: An ea
imación No Li lista
neal
LICENCIA:
22 Febrero 2006
(Carlos.Gonzalez@uclm.es)
E
l interfaz que presenta Blender al arrancar es el Antes de empezar a trabajar, personalizaremos el entorno
mostrado en la Figura 1. Todas las ventanas de de Blender. Dividiremos la ventana 3D con la distribución
Blender son personalizables, de tal forma que que se muestra en la Figura 3. Para ello, nos situaremos
podemos dividir la pantalla como nos resulte más cómodo y con el ratón en la zona de división de dos ventanas (por
situar en cada porción el tipo de ventana que queramos. ejemplo, entre la zona de división entre la ventana 3D y la
Además, las órdenes sobre el interfaz de usuario son ventana de Botones) y con la ventana 3D iluminada
coherentes (si una combinación sirve para desplazar los (seleccionada), haremos y elegiremos Split Area.
elementos de la ventana 3D, hará lo mismo sobre una Partiremos la pantalla hasta conseguir una disposición del
ventana de botones o de texto). área de trabajo como se muestra en la Figura 3. Podemos
eliminar las cabeceras, así como situarlas en la parte
superior de las ventanas haciendo sobre ellas y
seleccionando No Header.
Figura 1
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 1 [Página 1 de 2]
Por defecto, las transformaciones básicas son
dependientes del punto de vista (es decir, si rotamos
un objeto desde la vista en perfil, rotaremos desde un
eje. Si lo realizamos desde la vista en planta, desde
otro diferente). En las vistas de planta, alzado y perfil
podemos ver un pequeño eje de coordenadas
cartesianas en la parte inferior izquierda de cada
ventana 3D.
Estas operaciones pueden realizarse también empleando El Render se realiza a través del botón del grupo de Escena
manipuladores 3D. Se activan pinchando en el icono (también mediante la tecla µ), Render Buttons , y
situado en la cabecera 3D de la ventana. Una vez activado, pinchando en el botón marrón de RENDER o bien con el
elegimos el tipo de transformación (traslación , rotación atajo de teclado ·... ¿Por qué no sale nada?. No hemos
o escalado ) y si queremos que se realicen respecto iluminado la escena. Ocultaremos la ventana de render
del sistema de referencia global, local o perpendicular a la pulsando ¶. Añadiremos una luz de tipo Spot en la posición
vista. Aparecerán sobre el objeto unos ejes que podemos que muestra la Figura5. Es importante direccionar bien este
desplazar mediante . tipo de lámpara, ya que la escena será iluminada en el área
que abarca el foco. Para añadir el foco, situaremos el cursor
Las operaciones anteriores, permiten el uso de ciertos 3D en la posición adecuada. Añadiremos la luz mediante
modificadores para conseguir mayor precisión en la orden a Î Add/ Lamp/ Spot. Cambiaremos la intensidad del
realizar. Podemos ejecutar estos modificadores mientras foco con el botón de gestión de lámparas del grupo de
transformamos el objeto con una operación de rotación, sombreado (o pulsando °). Aumentamos el valor de
escalado o traslación: energía a 1.5. Orientamos el foco para que apunte
correctamente al objeto (utilizando la rotación R).
• Limitación del eje: Si mientras
realizamos la transformación, pul- Renderizamos y si el resultado es similar al
samos la tecla X, Y o Z, estamos mostrado en la Figura 6, guardamos la imagen
limitando la transformación a que pulsando ®. El formato de la imagen que
se realice en un único eje. La salvaremos se selecciona en el apartado del
primera vez que pulsemos la tecla botón de render , dentro de la pestaña
forzaremos a que la transformación Format. Elegiremos, por ejemplo, JPG
se realice sobre el eje correspon- conservando la calidad de la imagen en un
diente al Sistema de Referencia valor alto (Quality entre 80-95). Es necesario
Global, y si pulsamos una segunda indicar la extensión de forma explícita en la
vez lo limitamos sobre el sistema imagen que guardemos desde Blender (por
de referencia local del objeto. Figura 6 ejemplo “resultado.jpg”.
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 1 [Página 2 de 2]
2
Carlos González Morcillo
29 Febrero 2006
PRÁCTICA (Carlos.Gonzalez@uclm.es)
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 2 [Página 1 de 3]
Pasaremos a realizar una Vamos a renderizar la escena. Situaremos la cámara para
extrusión sobre la curva para obtener una vista como la que se muestra en la figura 7.
obtener el modelo 3D. Añadiremos un foco de iluminación de tipo Spot. Para ello,
Rotaremos la vista para tener pulsamos Î Add/ Lamp/ Spot. Orientamos el foco
un ángulo mejor a la hora de para que apunte al logo 3D, rotándolo con ayuda de las
ver la operación realizada. vistas superior, frontal y lateral. La situación del foco
Elegimos en modo de deberá ser similar a la mostrada en la figura 7. Probamos a
selección de objeto, cambia- renderizar la escena ·. Si el objeto sale muy oscuro,
mos los valores de extrusión podemos ajustar la intensidad del foco en los botones de
y redondeado tal y como se foco ¯, en el campo Energy a un valor superior.
muestra en la figura 4. Este Ajustaremos las opciones de renderizado como se indica en
panel se encuentra dentro de la figura 8.
los botones de edición Figura 7
(dentro del grupo Curve and
Surface). Podemos cambiar
los valores en los botones de
inserción, pinchando y arras-
trando sobre ellos, o bien
mantiendo pulsada la tecla
§ y haciendo sobre Figura 4
ellos.
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 2 [Página 2 de 3]
Figura 9 Figura 10 Figura 12
Guardamos la imagen como solido.tga. Salvamos también Selección de brocha (figura 15), pinchamos para seleccionar
el fichero de blender y cambiamos el material. Nos vamos una redonda que tenga un radio grande (por ejemplo,
al menú de materiales y asegurándonos que estamos Circle Fuzzy 19).
trabajando con MA:UCLMRojo, cambiamos el color del
material en las tres componentes (R,G,B) a 0.300. Además, Ajustamos la opacidad de la
activamos el botón de Wire (situado en el centro). goma (en la ventana de
Renderizamos de nuevo la escena; debemos obtener un opciones de herramienta) a
resultado similar al de la figura 12. Sin haber cambiado 25 aproximadamente.
ninguna opción de renderizado, ni la posición de la cámara, Hecho esto, borramos una
guardamos la imagen resultante como alambre.tga. parte de la capa sólido (la
derecha, por ejemplo).
Hacemos otra pasada consi-
guiendo un efecto de
degradado, como se mues-
tra en el resultado final.
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 2 [Página 3 de 3]
3
Carlos González Morcillo
PRÁCTICA
07 Marzo 2006
(Carlos.Gonzalez@uclm.es)
U
na técnica muy empleada en modelado convertiremos en una única superficie NURBS. Empleando
tridimensional es la rotoscopia. Partimos de las 3 vistas anteriores, añadimos a la escena una superficie
fotografías o bocetos del objeto a modelar desde curva NURBS (Î, Add/ Surface/ NURBS Curve). Du-
diferentes puntos de vista y los utilizamos como plantilla plicamos la curva mediante §D 4 veces y situamos los
para construir el objeto 3D. El objeto de esta práctica lo puntos de control, escalando las curvas duplicadas para
construiremos empleando esta técnica. Dividimos el interfaz definir el contorno como se muestra en la figura 3.
de Blender tal y como se muestra en la figura 1, y ¡Cuidado!, no añadir mediante Add/ Curve/ NURBS
cargamos como imagen de fondo de cada ventana una Curve, ya que queremos definir posteriormente una
fotografía de la plancha a modelar. Cargamos una imagen superficie.
de fondo en una ventana 3D desde la cabecera de la
ventana, en View/ Background Image. Es importante
cargar en cada vista el fichero adecuado; en la vista del aa Importante: Blender permite utilizar dos modos
de duplicado; uno en el que se duplica el objeto,
plano ZX cargamos Lateral.jpg, en la vista ZY la imagen
obteniendo una copia independiente del original (se
Frontal.jpg y en la vista YX el fichero Planta.jpg.
realiza mediante §D), y otro modo en el que los
objetos duplicados comparten las propiedades como la
malla poligonal, materiales, etc... En este segundo modo
(pulsando ¥D), si realizamos un cambio en la malla de
uno de los objetos dupicados, todos sufrirán el cambio.
Figura 3
Figura 1
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 3 [Página 1 de 5]
Podemos ajustar algunos parámetros de la superficie Blender permite trabajar en modo de edición de objeto a
generada (figura 4). En los botones de edición , podemos nivel de vértice, arista y cara. Indicamos en qué nivel
definir el orden de la curva (Order U,V) en la queremos trabajar en la cabecera de una ventana 3D.
representación paramétrica U, V. El orden es la profundidad Cuando estamos en modo de edición de objeto, aparecen 3
de cálculo de la curva. Si tenemos orden 1 trabajamos con iconos (ver figura 8), correspondientes al modo de vértice,
un punto, orden 2 es lineal, 3 es cuadrático... También se aristas y cara. Por ejemplo, para escalar y rotar las caras
puede definir la resolución (Resol U,V); el número de del cubo insertado de la figura 7 hemos trabajado a nivel de
puntos interpolados entre cada par de puntos de control de cara.
la superficie. Figura 9
Figura 5
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 3 [Página 2 de 5]
Figura 11
(ver figura 11). Las caras añadidas no suavizan el modelo; plancha. Salimos del modo de edición de objeto º y
únicamente incorporan un mayor nivel de detalle. Para convertimos la superficie a malla ¥C (Convert Curve to
suavizar la forma pinchamos sucesivas veces sobre el botón Mesh).
Smooth (situado en el mismo grupo que Subdivide), hasta Figura 13
conseguir un resultado similar al de la figura 11.
Operaciones Booleanas Con esto, obtenemos una base con los agujeros realizados.
Podemos eliminar los objetos originales, o moverlos a otra
Añadimos una curva de Bezier (Î Add/ Curve/ Bezier parte de la escena donde no molesten.
Curve), que convertimos a Polígono mediante el botón Poly
del panel Curve Tools de los botones de edición. Ajustamos Nota: Algunas veces la conversión de superficies
los puntos de control, y convertimos de nuevo a Bezier, curvas a mallas poligonales no se realiza de
para obtener un contorno como el mostrado en la figura 13. forma consistente y produce un fallo en el uso de
operadores booleanos (diciendo que “ambas mallas
Ajustamos los parámetros de extrusión de la curva (como
tienen que ser objetos cerrados”). Podemos arreglar esta
hicimos en la práctica de la sesión anterior) como se
inconsistencia seleccionando el objeto convertido de
muestra en la figura 13. Esto nos dará la base de la
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 3 [Página 3 de 5]
superficie curva, entrando en modo de edición de vértices 3D), seleccionamos todos los vértices A. Situamos el
º, seleccionamos todos los vértices A y pinchamos en puntero 3D del ratón en la posición del eje donde
el botón Rem Doubles (ver figura 11). El parámetro de queremos realizar la revolución. Como se muestra en la
Limit situado a su derecha nos indica la separación figura 17, el eje está situado en el extremo derecho de la
máxima entre vértices para que éstos sean considerados silueta.
como duplicados. Hecho esto, el programa nos indica el Figura 17
número de vértices que ha eliminado y seguramente se
haya arreglado la inconsistencia en la malla poligonal. Si
aún así la malla no forma una superficie cerrada,
podemos intentar aumentar el valor del parámetro Limit.
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 3 [Página 4 de 5]
(ver figura 19), elegimos el número de pasos de revolución Separación de mallas
(en este caso Steps es 10), y los grados (igual que antes,
Degr 360). pinchamos en el botón SpinDup. Para el compartimento frontal, hemos duplicado y separado
Figura 19 parte de la malla original del asa. En modo de edición de
objeto, y con selección de caras, seleccionamos el grupo de
caras que se indica en la figura 21. Con las caras
seleccionadas, las duplicamos con §D. Como hemos
añadido nuevas caras en modo de edición de objeto, estas
caras forman parte del mismo objeto. Queremos que
formen un objeto independiente que podamos rotar y
manejar más cómodamente. Para ello, con las caras aún
seleccionadas, pulsamos P Separate/ Selected.
Figura 21
Figura 22
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 3 [Página 5 de 5]
4
Carlos González Morcillo
PRÁCTICA
15 Marzo 2006
(Carlos.Gonzalez@uclm.es)
Modelado de un Personaje
Animación para la Comunicación · Escuela Superior de Informática · Universidad de Castilla-La Mancha
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 4 [Página 1 de 4]
Figura 8
de la derecha tienen representación sólida mientras que la
frontal utiliza wireframe. Partiendo del cubo, seleccionando
la cara superior hemos realizado 4 extrusiones. Se ha
cambiado entre modo de trabajo a nivel de caras y aristas
(seleccionándolo en la cabecera de la ventana 3D, ver
figura 5) para ir ajustando la posición de las aristas para
que la superficie se ajuste a los contornos que muestra la
figura 4. Es fundamental tener presente las caras de las que
vamos a realizar próximas extrusiones (por ejemplo, los
laterales de la última extrusión superior servirán para sacar
los brazos).
Figura 6
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 4 [Página 2 de 4]
Figura 15
Figura 12
Cuando terminemos una bota, podemos duplicarla con Aquí se comprueba claramente que ha quedado un polígono
efecto de espejo (para que siga la forma del otro pie) específico para la boca, que además se podrá manejar muy
cómodamente con las 4 aristas que la definen. Para realizar
mediante §D para duplicar y Î Transform/ Mirror/
la cavidad de la boca, bastará con extruir hacia el interior y
XYZ Local. Son ejes locales al objeto, por lo que
ajustar las aristas para completar la forma que se muestra
deberemos activar la visualización del sistema de
en la figura 16.
coordenadas local a la bota (en los botones de objeto, el Figura 16
botón Axis, situado en la pestaña Draw, dentro del grupo
Draw Extra). En el ejemplo de la práctica se ha realizado
el mirror respecto del eje Z (figura 13).
Modelado de la cabeza
Hemos comentado anteriormente la importancia en el
modelado de las articulaciones y músculos que tendrá el
personaje. También hay que pensar en facilitar el modelado
de todos los elementos del personaje. Por ejemplo, la figura
14 es un claro ejemplo de lo que no se debe hacer. Nos
hemos centrado en crear la forma de la cabeza con el
menor número de polígonos posibles (lo cual en general es
bueno), pero nos dificulta mucho ahora la creación de la
boca.
Figura 14 Figura 17
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 4 [Página 3 de 4]
Los materiales que forman las
piezas del ojo son muy
sencillos. El iris utilizará una
textura de imagen sin propie-
dades especiales. La córnea
será transparente y tendrá un
pequeño IOR para hacer efecto
lente. Las propiedades de la
córnea pueden verse en la
figura 21. Veremos el trabajo
con materiales en profundidad
en la siguiente sesión de
prácticas.
Figura 22
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 4 [Página 4 de 4]
5
Carlos González Morcillo
PRÁCTICA
22 Marzo 2006
(Carlos.Gonzalez@uclm.es)
Materiales y Texturas
Animación para la Comunicación · Escuela Superior de Informática · Universidad de Castilla-La Mancha
V
amos a comenzar modelando los elementos de la guramos los parámetros de revolución, indicando que
escena a los que después aplicaremos materiales y vamos a realizar el giro de 360º, con 30 pasos intermedios
texturas. Vamos a modelar una escena como la que (ver figura 2). Debemos obtener un modelo como se
se muestra en la figura 1. En esta escena, la base de los muestra en la figura 3. En este modelo existe un problema,
botes de spray han sido modelados mediante superficies de y es que hay una columna de vértices que están duplicados
subdivisión. La cadena ha sido realizada mediante una (el contorno original y el último paso de revolución
técnica avanzada de modelado, basada en IPOs de coinciden en la misma posición). Para eliminar vértices
animación, y algunos elementos de relieve (como las estrías repetidos, en modo de edición de vértices º, los seleccio-
de la tapa del bote de pintura) han sido realizados mediante namos todos A y establecemos un valor pequeño de la
bump mapping. variable Limit situada al lado del botón RemDoubles. Esta
Figura 2 variable nos indica qué distancia vamos a considerar la que
nos distinga vértices. Si indicamos un valor grande, Blender
eliminará más vértices que considerará repetidos. Con el
valor de 0.01 en Limit y todos los vértices del modelo
seleccionados, pinchamos en RemDoubles y Blender nos
indicará el número de vértices eliminados (los
correspondientes a la columna de vértices repetidos).
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 5 [Página 1 de 6]
Ajustando Materiales
Añadimos dos planos a la escena que servirán como
suelo y como pared. Vamos a explicar algunas
propiedades de los materiales, dentro de los botones
Shading / Material :
Figura 7
• La primera lista
desplegable per-
mite elegir el tipo
de sombreado di-
fuso. El paráme-
tro principal y
compartido entre
todos los méto-
dos es la cantidad
Para importar un objeto que está en otro archivo, vamos al de Reflexión de
menú File / Append... Seleccionamos con el fichero luz Ref de la su-
“cadena.blend”, y entramos en la categoría Object. Ahí, perficie).
podemos seleccionar con todos los objetos que sean • La segunda lista
necesarios (en nuestro caso sólo elegiremos el objeto desplegable permite elegir el método de sombreado
“cadena”. Con el objeto seleccionado (figura 5), pinchamos especular. Según el método permitirá un conjunto de
en el botón Load Library. Podemos importar de otros parámetros; aunque seguro que tenemos Spec:
ficheros prácticamente cualquier dato del DNA (formato de Cantidad de brillo especular y Hard dureza del brillo.
ficheros interno de Blender). Bastará con acceder a la Puede comprobarse en la ventana de previsualización
categoría correspondiente (o importar todos los objetos de cómo afectan estas propiedades al material.
una categoría seleccionando el nombre de la categoría). • Translucency: Cantidad de reflexión difusa en la cara
posterior del objeto.
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 5 [Página 2 de 6]
• Amb: Cantidad de color ambiental que se aplica. Este 3D. Por defecto, vamos a trabajar con las coordenadas
color se indica en las propiedades del mundo. originales del objeto Orco.
• Emit: Cantidad de luz emitida por el objeto.
• Traceable: Si está activo, el material arroja sombras. El grupo de botones inferior indican la forma en la que las
coordenadas de textura 3D se proyectarán en 2D; emplean-
• Shadbuf: Si está activo, el material recibe sombras con
do un tipo de mapeado plano (Flat), cúbico (Cube), esféri-
Shadow Buffer.
co (Sphe) o cilíndrico (Tube).
• Shadow: Si está activo, el material recibe sombras.
• TraShadow: Si está activo, el material recibe sombras Los botones inferiores con etiquetas XYZ indican las nuevas
semitransparentes. coordenadas XYZ sobre las que se aplicará la textura.
• Radio: El material está activo para el cálculo de Normalmente, cada coordenada es mapeada con su análoga
radiosidad. en XYZ (tal y como muestra la figura 15), pero podemos
cambiar este mapeado, según las coordenadas de textura.
Pestaña Mirror Transp (figura 8). Si activamos el primer
botón sin etiqueta, desac-
Útil si se utiliza renderi- tivamos el mapeado en
zado mediante trazado esa coordenada.
de rayos (en las propie-
dades de renderizado, Los botones de la zona
habrá que activar el bo- derecha permiten especifi-
tón Ray). car traslaciones adiciona-
les en las coordenadas de
Si activamos el botón la textura (un offset), y
RayMirror, el material un valor de escalado extra
se comportará como un en la textura (size). Figura 11
espejo: Figura 8
Petaña MapTo (figura 11):
• RayMirr: Indica la cantidad de reflexión de la luz.
• Depth: La profundidad de rebotes en el trazado de La primera fila de botones indican las propiedades sobre las
rayos (en este caso, 2). que va a actuar la textura; algunas de estas propiedades
son:
Si activamos el botón RayTransp, el material será
transparente; además habrá que bajar el parámetro alpha • Col: La textura afecta al color básico del material, según
por debajo de 1). el factor indicado en la caja deslizante Col, y el valor de
mapeado (la caja de selección superior).
• IOR: Índice de refracción; mide la diferencia de Mix: el color de la textura se mezcla con el valor del
densidad entre superficies. material.
• Depth: Profundidad de rebotes de luz. Multiply: el color de la textura multiplica al valor del
material.
Si empleamos el motor de render Yafray, las propiedades
mostradas en este panel cambiarán. Veremos cómo utilizar En caso de ser una textura procedural y no de imagen, el
Yafray como motor de render en próximas sesiones de valor de color se indica en la caja situada encima de los
prácticas. selectores de color RGB.
Pestaña Texture (figura 9). • Nor: La textura afecta al vector normal. Puede ser un
valor positivo o negativo (es un botón de tres estados).
Permite gestionar en Si está activo, habrá bump mapping, con el factor
capas las texturas que indicado en la caja deslizante Nor.
se aplican a un objeto. • Csp: La textura afecta al valor de reflexión especular.
La pila de texturas está • Cmir: Afecta al color de reflexión (espejo).
situada en la parte • Alpha: Afecta al valor de transparencia Alpha.
izquierda. Pueden estar
• Emit: Afecta a la cantidad de emisión de luz.
activas (botón verde
activado) o no. A la
Se pueden consultar todos los parámetros de texturas y
derecha aparece el
materiales en el manual oficial de blender.
nombre de la textura
que se aplica en cada Figura 9
capa, y se pueden aña- Texturas de imagen
dir, o eliminar texturas.
El número que aparece Seleccionamos el plano del suelo, y añadimos un material
en el botón indica el nuevo. Nos vamos a la pestaña de Texture y pinchamos en
número de ojbetos que Add New. Aparecerá un nombre de textura por defecto;
están utilizando esa hecho esto, pinchamos en el botón de Texture Buttons,
textura. La textura que accesible con ±, y cargamos una textura de imagen
se aplica finalmente al (elegimos Image en la lista desplegable Texture Type) y
objeto resulta de la pinchamos en Load Image, cargando la imagen suelo.jpg.
composición de todas Vamos a configurar algunos parámetros (ver figura 12):
las texturas con sus
propiedades correspon- Figura 10 • En TE: Podemos indicar el nombre de la textura.
dientes. • Extend: Si está activo, indicamos que la textura se
extienda para que ocupe toda la superficie donde vamos
Pestaña MapInput (figura 10): a aplicarla.
• Repeat: Si está activo, podemos indicar que la textura
Cada textura en Blender tiene asociadas unas coordenadas se repita un número de veces en el eje X y en el eje Y.
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 5 [Página 3 de 6]
Figura 12
Figura 15
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 5 [Página 4 de 6]
Figura 16
Figura 18
Figura 17
va a ser de tipo Clouds
(figura 19). Queremos
que tenga un ruido
bastante marcado, co-
mo papel arrugado. En
las propiedades del ma-
terial, en la pestaña
Map To hemos activa-
do las opciones Nor
(para que afecte a la
rugosidad de la textu-
ra) y a la reflectividad Figura 19
de la superficie (los
pliegues brillarán un
poco más). El tipo de
mapeado (en Map In-
put) sel podría haber
definido como en la
textura de imagen, pe-
ro como el fin de esta
textura es únicamente
añadir ruido, no se ha
Figura 20 Figura 21
prestado atención en
estos detalles. Si que-
remos que la rugo-
sidad del papel se note
más, tenemos que au-
mentar el factor Nor
(en la figura 18 está a
0.50) a un valor supe-
rior.
Podemos ver en la
figura 20 las propiedades de mapeado de la superficie. En Para realizar el render se ha añadido una fuente de luz de
la figura 21 hay una comparativa del renderizado de las tipo Spot y una luz de tipo Hemi que añade iluminación
cadenas antes y después de aplicar la textura. Puede ambiental. Para conseguir los reflejos realistas de Raytra-
observarse los huecos de color marrón que se han cing tenemos que activar el botón Ray en las propiedades
conseguido, simulando el efecto del óxido. En este caso, un de renderizado (ver figura 27).
mismo mapa de textura se ha utilizado para modular varias
propiedades.
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 5 [Página 5 de 6]
Texturizado con UV Mapping Unwrap. Con esto debemos tener una presentación como
se muestra en la figura 26.
Nos centraremos ahora en el texturizado mediante UV Figura 26
Mapping. Este tipo de texturizado permite el posicionamien-
to exacto de una imagen a cada cara del modelo. Sin
embargo tiene un problema a la hora de construir una
representación de la malla tridimensional sobre la que
podamos pintar cómodamente; la distorsión de las caras.
Por suerte, disponemos de un método que minimiza la
distorsión, el LSCM. Recuperamos el modelo del torso del
personaje de la sesión anterior, y emplearemos este
método de texturizado para dibujarle el traje.
Figura 23
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 5 [Página 6 de 6]
6
Carlos González Morcillo
PRÁCTICA
29 Marzo 2006
(Carlos.Gonzalez@uclm.es)
Animación Básica
Animación para la Comunicación · Escuela Superior de Informática · Universidad de Castilla-La Mancha
V
amos a realizar una animación muy sencilla que
maneje directamente las curvas IPO (InterPOlation
Curves). Comenzaremos realizando un ventilador de
techo que colocaremos en la parte superior de nuestra
escena, que animaremos posteriormente. Añadimos un
toroide Î Add/ Surface/ NURBS Donut. Utilizando la
técnica de modelado que vimos en la sesión 2, modelamos
una de las aspas (recordemos que añadimos una curva de
Bezier Î Add/ Curve/ Bezier Curve, que convertimos
a tipo Poly, ajustamos los puntos de control, cerramos C y
luego de nuevo a Bezier). Debemos obtener una escena
como se muestra en la figura 1.
Figura 2
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 6 [Página 1 de 4]
Figura 7
Figura 4
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 6 [Página 2 de 4]
En el eje de abcisas se representan los frames, y en el de representación posible. Queremos que la animación se
ordenadas los valores que pueden tomar los objetos pueda repetir en bucle, por lo que deberá rotar 360º y
respecto de las magnitudes indicadas en la columna de la además mantener una velocidad constante. Para esto,
derecha (Rotación, Localización, Materiales, etc...). La línea editaremos las curvas de movimiento manualmente.
verde vertical (que podemos arrastrar para ver la evolución Selecccionamos la curva RotZ, y pasamos a modo de
de nuestra animación), representa el frame actual. En la edición de vértices º. Elegimos el punto de control de la
parte central de la cabecera de esta ventana aparece por derecha (el que está situado en el frame 50), y pulsamos la
defecto el elemento Object (ver figura 10). Existen tecla N para darle un valor numérico exacto. Nos intersea
multitud de propiedades animables en cada entidad de la que en el eje Y (VertexY) tenga un valor de -36
escena; podemos cambiar de un tipo de entidades a otros (correspondiente a 360º). Seleccionamos el punto de
seleccionando diferentes modos de trabajo en esta lista control del frame 1, y le damos un valor en el eje Y de 0.
desplegable. En esta sesión de animación trabajaremos con
algunas de ellas, aunque prácticamente cualquier propiedad Por defecto, las animaciones en blender tienen una duración
puede ser animada en Blender. de 250 frames. Esto puede cambiarse en los botones de
Render μ, dentro de la pestaña Anim, el intervalo viene
Nos situamos en el primer frame de la animación, y con el dado por las cajas Sta: 1 y End: 50.
donut seleccionado, definiremos en el frame 1 un punto
clave de rotación. Para ello, con el puntero del ratón situado Figura 12
en una ventana 3D, pulsamos I. Aparecerá un menú pre-
guntándonos qué atributos queremos manejar en nuestro
frame clave. Le indicamos que sólo vamos a utilizar la rota-
ción (Rot).
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 6 [Página 3 de 4]
Figura 13
El sistema de Capas
Blender permite la gestión de los objetos de la escena en
capas. Cada capa puede ser vista como un bloque
contenedor que puede estar visible o no. Si está visible,
todos los ojbetos que estén en esa capa formarán parte de
la escena. posición y la rotación
(LocRot). Nos vamos al
En todas las cabeceras 3D, blender permite gestionar las frame 50 y colocamos
capas activas. Si el botón correspondiente a una capa está los objetos como mues-
pulsado, la capa está activa (ver figura 14). tra la figura 16, e inser-
Figura 14 tamos de nuevo una
clave de tipo LocRoc.
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 6 [Página 4 de 4]
7
Carlos González Morcillo
PRÁCTICA (Carlos.Gonzalez@uclm.es)
05 Abril 2006
Animación Jerárquica
Animación para la Comunicación · Escuela Superior de Informática · Universidad de Castilla-La Mancha
C
omenzaremos modelando el objeto que se muestra Posicionamiento cómodo de la cámara
en la figura 1. Todos los componentes del modelo
deben ser independientes. Recordemos que para Añadimos un objeto Empty en el punto a donde queremos
esto, debemos salir del modo de edición de vértices º apuntar con la cámara (en nuestro caso, el centro de la
cada vez que añadamos un objeto a la escena. Creamos la escena formada por los objetos anteriores). Hecho esto,
escena con 5 cilindros, rotando y escalando hasta conseguir seleccionamos primero el objeto hijo , y después con
la configuración mostrada, y un plano que servirá como § pulsado, seleccionamos el objeto padre . En este
“suelo” de la escena. caso, queremos que la cámara (objeto hijo) apunte hacia
donde está el Empty (objeto padre). Así, seleccionamos la
cámara § y
seleccionamos el empty
. Pulsamos ¦T para
añadir el track, de entre
los tipos de track elegi-
mos TrackTo Cons-
traint. Si ahora move-
mos la cámara por la es-
cena, siempre apuntará a
Figura 3
la posición del Empty.
Figura 2
Figura 4
Podemos indicar a Blender que muestre el nombre de los
En To: se especifica la dirección, en el eje de coordenadas
objetos si activamos, con el objeto seleccionado, el botón
local del objeto al que aplicamos la restricción (la cámara),
Name del grupo de propiedades Draw del objeto ². Como
que vamos a utilizar para apuntar al objeto Empty. Up: por
vimos en la práctica anterior, también podemos activar la su parte indica el vector perpendicular a la dirección To,
visualización de el sistema de coordenadas local de cada que apunta hacia arriba. Estos valores pueden verse en la
objeto, mediante el botón Axis. figura 4. Si se cambia cualquiera de los vectores To y Up,
podemos ver el efecto sobre la cámara de la escena. Final-
Antes de animar los objetos de la escena, vamos a mente, Influence controla la influencia de esta restricción
posicionar la cámara de forma cómoda, mediante restriccio- sobre el objeto, desde 1 total a 0 ninguna.
nes de tipo “track”.
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 7 [Página 1 de 3]
Jerarquías y Restricciones Pasamos a hacer una rotación de 360º de la rueda.
Procederemos de forma similar a como se explicó en la
Establecemos las relaciones de jerarquía entre PistonA1 - práctica anterior con el ventilador. Insertamos dos frames
PistonA2 y PistonB1 - PistonB2. Queremos que, cuando clave respecto de la rotación en el frame 1, y en el frame
movamos las bases de los pistones (A1 y B1), los extremos 35. Seleccionamos la gráfica RotZ (queremos rotar el
tengan el mismo movimiento. Por tanto, en la jerarquía objeto sobre el eje Z del sistema de coordenadas global en
tendremos que PistonA2 es hijo de PistonA1. Para indicar nuestro ejemplo), y entramos en el modo de edición de
esta jerarquía a Blender, seleccionamos primero el vértices pulsando º.
elemento hijo (PistonA2), y con § pulsado, selecciona- Figura 8
mos el padre (PistonA1). Pulsamos ¦P y elegimos Make
Parent. Ahora, si rotamos PistonA1, el giro también lo
sufrirá PistonA2, pero no al revés. Realizamos la misma
operación con la otra parte del pistón (B1, B2). Si nos
equivocamos, podemos eliminar la relación de parentesco
seleccionando los elementos emparentados y pulsando
¥P.
Cambiaremos los centros de los objetos PistonA2 y PistonB2
para que las rotaciones se hagan respecto del extremo (en
vez de estar situado en el centro geométrico del objeto).
Para ello, situaremos el puntero 3D, a la posición 3D donde
queramos situar el nuevo centro y en los botones de edición
(´) pincharemos en Centre Cursor. Colocaremos los
centros en los puntos rojos que se muestran en la figura 2.
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 7 [Página 2 de 3]
Figura 10 Figura 13
• End: Fin del intervalo. Después del frame 100 no Hecho esto, vamos a añadir un material a las partículas.
lanzaremos más partículas. Con el plano emisor de partículas seleccionado, añadimos
un nuevo material y activamos las opciones que se
• Life: Tiempo de vida de las partículas (medido en muestran en la figura 12.
frames). Desde su lanzamiento, las partículas
permanecerán activas 80 frames. Elegimos un color naranja para las partículas. En la pestaña
de Shaders, activamos el botón Halo, y aparecerán un
• Disp: Porcentaje de partículas que se mostrarán en la conjunto de nuevas opciones que comentamos a
ventana 3D interactiva (aunque se renderizarán el continuación:
100%).
• Halo Size: El tamaño del halo.
• Normal: Velocidad inicial con la que se lanzan las
partículas. En nuestro caso, inicialmente 0.1. • Hard: La dureza del halo, un valor alto da un resultado
concentrado.
• Random: La velocidad incial de cada partícula será el
resultado de sumar el campo Norm, con un valor • Add: Si es 0, el halo es “sólido”; un valor mayor hará
aleatorio entre 0 y el valor indicado en Random (en que el halo tenga un poder de emisión de luz.
nuestro caso, 0.05). Esto añade un poco de aleatoriedad
a las partículas. Nota: Los sistemas de partículas pueden emitir
cualquier tipo de elemento. Por ejemplo,
• Force: Simulación de fuerzas constantes (como viento, podríamos cambiar el tipo de objetos que se emiten por
o gravedad). Indicando el valor -0.1 en el eje Z cubos, metabolas o cabezas de mono!. Basta con hacer
hacemos que las partículas caigan al suelo. hijo de la cara emisora el elemento que queremos lanzar
en el sistema de partículas y activar el botón DupliVerts
Puede ser necesario, si realizamos cambios sobre algunos de la pestaña Anim settings de los botones de Objeto.
parámetros, o la posición del plano que genera partículas, Cuidado, ya que en ese caso, estamos creando gran
que se recalcule el sistema de partículas. Para esto, cantidad de objetos (uno por cada partícula). Será
pulsaremos el botón RecalcAll. aconsejable disminuir el número de partículas a lanzar.
Como queremos que las partículas
Figura 11
reboten sobre el plano del suelo, Si el botón Flare está activo (como es nuestro caso),
tenemos que definir cómo se va a aparecen nuevos valores numéricos:
realizar esta simulación. Para ello, • FlareSize: El factor por el que el efecto flare es mayor
seleccionamos el plano, y en los que el halo. Con valores grandes, aumenta el efecto de
botones de simulaciones físicas , destello.
vamos a la pestaña Fields and
Deflection, pinchamos en Deflection • Boost: Para dar una fuerza adicional al flare.
(para que se calcule el rebote de las
partículas, basándose en colisiones Es posible activar diferentes formas y propiedades al halo,
físicas) configurando los valores como que se especifican en la columna de botones de la derecha:
muestra la figura 11. • Rings: Determina la forma en aros del halo.
Veamos la explicación de estos parámetros, dentro del • Lines: Dibuja líneas sobre el halo básico.
grupo Particles:
• Star: El halo básico se dibuja como una estrella.
• Damping: Dureza del rebote en la colisión. Varía entre
0 y 1. Cuanto más cercano a 1, menos rebote habrá. • HaloTex: Si está activo, permite incorporar una textura
al halo; por ejemplo, una imagen.
• RndDamping: Factor aleatorio de rebote.
• HaloPuno: Si está activo, el tamaño del halo se
• Permeability: Si es mayor que cero, las partículas determina por el vector normal de la superficie emisora.
pueden atravesar el objeto.
• X Alpha: Extreme Alpha; con esta
Figura 12 opción se fuerza una progresión
más fuerte en la transparencia y en
el color del halo.
• Shaded: Si está activo, el halo
puede recibir luz, dando una
sensación de elemento con cuerpo
3D.
Finalmente renderizamos el proyecto,
desde el frame 1 al 210. Añadimos dos
focos, y algunos materiales con propie-
dades de color a los elementos que for-
man la escena.
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 7 [Página 3 de 3]
PRÁCTICA 8
Carlos González Morcillo
(Carlos.Gonzalez@uclm.es)
19 Abril 2006
Animación basada en Esqueletos
Animación para la Comunicación · Escuela Superior de Informática · Universidad de Castilla-La Mancha
C
omenzaremos modelando las diferentes piezas que
formarán nuestro brazo. Debemos obtener una
geometría similar a la mostrada en la figura 1. Antes
de ponernos manos a la obra, debemos tener en mente que
al modelo se le deberá asociar un esqueleto. Resultará
mucho más sencillo realizar esta operación (y el propio
modelado), si en la construcción del objeto empleamos una
postura "cómoda". Un ejemplo de construcción del modelo
se muestra en la figura 2. Así, el esqueleto se situará de
forma sencilla a lo largo del eje X, siguiendo la geometría
del brazo.
Figura 2
Figura 3
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 8 [Página 1 de 3]
Asociación de Esqueleto / Objeto extremo del robot y, por cinemática inversa, Blender
calculará la rotación necesaria para cada articulación del
Todo el proceso que vamos a seguir a continuación, está robot. Situaremos el puntero 3D cerca del hueso IkNull y
resumido en el esquema de la figura 5. Las relaciones de situaremos ahí el nuevo objeto Empty.
parentesco ("es padre de"), están representadas por una
En el modo pose, se- Figura 7
flecha que va del padre al hijo. Los huesos del esqueleto
están representados en color azul. Los nodos hijo de la leccionaremos el último
jerarquía, están representados por un rectángulo con las hueso (IkNull). Vamos
esquinas sin redondear. al menú de restriccio-
nes, pinchando en el
Pedestal botón de edición de
Make Track
objeto . Añadimos
una restricción nueva
Base
pinchando en Add
Constraint. El tipo de
Motor1 Esqueleto
restricción será IK
Solver, sobre el nuevo
LatHomDer Empty (tecleamos en el
Hombro
Motor2 campo Target OB: EmptyIK). Ver figura 7.
LatHomIzq
LatCodDer Es importante que se indique exactamente el mismo
Copy Rotation
Codo nombre, ya que Blender distingue entre minúsculas y
LatMunIzq LatCodIzq mayúsculas en los identificadores de objeto. La influencia
de la restricción sobre el esqueleto es, por defecto, 1 (el
Muñeca Motor3
LatMunDer
valor máximo). Lo dejaremos así porque queremos que el
esqueleto siga perfectamente al EmptyIk.
MunAPin
IkaNull EmptyRotBase
El método de cálculo de la cinemática inversa de Blender es
PinzaIzq PinzaDer
IK Solver
Copy Location (x,y) iterativo, que trata de minimizar el error en cada pasada.
Así, tenemos dos parámetros más que podemos modificar,
EmptyIk como es el número de iteraciones máxima que queremos
que utilice en el cálculo de la posición correcta
Figura 5
(Iterations), y la tolerancia máxima de error que vamos a
Los elementos auxiliares (empty) que se han utilizado, permitir (Tolerance). En esta sesión vamos a dejar los
aparecen en color naranja. Por último, las restricciones valores por defecto. Sin embargo, en disposiciones
entre elementos se representan con una flecha punteada, complejas de esque-
con una circunferencia negra en el origen. letos, estos valores
habrá que optimizarlos
aa Importante: Recordemos que para establecer para que el sistema no
esté excesivamente car-
una relación de parentesco entre elementos,
seleccionaremos siempre primero el elemento hijo, y gado. A mayor número
de iteraciones y toleran-
después, con § pulsado, el padre. Pulsaremos ¦P
cia más pequeña, resul-
Make Parent. En caso de equivocarnos, podremos
tados más precisos pero
eliminar el parentesco, seleccionando de nuevo el objeto
un tiempo de cómputo
hijo y pulsando ¥P.
mayor. Como hemos
Figura 8
creado un hueso especí-
De esta forma, seleccionaremos, primero el elemento Base, fico para el cálculo de la cinemática inversa, desactivamos
y después Pedestal y realizaremos la asociación de el botón UseTip. El resto de valores los dejaremos por
jerarquía. Procederemos de igual modo con Motor1 y Base, defecto. Hecho esto, podemos mover el EmptyIk por la
el Esqueleto (completo) y la Base, y MunAPin (Muñeca a escena, y el brazo seguirá el movimiento del mismo. Sin
Pinza) con las dos partes de la pinza. embargo, este movimiento no es del todo correcto. Las
articulaciones no realizan los giros de forma realista, debido
Las relaciones de parentesco con los huesos se realizan de a que no tienen restricciones de giro aplicadas.
forma similar, pero el esqueleto deberá estar en modo pose
(se mostrará en color azul). Para ello, seleccionamos el
esqueleto y pulsamos ¦º (o cambiamos de Object
Mode a Pose Mode en la lista desplegable de la cabecera
de la ventana 3D) (ver
figura 6). Hecho esto,
seleccionamos el hijo, y
después el hueso corres-
pondiente del esqueleto.
Pulsamos ¦P Make
parent to/ Bone.
Figura 6
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 8 [Página 2 de 3]
Figura 10
los diferentes modos de Para activar la restricción sólo en un intervalo de
representación del esquele- frames, pincharemos en el botón Show que está
to: Octahedron (por defec- situado a la derecha de Influence (figura 11). Con
to), Stick, B-bone y Enve- esto, podemos editar la Influencia como una curva
lope (que muestra el radio IPO. Abrimos una ventana IPO, y ponemos el tipo
de acción de cada hueso). a Constraint. Seleccionamos Inf en la parte
superior derecha de la ventana y podemos añadir
En el caso de nuestro modelo puntos de control a la curva pinchando en el botón
(aunque en la realización Key (Figura 11). Establecemos los valores para
particular de cada práctica que el valor Inf de la curva IPO cambien entre 0 y
puede variar), se tiene que Figura 11 1 en el intervalo de frames elegido (ver figura 12).
limitar la rotación en el eje X Recordemos que con la tecla N, en modo de
y en el eje Y. Para ello, edición de la curva, podemos dar un valor
pulsamos los botones Lock numérico a cada punto de la curva IPO.
X Rot y Lock Y Rot de la
pestaña Armature Bones Mientras el objeto está controlado con la
para los huesos Muneca, restricción CopyLocation, cambiará su posición a
Codo y Hombro (figura 8). la que tenga el objeto EmptyObjeto. Sin
embargo, cuando pasemos del frame 120, el
Continuamos creando un objeto volverá a su posición original. Para evitar
nuevo objeto vacío, al que esto, tendremos que cambiar la posición del objeto
llamaremos EmptyRotBase. mientras estamos en ese intervalo de frames, de
Nos servirá para definir la rotación que se tiene que aplicar tal forma que, cuando acabe la restricción CopyLocation,
al objeto Base (recordemos que es padre de casi toda el objeto esté en la posición nueva. Esto lo conseguimos
nuestra jerarquía), cuando movamos EmptyIk. De esta añadiendo frames clave con la nueva posición, como se
forma, el robot siempre apuntará al objeto EmptyIk. muestra en la figura 13.
Situaremos el nuevo Empty, como se muestra en la figura
9, a la misma altura que la base (para que al hacer el Track
entre ellos, la Base no se "incline" hacia ningún lado;
únicamente rote respecto del eje Z). La idea es hacer que
este nuevo Empty sirva de "sombra" al EmptyIk con el que
controlamos el movimiento del brazo. Para conseguir este
efecto de "sombra", añadiremos una restricción de copiar la
localización del EmptyIk, como se muestra en la figura 10.
La localización se copiará respecto del eje X e Y. La altura
en el eje Z la mantendremos fija.
Para animar el modelo, bastará con insertar frames clave Recordemos que es muy útil para conseguir posiciones
que guarden la posición (Loc) del objeto EmptyIk con exactas utilizar el cursor 3D para alinear objetos; con
¦I. La interpolación del movimiento de este objeto nos §S podemos situar el cursor 3D en el centro de un
producirá (por cinemática inversa) el movimiento en el objeto, y un objeto en la posición del puntero 3D.
resto de articulaciones.
Para terminar, generamos la animación añadiendo
Si el brazo robótico dobla el codo de forma incorrecta (hacia materiales con propiedad de RayMirror y renderizamos
abajo), se puede ayudar al motor de cinemática inversa empleando el Trazador de Rayos integrado de Blender.
rotando en modo pose levemente el hombro hacia arriba.
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 8 [Página 3 de 3]
PRÁCTICA 9
Carlos González Morcillo
03 Mayo 2006
(Carlos.Gonzalez@uclm.es)
Esqueletos Avanzados
Animación para la Comunicación · Escuela Superior de Informática · Universidad de Castilla-La Mancha
L
as articulaciones del esqueleto que vamos a definir aunque forma parte del esqueleto, que utilizaremos para
generarán unas deformaciones que habrá que calcular la cinemática inversa (huesoik). Obtendremos una
trasladar a la malla del modelo 3D. Por último se configuración similar a la figura 2.
aplicará un movimiento al esqueleto, construyendo una
secuencia de animación.
aa Importante: Todos los huesos deben formar
parte de un único objeto Armature. Por tanto,
Así pues, en esta sesión identificamos un primer objetivo; cuando añadamos nuevos huesos al esqueleto, lo
construir un esqueleto para nuestro personaje, que haremos siempre desde el modo de edición del objeto.
asociaremos a una malla. Indicaremos a Blender qué
vértices de la malla tendrá que deformar con cada hueso
del esqueleto. Podemos activar la representación del nombre de cada
hueso pinchando en el botón Draw Name de los Botones
En la próxima sesión, construiremos una secuencia de de Edición . También es útil, cuando el modelo está
animación para el esqueleto. Podremos realizar esta representado en sombreado (tecla Z), activar en el mismo
secuencia mediante la técnica de animación lineal empleada menú X-Ray para ver el esqueleto a través de la malla.
en sesiones anteriores (brazo robótico); definiendo la
posición de todos los puntos finales (IK Solver) en cada Nombraremos los huesos (ver
frame clave, o bien definiendo acciones en el módulo de figura 3) como se explicó en
Animación No Lineal. Dependiendo del nivel de exactitud la sesión 8, y añadiremos una
que necesitemos en el resultado utilizaremos una técnica u restricción (en modo pose del
otra. esqueleto; ¦º) de tipo Ik-
Solver al huesonull con ob-
jetivo en huesoik (Objeto
Un pequeño ejemplo antes de comenzar... “Armature” y Hueso “Hueso-
IK”). Ahora podemos despla-
Antes de definir el esqueleto del modelo creado en la
zar (en modo pose) huesoik,
práctica anterior, veamos cómo asociar un Armature a una
y el resto del esqueleto se
malla de polígonos, y el convenio de nombrado que utiliza
calculará de forma automática
Blender.
mediante cinemática inversa.
Quitaremos el botón UseTip
Empecemos con un ejemplo sencillo; insertamos un cubo a
que aparece activo por defec-
la escena. Extruimos la cara lateral y activando las
to.
superficies de subdivisión, construimos una malla como la Figura 3
mostrada en la figura 1.
Falta por indicar a blender cómo deformar la malla. Para
Figura 1 ello, crearemos grupos de vértices con el mismo nombre
que los huesos del esqueleto. Asociaremos a cada conjunto
de vértices un hueso de los anteriores. Entramos en modo
de edición de vértices del objeto y seleccionamos el grupo
de vértices que están situados sobre el hueso1 (ver figura
4). Seleccionamos todos los vértices sobre los que tendrá
influencia ese hueso.
Figura 4
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 9 [Página 1 de 5]
Figura 5
En los botones de edición ´,
crearemos un nuevo grupo de
vértices (pinchamos en new).
Tecleamos el nombre del
primer hueso "hueso1" y, con
los vértices asociados al
primer hueso seleccionados,
pinchamos en Assign (ver
figura 5). De esta forma hemos
creado el primer grupo de
vértices, asociados a hueso1. Si nos equivocamos al
asignar vértices, podemos quitar los erróneos con Remove.
El botón Select sirve para mostrar los vértices
seleccionados de un grupo y Deselect para deseleccionar
los vértices del grupo. Creamos un grupo para cada hueso y
asignaremos los vértices que se muestran en la figura 4.
Figura 7
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 9 [Página 2 de 5]
Figura 9
Figura 10
Como se muestra en la figura 12, añadiremos una cadena
origen del IkSolver. Añadiremos un hueso independiente
de huesos para formar la columna vertebral (Estomago,
para cada dedo, que servirá como destino del IkSolver.
Pecho y ColumnaNull). Para limitar el inicio y el fin de la
Además, emparentaremos el origen de cada cadena de
columna, insertamos 2 nuevos huesos (IkCaderas e
huesos y el hueso IK de cada dedo con Mano.R (de esta
IkHombros). Añadimos una restricción de tipo
forma, cuando rotemos el hueso Mano.R, rotarán también
CopyLocation a Estomago, respecto de IkCaderas. A
todos los dedos). Una captura del esqueleto de esta parte
ColumnaNull un IkSolver sobre IkHombros.
puede verse en el lateral de la figura 12.
Contruiremos los brazos como una cadena de 3 elementos:
La cabeza estará formada por un único hueso llamado
Humero.R, Cubito.R y Muneca.R. Añadiremos un
Cabeza, que tendrá dos hijos (MandibulaSup y
IkSolver (IkMuneca.R) sobre Muneca.R. Haremos el
MandibulaInf) que nos permitirán abrir y cerrar la boca.
hueso Humero.R hijo del hueso Pecho (eligiendo este
Los objetos que representan los dientes y la lengua serán
último en la lista desplegable “child of” asociada a ese
hijos de estos huesos; la dentadura superior de
hueso, dentro de la pestaña Armature Bones). A
MandibulaSup y la dentadura inferior junto con la lengua
continuación añadiremos un nuevo hueso llamado Mano.R
de MandibulaInf. El hueso Cabeza a su vez será hijo del
que será hijo de Cubito.R, con el que podremos orientar la
hueso Pecho.
mano completa.
Finalmente podemos ocultar algunos huesos para que,
Añadiremos nuevas cadenas de huesos para los dedos.
cuando estemos en modo de edición de pose, sólo nos
Índice, Anular y Menique tendrán 3 huesos (el dedo pulgar
aparezcan los que vayamos a utilizar. Esto se consigue
sólo 2) más un cuarto hueso (*null) que servirá como
activando el botón Hide que aparece en color azul en el
grupo de botones inferior al
nombre del hueso.
En la figura 13 aparece el
conjunto de huesos que
serían de utilidad a la hora de
animar el personaje
(básicamente los IKSolver de
todas las cadenas de huesos,
que serán los huesos a
desplazar): IKPie.*,
IKDedosPie.*, IKTobillo.*,
IKCaderas, IKHombros,
IKCabeza, Mano.*,
IKPulgar.*, IKIndice.*,
IKAnular.* e IKMenique.*,
junto con algunos que nos
permitirán realizar rotaciones
de las extremidades (como
los huesos Femur y
Humero), además del hueso
Cabeza y las mandíbulas.
Figura 12
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 9 [Página 3 de 5]
Figura 12
Figura 13
Puede resultar de utilidad tener el
esqueleto en una capa distinta del resto
de elementos. Esto nos permitirá
ocultarlo cuando no estemos trabajando
directamente con él. Después de ocultar
un subconjunto de los huesos del
esqueleto, obtenemos una configuración
como la mostrada en la figura 13.
En el listado de la página 5 se
representan, a modo de referencia,
todos los huesos utilizados en la práctica
con la jerarquía asociada entre ellos.
Esta figura no representa las
restricciones añadidas, aunque en
general todos los huesos tipo *Null
tendrán una restricción de tipo IKSolver
sobre un hueso IK* del mismo nombre.
El campo de la tabla “Conectar con
padre” se activa en el interfaz de
blender mediante el botón azul Con
situado a la derecha de la lista
desplegable Child Of.
Últimos detalles
Finalmente quedan por emparentar los
elementos que forman el casco (todos
hijos del hueso Cabeza), el cinturón
(hijo del hueso Estomago), y los
elementos que forman la pila (hijos de
Pecho). Los elementos que forman la
bombilla serán hijos del casco (al igual
que la fuente de luz puntual situada en
el interior).
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 9 [Página 4 de 5]
Para facilitar la orientación de los ojos se ha añadido un Conectar
empty situado suficientemente lejos de la cabeza, que será Visible? Hueso Hijo De
con Padre?
hijo del casco. Cada ojo tendrá una restricción de tipo
TrackTo sobre este etmpy. Habrá que ajustar los ejes de To X IKIndice.L Mano.L
y Up para que el track sea correcto. De esta forma, cuando
desplacemos el empty por la escena, los ojos apuntarán a X IKAnular.L Mano.L
esa posición.
X IKMenique.L Mano.L
En la siguiente sesión veremos cómo utilizar animación no X Humero.R Pecho
lineal aplicada a este esqueleto, y poder reutilizar acciones
previamente definidas. Cubito.R Humero.R X
Muneca.R Cubito.R X
Conectar
Visible? Hueso Hijo De
con Padre? X Mano.R Cubito.R
Pie.L Pulgar1.R Mano.R
PieNull.L Pie.L X Pulgar2.R Pulgar1.R X
DedosPie.L PulgarNull.R Pulgar2.R X
X IKPie.L Indice1.R Mano.R
IKDedosPie.L IKPie.L Indice2.R Indice1.R X
IKTobillo.L IKPie.L Indice3.R Indice2.R X
Pie.R IndiceNull.R Indice3.R X
PieNull.R Pie.R X Anular1.R Mano.R
DedosPie.R Anular2.R Anular1.R X
X IKPie.R Anular3.R Anular2.R X
IKDedosPie.R IKPie.R AnularNull.R Anular3.R X
IKTobillo.R IKPie.R Menique1.R Mano.R
Estomago Menique2.R Menique1.R X
Pecho Estomago X Menique3.R Menique2.R X
ColumnaNull Pecho X MeniqueNull.R Menique3.R X
X Humero.L Pecho X IKPulgar.R Mano.R
Cubito.L Humero.L X X IKIndice.R Mano.R
Muneca.L Cubito.L X X IKAnular.R Mano.R
X Mano.L Cubito.L X IKMenique.R Mano.R
Pulgar1.L Mano.L X Cabeza Pecho
Pulgar2.L Pulgar1.L X X MandibulaSup Cabeza
PulgarNull.L Pulgar2.L X X MandibulaInf Cabeza
Indice1.L Mano.L X IKCaderas
Indice2.L Indice1.L X X Femur.L IKCaderas
Indice3.L Indice2.L X Tibia.L Femur.L X
IndiceNull.L Indice3.L X PiernaNull.L Tibia.L X
Anular1.L Mano.L X Femur.R IKCaderas
Anular2.L Anular1.L X Tibia.R Femur.R X
Anular3.L Anular2.L X PiernaNull.R Tibia.R X
AnularNull.L Anular3.L X X IKHombros
Menique1.L Mano.L X IKMuneca.L IKHombros
Menique2.L Menique1.L X X IKMuneca.R IKHombros
Menique3.L Menique2.L X
MeniqueNull.L Menique3.L X
X IKPulgar.L Mano.L
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 9 [Página 5 de 5]
Adenda :: Práctica 9
PRÁCTICA 9
Carlos González Morcillo
03 Mayo 2006
(Carlos.Gonzalez@uclm.es)
Esqueletos Avanzados
Animación para la Comunicación · Escuela Superior de Informática · Universidad de Castilla-La Mancha
E
l motor de cálculo de cinemática inversa de blender huesos (Pulgar1.L y Pulgar2.L). El hueso IndiceNull.L por
en sus últimas versiones requiere que se le indique el su parte (figuras 4 y 5) es el extremo de una cadena de 3
número de huesos que forman cada cadena de IK, huesos. El hueso ColumnaNull será el extremo de una
para que el cálculo sea correcto. Por ejemplo, en la figura 1 cadena de 2 unidades, etc... En general, todos los huesos
se muestra que la cadena donde Muneca.L es el hueso que que tengan restricciones de tipo IK Solver tendrán que
tiene la restricción de IK Solver está formada por 2 huesos indicar el número de huesos de los que consta la cadena
(Humero.L y Cubito.L). Por esa razón, el campo ChainLen (sin contarse a si mismos). Es imprescindible establecer el
(figura 2) tiene que indicar 2. De igual forma (figura 3), el parámetro ChainLen de los huesos que lo requieran antes
hueso PulgarNull.L es el extremo de una cadena de 2 de comenzar ninguna animación de la práctica 11.
Figura 2
Figura 3
Figura 1
Figura 4
Figura 5
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 9 (Adenda) [Página 1 de 1]
10
Carlos González Morcillo
PRÁCTICA
10 Mayo 2006
(Carlos.Gonzalez@uclm.es)
Renderizado Realista
Animación para la Comunicación · Escuela Superior de Informática · Universidad de Castilla-La Mancha
A
ntes de comenzar, prepararemos una escena sencilla
con la que trabajaremos en las tres primeras partes
de esta sesión. Vamos a utilizar un modelo
escaneado en 3D del repositorio de modelos 3D de
Stanford1. Existen varios proyectos de escaneado de figuras
3D, como el Digital Michelangelo Project2 que cuenta con
multitud de estatuas en muy alta resolución.
Figura 1
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 10 [Página 1 de 6]
Figura 5
Figura 6
Figura 7
Recordemos que para cambiar estos colores, basta con Cuando pinchamos en el botón Ray indicado anteriormente,
pinchar sobre el cuadro de color (no es necesario hacerlo aparece una nueva lista desplegable en la zona inferior de
cambiando directamente las componentes RGB). la pestaña de Render (ver figura 8). Esta lista permite
indicar la resolución del árbol octal que utiliza el motor de
Respecto del material creado para el cristal y el licor, son raytracing para acelerar el cálculo de las intersecciones
básicamente iguales. Ambos materiales tienen rayo/objeto. Una buena elección del tamaño de este
transparencia, que viene dada por el parámetro Alpha parámetro ahorrará mucho tiempo de render. Un mayor
(debajo de las componentes RGB). Además, tienen un poco tamaño requerirá más memoria, pero acelerará los cálculos
de nivel de reflexión (RayMirror bajo). El campo IOR mide en escenas complejas (con un alto número de polígonos).
el Índice de Refracción (Index Of Refraction). Este índice es Un valor de 64 funcionará bien para escenas poco
particular de cada tipo de material. Por ejemplo, el aire complejas. En nuestro caso hemos elegido 512 debido al
tiene un IOR de 1, el agua de 1.3 y el cristal de 1.5. alto número de polígonos de la escena.
Podemos comprobar cómo afecta esta propiedad al material Figura 9
en la pestaña Preview. Finalmente, es muy importante
activar el botón TraShadow para que el material reciba
sombras transparentes (y la refracción sea realista).
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 10 [Página 2 de 6]
definido en el horizonte (en nuestro caso, es igualmente
blanco), o Sky Texture si queremos utilizar un mapa de
entorno (en este caso, el color de la luz se corresponderá
con el color de pixel con el que choque cada rayo).
Figura 10
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 10 [Página 3 de 6]
Figura 14
Una vez lanzado el render, veremos cómo la escena va Los fotones Photons únicamente ayudan al cálculo de la
apareciendo poco a poco en la ventana de render. Podemos iluminación. Funcionan especialmente bien en escenas de
parar el render pulsando ¹. interiores donde no hay cielos visibles, donde la luz entra
por una zona claramente definida. Aunque en nuestra
El resultado utilizando este método de render es el escena no serían necesarios, vamos a utilizarlos y a
mostrado en la figura 15. Un detalle importante a tener en estudiar sus parámetros. Count indica el número de
cuenta cuando trabajemos con texturas de imagen es fotones a lanzar, un número mayor implica un restulado
más suave. Radius indica el nivel de difuminado entre
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 10 [Página 4 de 6]
Figura 18 Figura 19
➔ Iluminación basada en Imágenes HDR Las caústicas se refieren a los patrones de refracción que
presentan algunos materiales, como el cristal, que
concentran los fotones en un punto y modifican el color de
Para cargar el mapa HDRI, en las propiedades del mundo
las superficies sobre las que se proyectan.
(World Buttons) añadimos una textura de tipo imagen y
cargamos la imagen HDR (en nuestro caso, car.hrd). Como
es una mapa HDR esférico, tendremos que
activar el botón AngMap en el tipo de Figura 21
mapeado de la textura (ver figura 20).
1 http://www.yafray.org
2 http://www.debevec.org/
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 10 [Página 5 de 6]
Figura 22
Algunos elementos de iluminación (como luces de área) para encontrar el punto correcto. El número de fotones no
arrojan caústicas sobre los objetos directamente. Los debemos subirlo mucho en ninguna circunstancia; suele ser
mapas HDR no; sin embargo, existe un tipo de fuente de mejor aumentar la energía de los fotones hasta que veamos
luz específica para añadir este efecto, la fuente de luz algunas manchas en la escena y luego variar los
Photon. Esta fuente no ilumina la escena realmente; parámetros de mezclado.
únicamente añade fotones que logran este efecto de
caústicas. La figura 23 es el resultado de aplicar el mapa HDR, el
efecto de profundidad de campo y caústicas.
Añadimos una fuente de luz de este tipo y ajustamos los
parámetros como se muestra en la figura 22. Si activamos En muchas ocasiones la variación en el número de samples
QMC, utilizamos el método de Quasi Monte Carlo para de la PathLight (especificado en el interfaz de Blender
distribuir los fotones de la fuente. En Angle especificamos el mediante la lista desplegable Quality – figura 13 -), no se
ángulo de salida de los fotones (cuanto más concentrados corresponde con un aumento en la calidad de la imagen
estén, más intensas serán las caústicas). En Photons final. Es muy importante elegir el nivel de samples
indicamos el número de fotones a lanzar, en Depth adecuado, ya que el timepo de render de una misma
especificamos el número de rebotes que pueden dar los escena puede verse afectado incluso en ¡dos órdenes de
fotones en el interior de los objetos. Los parámetros de magnitud!. Si el resultado del proyecto es una imagen
search y blur miden el mezclado entre los fotones (con estática, podemos repartir el render de la imagen en varios
valores mayores tenemos más sensación de uniformidad en computadores y componer el resultado dejando una zona
la caústica). Al igual que antes, estos parámetros son muy reservada entre fragmentos para poder realizar la
particulares de cada escena y no hay fórmulas mágicas composición de la imagen final.
Figura 23
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 10 [Página 6 de 6]
PRÁCTICA 11 Carlos González Morcillo
17 Mayo 2006
(Carlos.Gonzalez@uclm.es)
P
ara comenzar a trabajar, abrimos dos ventanas pinchamos en el botón o seleccionamos Pose / Copy
nuevas en blender. Una que contendrá el editor de current Pose, ambas opciones en la cabecera de la
Acciones y otra de tipo editor NLA (Non Linear ventana 3D. Al lado de este icono hay dos que nos permiten
Animation). En animación no lineal, definiremos las acciones pegar la posición copiada , y pegar la posición
como conjuntos de posiciones clave de un subconjunto de invertida . Podemos realizar estas operaciones con sus
huesos. Así, crearemos el movimiento de "andar", el de correspondientes opciones dentro del menú Pose visto
“girar la cabeza” y el de “señalar”, y los compondremos anteriormente.
para obtener la animación final. Figura 2
Figura 1
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 11 [Página 1 de 3]
Figura 4 ¿Cómo hacer que el personaje siga un camino?
Necesitamos añadir un elemento de tipo Curve,
Path. Ajustamos los puntos de control y
emparentamos el esqueleto (hijo) a la curva
(padre), ¦P Normal Parent. Hecho esto, si
reproducimos la animación ¥A comprobamos
que el personaje sigue el camino, pero no rota
adecuadamente.
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 11 [Página 2 de 3]
Figura 9
en sesiones anteriores. En el video de ejemplo de esta
sesión, el movimiento de los ojos ha sido animado
insertando frames clave entre las acciones de ANL.
Figura 11
¿Y ahora qué?
Ahora te queda continuar “investigando” por tu cuenta;
Indica a Blender el número de unidades que avanza el estudiando algunos módulos muy interesantes que no
modelo en cada ciclo. Debemos ajustar este parámetro hemos podido ver en sesiones de prácticas por falta de
para evitar que el modelo "patine" sobre el suelo. Aquí tiempo, pero que podrás desarrollar sin problemas como:
debemos indicar el parámetro calculado anteriormente
(7.5 unidades reales en nuestro caso). • Simulaciones físicas: Empleando el motor de
simulaciones físicas Bullet (se selecciona dentro de las
• Si activamos Stride Path, la acción se va a sincronizar
opciones del mundo), dando propiedades fisicas en el
con el avance del path. En nuestro ejemplo, activaremos game engine y activando la opción Game / Record
este botón únicamente en las acciones que tengan que Game Physics to IPO, del menú principal de
ver directamente con el acto de caminar; es decir, Blender.
únicamente "andar".
• Softbodies: Incorporados en la versión 2.40,
• El botón de Hold, si está activo, nos conserva la última
permiten la simulación física de interacciones con
posición alcanzada por una acción. objetos que no son totalmente rígidos.
• El botón Add indica que el movimiento final resultará de • Simulación de fluidos: Basta con indicar qué objeto
la composición de esta acción con el resto (sus efectos será el fluido y cual el contenedor. La simulación
se suman). Por lo general, este parámetro tendrá que conseguida es muy realista.
estar siempre activo para todas las acciones (salvo en la
acción que sirva de base del movimiento; en nuestro • Composición de video: Blender incorpora un
caso, andar).
compositor de video y audio bastante completo. Se
puede acceder a él cambiando una ventana a tipo
Por último, recordaremos que Blender permite trabajar
Video Sequence Editor. En esta parte se pueden
hasta el mínimo nivel de detalle mediante curvas IPO.
importar secuencias de video y audio, imágenes y
Podemos, por ejemplo, variar la velocidad del personaje
realizar transiciones entre ellas. Para generar el
que sigue sobre el path accediendo a la curva IPO asociada
resultado habrá que activar el boton Do Sequence de
al camino (ver figura 9). Para esto, tendremos que elegir de
las propiedades de Render.
la lista desplegable la opción Path. Podemos variar la
duración del camino desplazando hacia la izquierda el punto
final de esta curva (en el ejemplo está ajustado a 100
• Otras características como la generación de pelo,
frames). animación facial (drivers), métodos de render no
realista (tipo Toon Shading) efectos de profundidad de
La animación no lineal puede combinarse perfectamente campo, etc... Suerte y happy blending! :-)
con animación basada en frames clave que hemos utilizado
Figura 10
Animación para la Comunicación Escuela Superior de Informática Ciudad Real (UCLM) Práctica 11 [Página 3 de 3]