1
Apéndice: Jerarquías y otrascomplicaciones
A.1. Introducción
Habrá podido comprobar que la animación es segura-mente la parte más complicada y que más dolores de cabe-za proporciona a los artistas a la hora de crear películas entres dimensiones. Un personaje muy bien modelado peroque se mueve de forma poco natural no convence a nadie.Para simplificar tan ardua tarea se dispone de varias herra-mientas, muchas de ellas nuevas.
A.2. Jerarquías
Por suerte para los habitantes del mundo real, mucho delo que nos rodea incluidos nosotros mismos está compuestopor entidades jerárquicas. El dedo depende de la mano, lamano del antebrazo, éste del brazo y que a su vez depende deltronco. Lo mismo ocurre con una pala excavadora o un flexode mesa.
El programa 3ds Max proporciona herramientas para crearpuntos de articulación entre los objetos y de este modo facili-tar enormemente la creación de animaciones. A continuaciónse explicará cómo definir estas estructuras jerárquicas.
A.2.1. Los vínculos entre objetos
Cuando se crea un vínculo entre dos objetos, uno de ellosse denomina ascendiente y el otro descendiente. Por ejem-plo, en una mano, la palma es el ascendiente y los dedos losdescendientes. El descendiente depende, claro está, del as-cendiente, es decir, que si el objeto padre se mueve el obje-
A
2
to hijo le sigue, pero no a la inversa: el objeto hijo se puedemover sin que el padre le siga.
Esto puede verse en la escena de la figura A.1. Si semueve o se cambia de escala la base, que es el objeto padre,el giroscopio también sufre la transformación. Pero si sehace rotar el giroscopio la base no gira con él.
Figura A.1. Relaciones jerárquicas entre objetos.
Para crear un vínculo entre dos objetos se realizan lassiguientes operaciones:
1. Hacer clic en el botón Select and Link (seleccio-
nar y vincular).2. Hacer clic en el objeto descendiente y sin soltar el
botón arrastrar hasta el objeto ascendiente, es decir,se vincula el hijo al padre.11. Haga clic en el botónSí para comenzar el proceso de envío de datos a launidad de destino. Acabará con una ventana que mos-trará un mensaje de éxito en el proceso.
Para desvincular un objeto descendiente de su ascendiente
se selecciona y a continuación se hace clic en el botón Un-
link Selection (desvincular selección).
3
Nota: Una regla mnemotécnica para acordarse de en quéobjeto hay que hacer clic primero, es repetir al mismo tiem-po la frase "este objeto depende de este otro" u otra a talefecto.
A.2.1.1. Vista como subárbol
Si se activa la casilla Subtree en la ventana de selecciónpor nombre pueden verse los objetos ordenados bajo susdescendientes, y sangrados según la jerarquía que se hayadefinido en el programa.
A.2.1.2. Vista esquemática
Las estructuras jerárquicas pueden visualizarse en for-ma de esquema. Basta con activar una nueva vista esque-mática en cualquiera de los visores o en una ventana apartemediante el menú del mismo nombre. Cada objeto se re-presenta por una caja, y aquí pueden establecerse todas lasdependencias de forma sencilla, como muestra la figura A.2.
Figura A.2. Vista esquemática.
4
A.2.2. Los puntos de pivote
El pivote de un objeto (Pivot Point) es la representaciónde su eje de coordenadas propio, es decir es el sistema localde coordenadas que se emplea para moverlo, girarlo o cam-biar su tamaño.
Inicialmente los pivotes se sitúan en el centro de grave-dad del objeto de forma automática, pero el pivote se pue-de reorientar y colocar en cualquier parte, incluso como unpunto externo al objeto.
Para editar los puntos de pivote de los objetos se em-plean las opciones del panel jerarquía que aparecen cuan-do se selecciona el botón Pivot. Las opciones de la persianaAdjust Pivot son las siguientes:
• Affect Pivot Only (transformar sólo pivote): Se mo-difica la posición del pivote respecto al objeto.
• Affect Object Only (transformar sólo objeto): Semodifica la posición del objeto respecto al pivote.
• Affect Hierarchy Only (transformar sólo jerarquía):Se modifica la rotación o escala de la jerarquía a la quepertenece el objeto pero sin transformar el pivote.
• Alignment (alineación): Los botones de esta área sir-ven para alinear el objeto, la jerarquía o el pivote, se-gún la opción seleccionada antes, para centrarlo en elobjeto o en el pivote, alinearlo con el objeto el pivote,o cualquiera de ellos con los ejes universales.
• Reset Pivot (restablecer pivote): Restaura el estadoinicial del pivote.
• Ajust Transform (ajustar transformación): Si se ac-tiva el botón No transformar descendientes, los ajus-tes entre pivote y objeto no afectan a sus descendientes.
El pivote aparece representado como un conjunto de ejesde referencia con un centro llamado centro de pivote, comomuestra la figura A.3, en la que se pueden ver distintas posi-ciones del pivote respecto al objeto.
Por ejemplo, a la hora de construir una lámpara de mesaes preciso colocar los pivotes de cada brazo alineados con elobjeto pero situados no en su centro sino en su extremo, comomuestra la figura A.4, ya que será el punto de giro. Ademásde los pivotes en una figura de este tipo es preciso establecerla jerarquía, que aparece en la lista de objetos.
5
Figura A.3. Selección de los puntos de pivote.
Figura A.4. Ejemplo de alineación de pivotes.
6
A.3. Cinemáticas
Son ni más ni menos que los procedimientos por los cua-les se asigna movimiento a una jerarquía de objetos. Haydos tipos fundamentales: cinemática inversa y cinemáticadirecta.
A.3.1. La cinemática directa
Esta es la opción que no se debe elegir para mover obje-tos vinculados a no ser que sea absolutamente necesario,es decir, que se exija una precisión total. Para modificar laposición del flexo de la figura se siguen estos pasos:
1. Se sitúa la lámpara completa en el lugar correctomoviendo la base.
2. Se hace girar el primer brazo.3. Se selecciona y se gira el segundo brazo.4. Se hace girar la pantalla.
El resultado de estas operaciones se ve en la figura A.5.Cuando descubra la cinemática inversa comprenderá susdiferencias con este método.
Figura A.5. Movimientos con cinemática directa.
7
A.3.2. La cinemática inversa (InverseKinematics)
La cinemática inversa (Inverse Kinematics) o IK es unmétodo revolucionario de animación de objetos vinculadoscuya principal característica consiste en hacer las cosas alrevés. Sin embargo es lo más lógico: para mover un brazose arrastra el dedo y el resto del brazo sigue el movimiento.
Para conseguir este comportamiento es preciso definiren primer lugar bastantes parámetros. Lo más importantees disponer de una jerarquía de objetos debidamente vin-culada y con los pivotes en su lugar, como es el caso de lalámpara flexo utilizada en los ejemplos anteriores. Pero eneste caso los vínculos funcionan al revés: el objeto descen-diente (la pantalla) actúa sobre el ascendiente (el brazo).Esto obliga a definir algunos conceptos:
• Parámetros de unión: establecen la dirección y lasrestricciones de las uniones entre los objetos. Porejemplo, un codo humano sano no puede doblarsehacia atrás.
• Cadenas cinemáticas (Kinematic Chain): se denominaasí a una cadena completa de objetos a los que seaplica cinemática inversa. El objeto final es la raíz dela jerarquía, porque arrastra a todos los demás.
• Terminador (Terminator): chistes cinematográficosaparte, es un objeto adicional (normalmente un obje-to ayudante ficticio) que sirve como raíz de la cade-na cinemática.
• Efector final (End Effector): es el objeto que se mueveen una cadena cinemática, y por lo general es el ter-minador.
A.3.3. Construcción de esqueletos
En 3ds Max no es necesario definir las cadenas de obje-tos y sus vínculos manualmente. El programa proporcionala herramienta Bones (huesos) que genera automáticamen-te estructuras ya enlazadas para utilizarlas en cinemáticainversa. Utilizando los huesos es fácil definir brazos o pier-nas que se articulen como es debido. Estos esqueletos sir-
8
ven como un armazón sobre el que se colocan objetos demalla, que recubren el esqueleto como en la figura A.6.
Figura A.6. Ejemplo de esqueleto con piel.
Para crear esqueletos se activa el botón Bones en la categoríaSystems del panel Create o se abre la persiana Bone Tools delmenú Character, donde se activa el botón Create Bones (crearhuesos). Basta con hacer clic y arrastrar en un visor para crear elelemento raíz, arrastrar de nuevo y hacer clic para crear el pri-mer descendiente y así sucesivamente. Para terminar se hace cliccon el botón derecho.
El esqueleto ya se encuentra vinculado y tiene todos los pivo-tes en su lugar correcto. Si intenta rotar cada una de las secciones
con comprobará su funcionamiento.
Además cualquier jerarquía de objetos puede funcionar comoun esqueleto. Basta con seleccionar los objetos y activar la op-ción Bone On en la sección de Object Properties dentro de lapersiana Bone Tools. En el caso de la lámpara anterior, funcionacomo un esqueleto sin dificultad, como muestra la figura A.7.
A.3.3.1. Modificación de huesos
La ventana de Bone Tools que se puede activar desde elmenú Character proporciona las opciones necesarias para
9
Figura A.7. Aplicación de un esqueleto.
editar un esqueleto una vez definido. Además de la posibi-lidad de crear huesos, podrá cambiarlos de posición dimen-sión, y añadirles protuberancias para hacer más fácil suvisualización y manejo:
• Bone Edit Mode (modo de edición de huesos): con estebotón se puede cambiar la longitud de un hueso mo-viendo su descendiente.
• Create End (crear fin): crea un hueso corto al final delhueso seleccionado.
• Remove Bone (suprimir hueso): elimina el hueso se-leccionado, y su ascendiente y descendiente se unenentre sí, conservando la cadena de IK.
• Connect Bones (conectar huesos: crea un hueso de co-nexión entre dos huesos separados.
• Delete Bone (eliminar hueso): elimina el hueso selec-cionado, dejando el hueco y perdiendo la cadena de IK.
• Reassign Root (reasignar raíz): convierte el hueso se-leccionado en la raíz (ascendiente) de la estructura ósea.
• Refine (refinar): divide un hueso en dos por el puntodonde se haga clic.
10
• Bone Coloring (coloración de huesos): en este grupose puede definir el color de los huesos.
• Bone Objects (objetos de hueso): aquí se puede ajus-tar su anchura, altura y lo afilado que es.
• Fins (resaltos óseos): son las protuberancias con for-ma de aleta que se añaden a los lados, frente y partetrasera de los huesos. Se puede ajustar su tamaño yforma, con los valores de afilado (Taper).
La figura A.8 muestra un esqueleto representado conaletas.
Los huesos son en principio invisibles, pero se puedenrenderizar si se activa esta opción en la ventana de queaparece al hacer clic con el botón derecho sobre el hueso yseleccionar Properties.
Figura A.8. Modificación de los huesos.
Los huesos se pueden modificar individualmente me-diante las opciones de la persiana Object Properties de laventana Bone Tools. Son las siguientes:
• Bone On: si se activa, cualquier hueso u objeto se com-porta como un hueso.
11
• Freeze Lenght (congelar longitud): si está activada,el hueso mantiene su longitud. Si no, la longitud delhueso cambia para adaptarse a la posición del des-cendiente.
• Auto Align (alinear auto): al desactivarla el punto depivote del hueso no se alinea con su objeto descen-diente. Al mover el descendiente, se separa del hue-so anterior.
• Stretch (estirar): si la longitud no está congelada,determina el tipo de estiramiento que se produce.
• Axis (eje): determina el eje en que se aplica el estira-miento.
• Realign (realinear): hace que el eje X del hueso se rea-linee, si se ha modificado su posición tras desactivarel alineamiento,
• Reset Stretch (restablecer estirar): restablece la po-sición inicial del hueso descendiente, y con ella el ta-maño original del hueso.
• Reset Scale (restablecer escala): restablece la escalainicial del hueso.
A.3.3.2. Los resolutores de IK (IK Solvers)
Al crear un esqueleto o más adelante, una vez definido,se pueden asignar resolutores de cinemática inversa (IKSolvers) a la estructura, o lo que es lo mismo, métodos porlos cuales el esqueleto se comportará como tal. Con ellossólo hay que colocar el terminador de un esqueleto (porejemplo, una mano) en sus posiciones inicial y final. El re-solutor se encarga de calcular todas las posiciones interme-dias, desplazando todo el cuerpo si es preciso (dentro delos límites marcados) para completar el movimiento.
Hay tres tipos de resolutores, disponibles en la opciónIK Solvers del menú Animation:
• HI Solver (resolutor de IK IH, independiente del his-torial): Se utiliza por defecto para animar persona-jes. Es independiente del historial porque no necesitarevisar el resto de la animación que hay detrás paracalcular un movimiento, con lo que es muy adecua-do para animaciones largas. Se pueden crear variascadenas de movimiento en una misma jerarquía, porejemplo, una para el brazo y otra para la mano. Creaun efector final, que es un objeto ayudante en forma
12
de cruz en el extremo de la jerarquía para tirar de él ydefinir los movimientos.
• HD Solver (resolutor de IK DH, dependiente del his-torial): Es el resolutor que se encontraba en versio-nes anteriores de 3ds Max. Como depende del laanimación anterior, es mejor utilizarlo en secuenciascortas. Es el adecuado para las uniones deslizantes ymovimientos que deban ser amortiguados, por ejem-plo.
• IK Limb Solver (resolutor de miembros de IK): Seaplica sólo en dos huesos de una cadena. Se empleapara motores de videojuegos porque es muy rápidoy además es programable.
• SplineIK SOlver (resolutor IK de spline): utiliza unacurva spline para definir la posición de los huesos encada momento, como si se tratara de una serpiente.Si se activa este método desde el principio la splinese crea automáticamente.
Para aplicar un resolutor se procede de esta forma: alcrear una estructura de huesos, en la persiana IK ChainAssignment se puede seleccionar desde el principio el re-solutor y activarse las opciones Assign To Children (asig-nar a descendientes) y Assign To Root (asignar a principal).
A.3.3.3. Otros métodos de IK
Además de las posibilidades anteriores, hay dos opcio-nes más para crear cinemática inversa, disponibles en elpanel Hierarchy:
• Interactive IK: Permite aplicar IK sin necesidad deresolutor. Se activa con el botón IK Interactive en elpanel Hierarchy, y se basa en animar manualmentelos terminadores. No hay cálculo de posiciones inter-medias, sólo interpolacion como en el resto de lasanimaciones, por lo que puede haber resultados nomuy exactos.
• Apply IK: Con esta opción se pueden animar los ob-jetos de control que el programa calcule la soluciónen cada cuadro de un rango determinado. Se aplicacomo claves normales de transformación, y permitecombinar cinemática directa e inversa en los mismosobjetos.
13
A.3.3.4. Parámetros de uniones
Cuando se crea una estructura para cinemática inversahay dos tipos de uniones: las uniones rotativas, como lasde la lámpara, y las uniones deslizantes como las de un te-lescopio. En ambos casos se pueden establecer límites ydistintas tensiones en cada una de las uniones en la persia-na correspondiente dentro del panel Hierarchy, lo cual de-termina cuál de ellas se mueve primero.
En el caso de la lámpara hay que definir los ejes de giroválidos y los límites. Esto se realiza sobre los elementos delesqueleto.
1. Lo primero es impedir que la base se mueva. Para ellose selecciona Bone01 y se desactivan todos los ejes dearticulaciones rotativas en la persiana Rotational Jo-ints del panel Hierarchy.
2. A continuación se selecciona Bone02 y se activa sóloel eje Y. Se limita el movimiento activando Limited eintroduciendo valores para From (desde) y To (hasta).
3. También se puede establecer una posición de reposocon Spring Back, para que vuelva a ella automática-mente, como si tuviera un muelle. Con Spring Tensionse ajusta el valor de la tensión de vuelta a la posiciónde reposo, y con Damping se incorpora cierta resisten-cia a la unión, como si estuviera oxidada.
4. Se repiten las mismas operaciones definiendo los lí-mites para Bone03, Bone04 y Bone05. En todos ellossólo hay un eje activo de rotación.
Figura A.9. Ajuste de uniones.
14
Ninguno de los elementos del esqueleto presenta ejesactivos de deslizamiento. Los límites de rotación aparecencomo arcos de circunferencia, como muestra la figura A.9.Para crear animaciones sólo hay que mover la cruz azul delefector y colocar la lámpara en la posición deseada.
A.4. Animación de personajes con piel
Mover esqueletos está bien, pero los personajes tienenque dar la apariencia de ser de carne y hueso, y hasta ahorala carne no ha hecho su aparición. Para este fin 3ds Maxdispone del modificador Skin (piel), que puede asignar cual-quier malla a un esqueleto para que lo envuelva y se defor-me con el movimiento. Todo esto se verá mucho más clarocon un ejemplo:
A.4.1. Creación de las piernas
Para empezar se crearán las piernas y la pelvis del per-sonaje. Para ello se procede como en el caso del avión delcapítulo anterior, partiendo de una sencilla caja y definien-do formas por extrusión:
1. Cree una caja de tres segmentos de anchura, uno dealtura y uno de longitud.
2. Haga clic con el botón derecho sobre ella y seleccio-ne Convert To Editable Mesh.
3. En el panel Modify seleccione el subobjeto Polygon.4. Trabaje en la vista de Perspective con la opción Ed-
ged faces del menú del cuadrante activada. Seleccio-ne el segmento de uno de los lados y muévalo haciael interior para estrechar el segmento central.
5. Con el botón derecho seleccione Extrude Polygons.6. Seleccionar los dos polígonos de los lados en la parte
inferior y extruir ambos.7. Repetir la operación biselando cuando sea necesario
hasta completar la pierna.8. Seleccionar las últimas caras de la parte frontal y ex-
truir para crear los pies.9. Extruir y biselar las caras de la parte superior para
formar el tronco y la cabeza.10. Extruir las caras de los laterales para formar los brazos.
15
11. Seleccionar toda la pierna de un lado y mover para ajus-tar la forma.
12. Aplicar el modificador MeshSmooth con dos iteraciones.
13. En el catálogo de modificaciones seleccionar Collap-se All.
La figura A.10 muestra el proceso de creación del perso-naje. A continuación es preciso crear el esqueleto que lo vaa animar, para lo cual conviene congelarlo empleando las
opciones de la persinana Freeze del panel Display.
Figura A.10. Modelado del personaje.
A.4.2. Creación de los huesos
A continuación se creará el esqueleto que permitirá ani-mar el personaje. Para empezar se crearán las piernas. Sigaestos pasos:
1. Seleccionar Systems en el panel Create.
2. Seleccionar Bones.
16
3. En el panel Create seleccionar IK Solver>IKLimb yactivar Assing To Children (asignar a descendientes)y Assign To Root (asignar a principal).
4. En el visor Left, hacer clic a la altura de la cadera yextender el primer hueso hasta la rodilla.
5. Hacer clic de nuevo para extender el segundo huesohasta el talón.
6. Extender el hueso del pie y hacer clic con el botónderecho para terminar.
7. Seleccionar por nombre todos los huesos creados.
Bloquear la selección.8. En el visor Front, desplazarlos para que encajen en la
pierna, como en la figura A.11.
Figura A.11. Creación de los huesos de la pierna.
Ahora se establecerán los límites del movimiento parala pierna en el esqueleto:
1. Abrir el panel Motion y seleccionar Mostrar esta-do inicial. Esto permite ajustar los límites sin afectarla postura de la pierna.
17
2. En el panel Hierarchy, seleccionar IK.3. Seleccionar el primer hueso.4. En la persiana Rotational Joint active las opciones Active y
Limited para el eje Y.5. Dar valores a From y To para fijar los límites del movimien-
to. Si la articulación no es la correcta (la pierna gira en lugarde doblarse, seleccione un eje diferente).
6. Repetir la operación con todos los huesos hasta llegar al pie.
Los límites se establecen dentro de las posibilidadeshumanas, es decir, la rodilla no se dobla hacia atrás. Comoal crear los huesos seleccionó un resolutor de IK, la piernaya está enlazada y hay un terminador a la altura del talón.Para podrá arrastrar el efector final, esa cruz azul al finalde una de las piernas, para ver cómo las articulaciones si-guen el movimiento. La figura A.12 muestra cómo.
Figura A.12. Movimiento arrastrando el terminador.
Una vez definido el funcionamiento de la pierna, ahorahay que obtener una copia de los huesos y la cadena cine-mática y colocarla en su lugar. Basta con seleccionar todos,bloquear la selección, mantener pulsada Mayús y despla-zarlos hasta su lugar para obtener una copia. Los límitestambién se copiarán, como en la figura A.13.
18
Figura A.13. Copia de los huesos.
Figura A.14. Creación de los huesos de los brazos y lacolumna.
19
Del mismo modo debe crear la columna vertebral, colo-cando el terminador de la cadena cinemática a la altura delcuello, y los brazos, colocando el terminador en las manos.Para crear un brazo a partir de otro emplee la herramientaMirror. La figura A.14 muestra cómo hacerlo.A continua-ción debe crear cinco objetos ficticios (dummy objects) queservirán para mover cada uno de los miembros: uno en elcuello, otro en la base de la columna, uno en cada mano yuno en cada pie. La figura A.15 muestra el resultado.
Figura A.15. Creación de objetos dummy.
A.4.3. Vinculación del esqueleto
La parte más laboriosa es establecer las uniones entrelos objetos dummy o ficticios. Utilice la herramienta Select
and Link y siga cuidadosamente estos pasos:
1. Vincule el terminador de la cadena de cada brazo alobjeto ficticio correspondiente a la altura de las manos.
2. Vincule el terminador de la cadena de cada pierna alobjeto dummy que hay en cada talón.
3. Vincule el terminador de la columna vertebral situa-do en el cuello al dummy del cuello.
4. Vincule el primer hueso de la columna al objetodummy que hay en la base.
20
5. Vincule el primer hueso de cada pierna al objetodummy que hay en la base de la columna.
6. Vincule el objeto dummy del cuello al objeto dummyde la base de la columna.
7. Vincule los objetos dummy de las manos al objetodummy del cuello.
8. Vincule los objetos dummy de los talones al objetodummy de la base de la columna.
Con estos pasos puede probar a animar el esqueleto delpersonaje, pero pulse deshacer después de cada modifica-ción para mantener la postura. Al inclinar el cuello, los bra-zos siguen el movimiento. Si arrastra el objeto colocado enla base de la columna, todo el personaje se mueve.
A.4.4. Preparación de la piel
Ahora se asignarán la figura modeladas antes al esque-leto como piel. De esta forma, al animar el esqueleto, lamalla se adaptará para seguir el movimiento:
1. Seleccione la malla.2. Pulse en Unfreeze All en el panel Display.
Figura A.16. Selección de huesos para la piel.
21
3. En el panel Modify seleccione Skin.4. Haga clic en Add y en la lista seleccione todos los
huesos de la lista, pero ni los ficticios ni las cadenascinemáticas, como en la figura A.16.
Para que el personaje siga el movimiento del esqueletoes necesario definir qué parte de la malla se ve influida porcada hueso. La forma más sencilla de hacer esto es "pintar"las zonas a las que afectan los huesos. Siga estos pasos:
1. Seleccione la malla.2. En el visor Perspective desactive el modo Edged
Faces.3. En el panel Modify haga clic en Edit Envelopes (edi-
tar envolventes).4. Seleccione un hueso de la pierna.5. Haga clic en Paint Weights (pesos de pintura) en la
persiana del modificador Skin.6. Haga clic en el botón de la derecha para abrir la ven-
tana de opciones. Aumente el valor de Max Size (ta-maño máximo) para hacer más grande el pincel yactive la opción Mirror (simetría) en la parte inferior.
La opción Mirror incluye otras opciones. Para ahorrartrabajo, los pesos de vértice se pueden aplicar a los dos la-dos simultáneamente en objetos simétricos. Hay que ajus-tar lo siguiente:
1. En la persiana Mirror Parameters del panel Modify se-leccione como Mirror Plane (plano de simetría) el Z.
2. Ajuste el valor de Mirror Offset (desfase de simetría)hasta que el plano quede en el centro del cuerpo y loshuesos de un lado aparezcan en azul y los del ladocontrario en verde. Ahora se puede aplicar la simetría.
3. Haga clic y arrastre sobre la superficie de la piernapara pintar de rojo la parte de la piel que correspon-de al hueso. Con la opción simetría, se refleja en laotra pierna. No olvide pintar la parte trasera de lapierna.
4. Desactive Paint Weights, seleccione otro hueso, actí-velo de nuevo y repita la operación. Siga con cada unode los huesos de una mitad del esqueleto.
La figura A.17 muestra el procedimiento. Ahora puededesactivar Edit Envelopes. Con esto, cada vez que seleccio-
22
ne uno de los huesos, se iluminará en rojo la parte de la pielque se va a mover, como se ve en la figura A.18. A continua-ción puede intentar mover los objetos ficticios para compro-bar que el personaje sigue al esqueleto correctamente.
Figura A.17. Asignación de pesos de pintura.
Figura A.18. Visualización de la parte controlada por unhueso.
23
A partir de este momento se pueden animar los huesospara crear el movimiento del personaje corriendo. La mallase dobla para adaptarse a cualquier postura, como en la fi-gura A.19.
Figura A.19. Animación del personaje con piel.
A.4.5. Ensamblaje de personaje (CharacterAssembly)
Para hacer más fácil del tratamiento de personajes conesqueleto, 3ds Max dispone del grupo Personaje, que inte-gra todos los elementos que lo componen: la malla, huesos,cadenas de IK, objetos ayudantes, controladores y otrosobjetos. Para crear un personaje se seleccionan todos loselementos y a continuación Character>Create Character.
Una vez está creado, se pueden efectuar diversas accio-nes sobre todo el grupo, como guardar y cargar animacio-nes, definir una postura inicial, etcétera.
Cuando se crea un ensamblaje de personaje, se crea unobjeto identificador llamado nodo, que se coloca cerca dela parte inferior del ensamblaje y recibe el nombre prede-terminado Character01. Al seleccionar el nodo se accede alas herramientas especiales en el panel modificar, como enla figura A.20. En la persiana Character>Character Members(miembros del personaje) es posible añadir otros objetos alensamblaje después de haberlo creado.
24
Figura A.20. Ensamblaje de personaje.
Postura predeterminada
La Postura predeterminada es la postura inicial al apli-car el modificador Skin a una malla sobre una estructurade huesos. Se establece mediante la opción Set Skin Pose(definir como postura predeterminada) del menú Charac-ter. Si se modifica la postura accidentalmente, se puede re-cuperar empleando la opción Assume Skin Pose (adoptarpostura predeterminada). Para modificar la postura deter-minada se activa la opción Skin Pose Mode (modo de pos-tura predeterminada).
Presentación de personajes
Para que el tiempo de redibujado de un personaje nohaga muy lento el trabajo se emplean las opciones de estapersiana para mostrar el personaje en baja resolución.
Animación de personajes
La animación del ensamblaje de personaje puede guar-darse o restablecerse en este grupo. También puede inser-tarse en el ensamblaje de personaje actual la animación deotro personaje previamente guardada en un archivo .anm.
25
A.5. El modificador Morpher
El modificador Morpher de versiones anteriores ha evo-lucionado mucho. Con él es posible animar mallas por obje-tivos, es decir, sus vértices se mueven para adaptarse a unaposición final. Con este sistema no sólo es posible animarlas transformaciones de un personaje en otro, sino que tam-bién se pueden crear personajes que hablan y sincronizar losmovimientos y las expresiones faciales con facilidad.
En el ejemplo de la figura A.21 se pueden ver los objeti-vos necesarios. No hace falta crear una expresión para cadaletra, sólo para los siguientes grupos:
• A, I• E• F, V• C, D, G, J, K, N, S, T, Y, Z• B, M, P• O• T, L• U• W, O
Además se pueden añadir caras para el movimiento delas cejas y el parpadeo. La expresión final se compone conuna mezcla de los objetivos. También puede funcionar conun conjunto menor de expresiones, pero es menos realista.
Las caras del ejemplo están creadas mediante correcto-res editables. De esta forma es sencillo modificar las expre-siones arrastrando los vértices de las curvas que forman laexpresión, como en la figura A.22. También se puede em-plear el modificador con NURBS o mallas editables, peroen este caso los objetivos tienen que tener el mismo núme-ro de vértices que el original. Todas las expresiones objeti-vo tienen que estar presentes en la escena, aunque invisibles,para poder animar una sola cara.
Para aplicar el modificador se siguen estos pasos:
1. Se seleccionar el objeto original.2. En el panel Modify se selecciona Morpher.3. En la persiana lista de canales se hace clic con el bo-
tón derecho en el primer canal y se selecciona Pickfrom Scene (desginar en la escena).
26
4. Se hace clic en el objetivo.5. Arrastrar el contador del canal para comprobar cómo
se aplica la metamorfosis al primer objeto.6. Asignar el resto de los canales a otros objetivos.
En la figura A.23 aparece un viejo conocido con la bocaabierta y el ceño fruncido sucesivamente. Con el modifica-dor Morpher se consigue animar una combinación de estasdos expresiones.
Figura A.21. El modificador Morpher.
Figura A.22. Aplicación de morfismo a expresiones.
27
Figura A.23. Aplicación del modificador Morpher.
A.5.1. Controlar animaciones con reguladores
Los reguladores son mandos deslizantes (sliders) que sepueden insertar en cualquiera de los visores y permitencontrolar cualquier parámetro de cualquier objeto de la es-cena. En el ejemplo anterior se puede añadir un reguladorque controlará lo abierta o cerrada que está la boca del per-sonaje. Siga estos pasos:
1. Seleccione Create>Helpers>Manipulators>Slider yhaga clic en el visor perspectiva.
2. Seleccione el regulador y a continuación la opción demenú Animation>Wire Parameters>Wire Parameters.
3. En el menú de contexto seleccione Object>Value yhaga clic en el personaje de origen al que se ha aplica-do el modificador Morpher.
4. Aparecerá otro nuevo menú con todas las posibilida-des que se pueden controlar con el regulador. Selec-cione Modified Object>Morpher>Nombre, dondeNombre es el nombre del personaje objetivo del modi-ficador Morpher.
5. En la ventana de parámetros de interconexión apare-cen resaltados por un lado el parámetro Value del re-
28
gulador, y por otro el objetivo del modificador Mor-pher. Haga clic en el botón <--> de Two-Way Con-nection (conexión bidirecional), y a continuación enConnect. Cierre la ventana.
Con estas operaciones el regulador está conectado a lamodificación Morpher. Para ver el efecto tiene que activar
la herramienta Select and Manipulate, y arrastrar el
mando del regulador.
A.6. Modificador Flex (flexión)
Con el modificador Flex es posible simular cuerpos blan-dos que se agitan al moverse, como por ejemplo un muelleo un tejido. El movimiento se genera automáticamente alanimar el objeto. Flex se puede aplicar a NURBS, correcto-res, mallas y FDD. Se puede además combinar con los efec-tos especiales de Gravity, Wind, etcétera.
Para aplicar el modificador es preciso asignar pesos alos vértices pitándolos. El color de los vértices afecta a larigidez de los vértices. Los amarillos son más rígidos y losazules menos.
Los parámetros del modificador son los siguientes:
• Subobjetos: permite seleccionar los subobjetos Cen-ter, para definir el centro del efecto, Edge Vertices(vértices de arista), para controlar la atenuación ydirección y Weights & Springs para pintar los pesosy muelles.
• Parameters: aquí se ajusta la cantidad de flexión conFlex, la fuerza del efecto muelle con Strength y eltiempo de Sway (vaivén),
• Weights and Painting: con Paint se puede arrastrarel cursor sobre la malla para pintar pesos de vértice.Al pasar más de una vez se aumenta el peso. ConStrength (fuerza) se ajusta el peso que se pinta encada pasada. Además se puede ajustar el Radius delpincel y su Feather (calado o dureza).
• Vertex Weights: aquí se pueden ajustar manualmen-te los pesos de vértice de forma absoluta o relativa.
• Forces & Deflectors: muestra los efectos especialesasociados y sus parámetros.
29
Con el personaje de ejemplo de otros capítulos se puedever el efecto de este modificador. Para ello se aplicará a lalengua, que se balancea al mover la cabeza. Lo primero esvincular la lengua a la cabeza. A continuación hay que pin-tar los pesos de la lengua. Para ello se hace clic en Paint y sefija la fuerza en -10. Pasando el cursor por la parte inferiorde la lengua se disminuye su peso, es decir, se hace másflexible y su color es más azulado.
A continuación haga clic en Animate y mueva la cabeza.La lengua se balanceará sola, como en la figura A.24.
Figura A.24. Aplicación del modificador Flex.
Para usar el viento como la fuerza que agita la lenguasiga estos pasos:
1. En el panel Create, presione Space Warps y elija For-ces.
2. Seleccione Wind, haga clic y arrastre dentro del visorFront para crear un gizmo de viento.
3. En la persiana Parameters, defina Strength y Turbu-lence en 4.
4. Seleccione la lengua y en el modificador Flex, dentrode la persiana Forces and Deflectors, haga clic en Addpara poder seleccionar el gizmo de viento.
5. Pulse reproducir para ver cómo ondea la lengua.
30
El modificador Flex tiene otras posibilidades para crearanimaciones realistas:
• Muelles avanzados: con los muelles se puede mante-ner constante el volumen de flexión mientras se de-forma, con lo cual se obtiene la sensación de unelemento flexible, pero no elástico, como la tela.
• Detección de colisiones: la detección de colisionespermite que un objeto con Flex colisione con otroobjeto, incluido él mismo.
A.7. Sistemas de partículas
Los sistemas de partículas permiten simular elementosdel mundo real que de otro modo serían imposibles de rea-lizar con detalle, tales como la lluvia, la nieve o el polvo.Con los sistemas de partículas se pueden simular líquidosy explosiones.
A.7.1. Creación de sistemas de partículas
Para crear sistemas de partículas se emplea la subcate-goría Particle System dentro de geometría en el panel Crea-te. En cualquiera de los casos es necesario seguir esteproceso:
1. Crear un emisor de partículas, que es un objeto conuna orientación y un tamaño determinados.
2. Establecer la cantidad de partículas, tasa de creacióny de vida.
3. Establecer la forma y tamaño de las partículas. Sepuede seleccionar uno de los disponibles o un objetode la escena.
4. Determinar el movimiento de las partículas: direc-ción, rotación, velocidad, etcétera
5. Asociar efectos especiales si es preciso para modifi-car el movimiento de las partículas.
Así pues, en todos los sistemas se dispone de unos pará-metros parecidos organizados en persianas. Son los siguien-tes:
31
• Parameters (parámetros): Son los valores generalestales como número y tamaño de las partículas.
• Particle Generation (generación de partículas): Per-mite establecer el ritmo de creación y la vida de laspartículas antes de desaparecer.
• Particle Type (tipo de partículas): Permite establecerel tipo de partículas, o seleccionar los objetos queactuarán como tales.
• Rotation and Collision (rotación y colisión de partí-culas): Con estos parámetros se hace girar a las partí-culas como en un torbellino, y que choquen entre sí.
• Object Motion Inheritance (herencia de movimientode objeto): Permite que el movimiento del emisor in-fluya en las partículas
• Bubble Motion (hinchar movimiento): Simula la fluc-tuación producida en ciertos sistemas como las bur-bujas ascendentes.
• Particle Spawn (multiplicación de partículas): Esta-blece cómo se generan las nuevas partículas al cho-car o desaparecer.
La figura A.25 muestra distintos sistemas de partículas.
A.7.2. Flujo de partículas
Flujo de partículas es una nueva opción de sistemas departículas que permite un control mucho más preciso so-bre la forma en la que el sistema actúa. Para crear un flujode partículas se siguen estos pasos:
1. En el panel Create seleccione Geometry>Particle Sys-tem, haga clic en PF Source y a continuación hagaclic y arrastre en alguno de los visores.
2. Abra el panel Modify y haga clic en el botón ParticleView.
De este modo se abre el nuevo cuadro de Particle View,al que también puede acceder con la opción de menú Gra-ph Editors>Particle View. Puede comprobar que el sistemade partículas ya funciona, arrastrando el regulador de tiem-po, para ver cómo salen las partículas.
En esta ventana de vista aparece el origen de las partí-culas con sus propiedades dentro de una caja, y asociado a
32
Figura A.25. Creación de un sistema de partículas.
él otro conjunto de propiedades de suceso en una caja dife-rente. De este modo se pueden conectar gráficamente laspartículas con los sucesos.
Los sucesos permiten controlar las partículas. por ejem-plo, detectando colisiones con un objeto deflector o siendoempujadas por una fuerza, como el viento o la gravedad.Las pruebas son parecidas a los sucesos y comprueban cons-tantemente si se da una condición para actuar en consecuen-cia. Para añadir un nuevo suceso o prueba basta conincorporarlo dentro de la ventana del suceso actual. Sigaestos pasos para incorporar un nuevo suceso que hará quelas partículas persigan a uno de los objetos de la escena:
1. En cualquier parte de la escena cree un nuevo objeto,por ejemplo, una esfera.
2. Arrastre la prueba Find Target para colocarla dentrode la caja Event01. Haga clic en la nueva línea FindTarget dentro de la caja.
3. En la lista de propiedades de la derecha, en la listaTarget, haga clic en Add y a continuación en la esfe-ra que ha creado antes.
33
4. Arrastre el regulador de tiempo para comprobarcómo las partículas se dirigen hacia la caja. Si se ani-ma la caja, las partículas seguirán su movimiento(véase la figura A.26).
Figura A.26. Flujo de partículas y la ventana Particle View.
A.8. Efectos especiales (Space Warps)
Hay dos tipos principales de efectos especiales accesi-bles desde la opción Space Warps del panel Create. Losefectos Geometric/Deformable y los de Forces y Deflectors.Los efectos de geometría sirven para alterar la superficiede los objetos del mismo modo que los modificadores, peroen este caso es posible animar el efecto con mayor facili-dad. Los efectos geométricos disponibles son:
• FDD (Box/Cyl)• Wave (ola)• Ripple (rizo)• Displace (desplazar)• Conform (conformar)
Lo mismo puede decirse de los efectos basados en mo-dificadores.
34
En el caso de los efectos especiales de Forces y Deflec-tors se trata de elementos naturales como viento, gravedad,deflectores, bombas, etcétera que se pueden enlazar a sis-temas de partículas u objetos. Son los siguientes:
• Motor (motor): Aplica un par a un sistema de partí-culas haciéndolo girar desde su centro.
• Push (empujar): Aplica una fuerza constante en unadirección.
• Vortex (vórtice): Crea un efecto de remolino.• Drag (arrastre): Permite arrastrar los sistemas de
partículas.• Path Follow (seguir recorrido): Hace que las partí-
culas siguan una trayectoria definida.• PBomb (bombaP): Se enlaza a sistemas de matriz de
partículas para generar explosiones.• Displace (desplazar): Tiene el mismo efecto que el
modificador desplazar, pero para partículas.• Gravity (gravedad): Por medio de un icono estable-
ce una fuerza de gravedad en el sentido deseado.• Wind (viento): Se crea un efecto de viento con la di-
rección e intensidad deseada.
Los efectos de fuerzas están separados de los deflecto-res. Los deflectores son elementos de la geometría que seasignan a los sistemas de partículas para que actúen comofreno de las fuerzas. Por ejemplo, la lluvia que rebota en elsuelo, que actúa como deflector de la gravedad. Los deflec-tores más comunes son SDeflector, que utiliza una esferacomo deflector, y UDeflector, que permite que cualquierobjeto funcione como deflector.
Los parámetros de los deflectores son:
• Bounce (rebote): Controla la velocidad a la que rebo-tan las partículas en el defelector.
• Variation (variación): Es la variación aleatoria en lafuerza del rebote de cada partícula.
• Chaos (caos): Controla la variación en el ángulo derebote, para que no sea un rebote geométricamenteperfecto, que es poco realista.
• Friction (fricción): Controla cómo las partículas pier-den velocidad al rebotar con el deflector.
• Inherit Vel (heredar velocidad): Si el valor es mayorque 0 el movimiento del deflector afecta al rebote delas partículas.
35
• Width, Length (ancho, largo): Son las dimensiones deldeflector.
A.8.1. Enlazar objetos a efectos especiales
Para enlazar un sistema de partículas a un efecto espe-
cial como la gravedad o el viento se emplea el botón
Link to Space Warp (enlazar a efecto especial) de la barrade herramientas. Es tan sencillo como arrastrar desde el sis-tema hasta el efecto especial y ajustar los parámetros nece-sarios.
Por ejemplo, para que las partículas de un aerosol se veanafectadas por el viento y la gravedad al salir de la fuente sesiguen estos pasos:
1. Cree el aerosol para que las partículas salgan haciaarriba.
2. En el panel Create seleccione Space Warps>Forces yGravity. Haga clic y arrastrar en cualquier visor de lapantalla. La gravedad apunta hacia abajo por defecto.
3. A continuación haga clic en Wind y arrastre en el vi-sor Front o el visor Left, para que el viento sea lateral.
4. Con el botón Link to Space Warp, haga clic en la
fuente de partículas del aerosol, y sin soltar el botónarrastre hasta el icono de la gravedad. Repita la ope-ración con el icono del viento.
Ahora la animación se genera automáticamente. Si arras-tra el mando de cuadros podrá ver cómo las partículas sa-len de la fuente y son desviadas por el viento y la gravedad.La figura A.27 muestra un ejemplo.
A.9. Reactor
Las herramientas de reactor permiten simular con faci-lidad el comportamiento de objetos del mundo real, comola deformación de telas, rebotes, fracturas, etcétera. Lasopciones de reactor sustituyen con ventaja a los objetosdinámicos de versiones anteriores. La barra de herramien-tas de reactor aparece en la parte izquierda de la pantalla, y
36
Figura A.27. Enlazar fuerzas a un sistema de partículas.
también se ha añadido un menú reactor en el que se encuen-tran disponibles todas las opciones.
En esta versión se ha introducido
un nuevo motor de simulación llamado Havok 3, que se pue-de seleccionar en la lista Choose Solver que aparece en elpanel de reactor. El nuevo motor incorpora parámetrosadicionales a cada una de las opciones.
A.9.1. Uso general de reactor
Aplicar una de las opciones de reactor no es una tareaevidente. Tiene que tener en cuenta las siguientes precau-ciones básicas:
• Los objetos que vayan a interactuar entre sí deben per-tenecer a una colección de cuerpos rígidos, que se for-ma mediante la opción Reactor>Create object>RigidBody Colection. A continuación hay que añadir losobjetos a la colección con el botón Add.
• Para que las simulaciones tengan efecto, los objetosque interactúan deben tener una masa mayor que
37
cero. Los objetos con masa cero aparecen como obje-tos fijos en las simulaciones. Para dotar de masa a un
objeto se abre el panel Utilities, se hace clic en reac-
tor y a continuación se abre la persiana Properties.Aquí puede añadir un valor de masa.
A.9.2. Un ejemplo textil
Para ilustrar el funcionamiento general de reactor secreará una animación simple en la que una tela cae sobreun objeto por acción de la gravedad y se pliega sobre él.Siga estas instrucciones para crear los objetos iniciales.
1. Empleando primitivas, cree una caja como base de laanimación y una esfera apoyada sobre ella.
2. A cierta altura sobre la esfera, cree una primitiva Pla-no con 30 segmentos de longitud y otros tantos deanchura. De este modo habrá suficiente densidad depolígonos para que la deformación sea suave.
3. Seleccione la caja de base y la esfera, y a continua-ción seleccione Reactor>Create object>Rigid BodyColection (véase la figura A.28).
Con esta operación los objetos de la base quedan desig-nados como cuerpos rígidos con los que la tela puede inte-ractuar. Ahora hay que convertir el plano en una tela:
1. Seleccione el plano y abra el panel Modify. En la listade modificadores seleccione reactorCloth.
2. Con el plano seleccionado, seleccione reactor>Createobject>Create Cloth Collection (crear colección detelas). Comprobará que en la lista del panel Modifyaparece el nombre del plano como integrante de lacolección.
3. Seleccione la esfera y la caja de la base y abra el panel
Utilities. Haga clic en reactor y a continuación
abra la persiana Properties. Active la opción Unyiel-ding (inamovible). Esto quiere decir que estos obje-tos no se modificarán cuando otro objeto reactor caigasobre ellos.
38
Figura A.28. Aplicación de la opción Rigid Body Colection a lacaja de base y esfera.
4. En el panel Utilities abra la persiana Preview &Animation y haga clic en Preview in Window.
5. En la ventana de previsualizar puede arrancar la ani-mación pulsando P.
6. Si es correcta, puede crear la animación definitiva conel botón Create Animation.
La figura A.29 muestra los elementos iniciales y la ven-tana de simulación.
A.9.3. reactor Ragdoll
Animar un muñeco de trapo es una tarea impresionan-te. Primero hay que crear un humanoide, establecer todaslas articulaciones y sus límites, asignar a cada miembro lacapacidad de reaccionar con el entorno y después animar.Sin embargo 3ds Max lo hace él solo empleando la opciónRagdoll de reactor. Siga estos pasos para crear una anima-ción rápida de una muñeca de trapo:
39
1. Cree una caja como suelo para la animación.2. Seleccione la caja y seleccione reactor>Create
object>Rigid Body Colection en la barra de herramien-tas de reactor.
Figura A.29. Una tela animada usando reactor.
3. Hay un script predefinido para crear la muñeca detrapo. Seleccione MAXScript>Run Script y seleccio-ne el archivo rctRagdollScrip.ms de la carpeta Scripts.
4. En la ventana de diálogo seleccione valores de alturaen Height y número de vértebras en Vertebra. Hagaclic en Create Humanoid.
5. En la persiana de abajo haga clic en Constraint Hu-manoid.
6. Seleccione caja de la base y abra el panel Utili-
ties. Haga clic en reactor y a continuación abra lapersiana Properties. Active la opción Unyielding.
7. En el panel Utilities abra la persiana Preview &Animation y haga clic en Preview in Window paraver el resultado de la animación.
40
A.9.4. Reactor Bisagra (Hinge Constraint)
Esta restricción de reactor permite establecer fácilmen-te relaciones entre dos objetos que se mueven unidos poruna bisagra. La bisagra puede estar en cualquier parte de lapantalla. Con el botón Parent se selecciona el objeto princi-pal (por ejemplo, el marco de la puerta) y con el botón Childel objeto móvil (la hoja de la puerta).
Figura A.30. Un ejemplo de restricciones de bisagra.
La bisagra se orienta con el eje Z de los objetos por supunto de pivote. Puede cambiar la posición del punto depivote de cada objeto si es necesario. También es posiblemodificar la dirección y las restricciones del objeto Hingeen el panel Modify, seleccionando los subobjetos Parentspace y Child space.
Para que la simulación tenga efecto tiene que añadir unresolutor de reactor seleccionando reactor>Createobject>Constraint Solver. A este elemento se añade la colec-ción de cuerpos rígidos, por un lado, y la restricción bisagra,por otro. Recuerde que para que funcione los objetos debentener masa mayor que cero.
Top Related