Está en la página 1de 6

Práctica 10 nos, y la convención de nombrado que utili-

za Blender.
ANL y Esqueletos Avanzados
Comencemos con un ejemplo sencillo;

L a animación de personajes digitales re- arrancamos blender, eliminamos el plano


quiere definir un esqueleto interno al por defecto e insertamos un cubo. Extrusio-
que aplicaremos Cinemática Inversa para namos la cara lateral y, activando las super-
calcular la posición de todas las articulacio- ficies de subdivisión, construimos una malla
nes. Éstas generarán unas deformaciones como la mostrada en la figura 1.
Figura 2
que habrá que trasladar a la malla del
modelo 3D. Por último se aplicará un mos siempre desde el modo de edición del
movimiento al esqueleto, construyendo una objeto.
secuencia de animación.
Podemos activar la representación del nom-
Así pues, en esta sesión identificamos dos bre de cada hueso pinchando en el botón
objetivos; en primer lugar, construir un es- Draw Names de los Botones de Edición
queleto para nuestro personaje, que asocia- (F9). Nombraremos los huesos como se ex-
remos a una malla. Indicaremos a Blender plicó en la práctica 7, y añadiremos una res-
qué vértices de la malla tendrá que defor- tricción (en modo pose del esqueleto; Con-
Figura 1
mar junto al esqueleto. En segundo lugar, trol + Tab) de tipo IkSolver al huesonull
construiremos una secuencia de animación Añadimos un Armature formado por 3 hue- con objetivo en huesoik. Ahora podemos
para el esqueleto. Podremos realizar esta sos principales (hueso1, hueso2, hueso3) mover (en modo pose) huesoik, y el resto
secuencia mediante la técnica de animación y un cuarto hueso pequeño que utilizaremos del esqueleto se calculará de forma automá-
lineal empleada en sesiones anteriores; de- para resolver la cinemática inversa (hueso- tica mediante cinemática inversa.
finiendo la posición de todos los puntos fina- null). Con el esqueleto todavía en modo de
les (IK Solver) en cada frame clave, o bien edición de huesos (color rosa oscuro,
definiendo acciones en el módulo de Anima- accedemos con Tab), añadiremos un
ción No Lineal. Utilizaremos esta segunda quinto hueso (independiente de los
alternativa, mucho más cómoda para cons- anteriores, aunque forma parte del
truir animaciones complejas. esqueleto), que utilizaremos para cal-
cular la cinemática inversa (huesoik).
Æ Primera parte: Construcción del Obtendremos una configuración similar
esqueleto. a la figura 2.

Antes de definir el esqueleto del modelo Es importante que todos los huesos
creado en la práctica anterior, veamos cómo formen parte de un único objeto Arma-
asociar un Armature a una malla de polígo- ture. Por tanto, cuando añadamos
nuevos huesos al esqueleto, lo hare- Figura 3

Escuela Superior de Informática de Ciudad Real – Universidad de Castilla-La Mancha Animación para la Comunicación
Carlos González Morcillo · http://www.inf-cr.uclm.es/www/cglez · cglez@inf-cr.uclm.es Práctica 10 [ Página 1 de 6 ]
Falta por indicar a blender botón desplegable el nombre del padre en el
cómo deformar la malla. campo child of; ver figura 6) los dos huesos
Para ello, crearemos grupos IK pequeños; IkDedosPie.R e IkTobillo.R
de vértices con el mismo con el controlador principal del pie: IkPie.R.
nombre que los huesos del Al hueso DedosPie.R añadimos una restric-
esqueleto. Asociaremos a ción “copy location” hacia el hueso IkDe-
cada conjunto de vértices dosPie.R. Al hueso PieNull.R un IkSolver
un hueso de los anteriores. hacia IkDedosPie.R. Al hueso Pie.R un
Entramos en modo de edi- “copy location” hacia PiernaNull.R. Final-
ción de vértices del objeto Figura 4
mente a PiernaNull.R un IkSolver hacia
y seleccionamos el grupo de vértices que IkTobillo.R. Si todo ha ido bien, tendremos
están situados sobre el hueso1 (ver figura el modelo (ver figura 4). Vamos a aplicar el un comportamiento como se ve en la Fig 7.
3). En los botones de edición (F9), creare- mismo método al fichero p10modelo.blend. Crearemos grupos de vértices como se ex-
mos un nuevo grupo de vértices (pinchamos plicó con el primer ejemplo de la práctica,
en new). Tecleamos el nombre del primer Comenzaremos por el esqueleto de las pier- nombrando los grupos igual que los huesos
hueso y, con los vértices del primer hueso nas. Los huesos que tengan simétricos en el
seleccionados, pinchamos en Assign. Si nos otro lado del cuerpo, como por ejemplo las
equivocamos al asignar vértices, podemos piernas y los brazos, los nombraremos aca-
quitar los erróneos con Remove. El botón bando en .R (los huesos de la derecha) y en
Select sirve para mostrar los vértices selec- .L (los de la izquierda). Esto nos servirá para
cionados de un grupo y Deselect para dese- “copiar” y “pegar” posiciones simétricas en
leccionar los vértices del grupo. Creamos un la segunda parte de la práctica. De momen-
grupo para cada hueso y asignaremos los to nos ocuparemos de mantener la notación
vértices que se muestran en la figura 3. exacta y consistente.

Si nos fijamos, hay vértices que pertenecen Añadimos como primer Armature Fémur.R,
a dos grupos. Es buena práctica que los vér- Tibia.R y PiernaNull.R. Después, y recor-
tices situados en la zona de unión de dos demos que tenemos como objetivo tener un
huesos, pertenezcan a los dos grupos de único Armature con todos los huesos, sin
vértices asociados. Blender calculará cómo salir del modo de edición, añadimos una
deformarlos para que el resultado final en la nueva cadena de huesos: Pie.R y Pie-
malla sea suave. Null.R. Finalmente, añadimos como cadenas
de un único hueso: DedosPie.R, IkDedos-
Hecho esto, haremos la malla hija del es- Pie.R, IkTobillo.R e IkPie.R (ver Figura
queleto (Control + P) Æ Use Armature. 5).
Entramos en modo de pose para el esquele- Hecho esto, emparentamos (Botones de edi-
to y movemos el hueso huesoik. Si todo ha ción F9, modo de edición - Tab - con todos
ido bien, se deberá aplicar la deformación en los huesos seleccionados, elegimos en el Figura 5

Escuela Superior de Informática de Ciudad Real – Universidad de Castilla-La Mancha Animación para la Comunicación
Carlos González Morcillo · http://www.inf-cr.uclm.es/www/cglez · cglez@inf-cr.uclm.es Práctica 10 [ Página 2 de 6 ]
Figura 6
formar la colum- Figura 8
na vertebral (Es-
tomago, Pecho
y ColumnaNull).
Para limitar el
inicio y el fin de
la columna, in-
sertamos 2 nue-
vos huesos (Ik-
Caderas e
que los deformarán: Fémur.R, Tibia.R, IkHombros). Añadimos una restric-
Pie.R y DedosPie.R. Al terminar, podemos ción de tipo CopyLocation a Esto-
emparentar la malla con el esqueleto de la mago, respecto de IkCaderas. A
pierna. La deformación debe verse en este ColumnaNull un IkSolver sobre
punto. A partir de ahora, todos los huesos IkHombros. De ese punto sacare-
que añadamos al esqueleto y grupos de vér- mos dos cadenas de huesos (una
tices en la malla tendrán resultado directo para cada lado): Hombro.R y
en el modo de animación “pose”. HombroNull.R. Hombro.R tendrá
un CopyLocation de IkHombros y
En la figura 8 puede verse una captura de la HombroNull.R servirá de origen
jerarquía que tenemos que construir. para el CopyLocation de Humero.R.
La figura 9 muestra los nombres exactos de De forma similar se definirán los
los huesos y sus relaciones de parentesco. huesos y restricciones para el lado
Añadiremos una cadena de huesos para izquierdo.
Figura 7
Contruiremos los brazos como una
cadena de 3 elementos: Humero.R,
Cubito.R y Mano.R. Añadiremos un
IkSolver (IkMano) sobre Mano.R.
Añadiremos nuevas cadenas de hue-
sos para los dedos. Índice, Corazón
y Anular tendrán 3 huesos (el dedo
pulgar sólo 2) más un cuarto hueso
(*null) que servirá como origen del
IkSolver. Añadiremos un hueso in-
dependiente para cada dedo, que
servirá como destino del IkSolver.
Además, emparentaremos el origen

Escuela Superior de Informática de Ciudad Real – Universidad de Castilla-La Mancha Animación para la Comunicación
Carlos González Morcillo · http://www.inf-cr.uclm.es/www/cglez · cglez@inf-cr.uclm.es Práctica 10 [ Página 3 de 6 ]
de cada cadena de huesos vas en blender. Una que
con Mano.R. Una captura contendrá “acciones” y
del esqueleto de esta parte otra de tipo NLA . En
puede verse en la figura 10. animación no lineal, defini-
remos las acciones como
Finalmente podemos ocultar conjuntos de posiciones
algunos huesos para que, clave de un subconjunto de
cuando estemos en modo huesos. Así, en el movi-
de edición de pose, sólo nos miento de “andar”, defini-
aparezcan los que vayamos remos la acción de “mover
a utilizar. En la figura 9 las piernas” y la acción de
aparece el conjunto de hue- “mover los brazos”. De la
sos que serían de utilidad a combinación de ambas ac-
la hora de animar el perso- ciones en el compositor de
naje (básicamente los IK- NLA (Non Linear Animation)
Solver de todas las cadenas obtendremos el movimiento
de huesos): IKPie.*, IKDe- de caminar.
dosPie.*, IKTobillo.*, IKCade-
ras, IKHombros, IKCabeza, Vamos a añadir el movi-
IKMano.*, IKPulgar.*, IKIndi-
miento de mover las pier-
ce.*, IKCorazon.* e IKAnular.*
nas al caminar. En la ven-
tana de acciones, creare-
Puede resultar de utilidad
mos una nueva pinchando
tener el esqueleto en una
capa distinta del resto de en el icono y seleccio-
elementos. Esto nos permi- nando (ADD NEW). Cam-
Figura 10
tirá ocultarlo cuando no biaremos el nombre por
estemos trabajando direc- “caminar piernas”. Nos si-
tamente con él. Después de tuamos en el frame 1 y mo-
ocultar un subconjunto de vemos IKPie.R e IKPie.L
los huesos del esqueleto, hasta obtener una posición
obtenemos una configura- similar a la figura 12. Hecho
ción como la mostrada en la esto, añadimos un frame
figura 11. clave (sólo con esos dos
huesos seleccionados, úni-
camente intervienen dos
Æ Segunda parte:
manejadores en la acción)
Animación No Lineal. sobre LocRot. En la ventana
Figura 9
3D, al lado del icono de Figura 11
Abrimos dos ventanas nue-
Escuela Superior de Informática de Ciudad Real – Universidad de Castilla-La Mancha Animación para la Comunicación
Carlos González Morcillo · http://www.inf-cr.uclm.es/www/cglez · cglez@inf-cr.uclm.es Práctica 10 [ Página 4 de 6 ]
pose , aparecen 3 iconos que nos permiten insertamos frame clave. Nos vamos al frame poner. Para ello, en la ventana NLA seleccio-
copiar , pegar y pegar invertida la 28 y pegamos la posición normal . Inser- namos todos los cuadros clave y pulsamos
pose actual. Es en el pegado invertido donde tamos de nuevo un frame clave. Si reprodu- Control + A Æ Action to NLA Strip. Hecho
entra en juego la notación especial de Blen- cimos la acción, tendremos un movimiento esto, podemos “estirar” la duración de la
der. Podemos “pegar” la posición de las parecido a andar, pero sin levantar los pies acción de caminar al número de frames que
piernas invertida siempre que hayamos se- del suelo. Bastará con que nos situemos en queramos (con la tecla S, como cualquier
guido la notación .R y .L para huesos simé- los frames intermedios (7 y 21) y añadamos objeto), o desplazarlo en la línea de tiempo
tricos. De esta forma, pinchamos en copiar nuevos frames clave con la pierna que co- (tecla G). Crearemos nuevas acciones (como
la posición actual y nos desplazamos al rresponda levantada. Finalmente, obten- la de mover los brazos, taparse la cara, girar
frame 14. Pegamos la posición invertida e dremos una acción en la ventana de accio- la cabeza...) de forma similar. Cuando
nes como se muestra en la figura 13. En la hayamos creado la barrita NLA, podemos
ventana NLA aparecerán una serie de cua- eliminar la acción de la ventana NLA para
dritos indicando los frames clave (ver figura crear nuevas, pero no antes!. Si eliminamos
13, abajo). Nos interesa convertir estos fra- los frames clave antes de pasar la acción a
mes a franjas NLA; que son barritas amari- NLAStrip, estaremos eliminando la propia
llas que podemos escalar, suavizar y com- acción. Podemos añadir acciones ya creadas
a la ventana NLA pulsando Shift + A.

Podemos ver cómo quedó la composición de


acciones de esta práctica en la figura 14. La
parte inferior, que tiene frames clave direc-
tamente sobre el objeto Lamp.004, se co-
rresponde con el efecto del foco que ilumina
la cara del muñeco al comenzar la anima-
ción. A continuación analizaremos algunas
opciones de composición.

Figura 12 Figura 13 Figura 14

Escuela Superior de Informática de Ciudad Real – Universidad de Castilla-La Mancha Animación para la Comunicación
Carlos González Morcillo · http://www.inf-cr.uclm.es/www/cglez · cglez@inf-cr.uclm.es Práctica 10 [ Página 5 de 6 ]
Blender el número de lo general, este parámetro tendrá que estar
unidades que avanza el siempre activo para todas las acciones.
modelo en cada ciclo.
Debemos ajustar este Por último, recordaremos que Blender per-
parámetro para evitar mite trabajar hasta el mínimo nivel de deta-
que el modelo “patine” lle mediante curvas IPO. Podemos, por
sobre el suelo. Es útil ejemplo, variar la velocidad del personaje
pinchar en el botón que sigue sobre el path accediendo a la cur-
PrintLen (ver figura 15), va IPO asociada al camino (ver figura 17).
Figura 15
que nos da la longitud de
Figura 17
¿Cómo hacer que el personaje siga un cami- un camino para calcular el valor de Stride.
no? Necesitamos añadir un elemento de tipo Si activamos UsePath, la acción se va a
Curve / Path. Ajustamos los puntos de sincronizar con el avance del path. En nues-
control y en los botones de animación (F7), tro ejemplo, activaremos este botón única-
indicamos los parámetros que se muestran mente en las acciones que tengan que ver
en la figura 15. En PathLen indicaremos la directamente con el acto de caminar; es
longitud en frames del Path. Activaremos los decir, “caminar piernas” y “caminar brazos”.
botones de CurvePath y CurveFollow. El botón de
Hold, si está Figura 16
Hecho esto, hacemos al Esqueleto hijo del activo, nos
Path. En la ventana NLA, seleccionamos la conserva la
acción “caminar piernas” y pulsamos la tecla última posi-
N. Con esto, accedemos a las propiedes es- ción alcan-
pecíficas de la acción (ver figura16). Las zada por una
propiedades de Strip Start y Strip End acción. Por
indican el momento en el que la acción co- último, el
mienza y termina en la planificación NLA parámetro
actual. Action Range hace mención a la Add indica
duración (en frames) de la acción (indepen- que el mo-
diente de dónde empiece). Blendin y Blen- vimiento
dout son el número de frames que damos final resulta-
para mezclar la acción con las siguientes. Es rá de la
un factor de suavizado que aplica Blender en composición
la interpolación entre acciones. Repeat indi- de esta ac-
ca el número de veces que vamos a repetir ción con el
la acción. Stride es un parámetro muy im- resto (sus
portante si estamos utilizando caminos efectos se
(paths), como en nuestro caso. Indica a suman). Por

Escuela Superior de Informática de Ciudad Real – Universidad de Castilla-La Mancha Animación para la Comunicación
Carlos González Morcillo · http://www.inf-cr.uclm.es/www/cglez · cglez@inf-cr.uclm.es Práctica 10 [ Página 6 de 6 ]

También podría gustarte