Kitabı oku: «Aprender 3ds Max: animación y efectos especiales con 100 ejercicios prácticos», sayfa 3
009
Utilizar restrictores de recorrido
TODOS AQUELLOS OBJETOS O ELEMENTOS QUE SE PUEDEN ANIMAR en una escena están manipulados por controladores, los cuales tienen la tarea de gestionar todas las acciones de la animación. 3ds Max dispone de tres controladores predeterminados de transformación: posición, rotación y escala. Existen otros tipos de controladores especiales denominados restrictores o constraints. Estos controladores nos facilitan en gran medida la creación de animaciones, puesto que literalmente restringen las transformaciones de los objetos o personajes que deseamos animar.
1. Los restrictores de recorrido vinculan el movimiento de un objeto a lo largo de una spline que actúa como trayectoria. En este ejercicio veremos cómo trabaja este restrictor. Descargue para ello el archivo 009.max, una actualización del archivo que utilizamos en las primeras lecciones de esta sección, al cual hemos añadido una sencilla línea spline que servirá de recorrido para nuestro coche de juguete. En primer lugar, seleccione el coche en la escena y active el modo Auto Key para que todas las acciones de transformación que realicemos definan cuadros clave.
2. Despliegue ahora el menú Animation, haga clic sobre la opción Constraints y elija de la lista el restrictor denominado Path Constraint.
3. Al seleccionar la restricción y mover el cursor, aparece, surgiendo del objeto seleccionado, una línea de derivación con la que debemos indicar cuál será el objeto que determinará la trayectoria del objeto origen. En este caso, acerque el puntero del ratón a la spline y, cuando esta quede resaltada de color amarillo, haga clic sobre ella.
4. El restrictor se ha activado correctamente; compruebe que el coche ha cambiado su posición para situarse sobre el punto de inicio de la spline. Active el panel de comandos Motion, que muestra el dibujo de dos círculos.
5. El panel Motion es completamente imprescindible para la realización y gestión de animaciones en 3ds Max. En este caso, podemos determinar en él las principales opciones del recorrido. Tenga en cuenta que los apartados de este panel se ajustarán al tipo de restricción que utilice. Como puede ver, en el apartado Position List se muestra una lista con los tipos de restricciones utilizadas. En la persiana Path Parameters puede eliminar recorridos o añadir otros nuevos que después aparecerán en el cuadro Target/Weight. Con los contadores y casillas del apartado Path Options se gestionarán parámetros del recorrido, como el porcentaje del total del recorrido que utilizará el objeto origen al iniciar la animación, o el alineamiento a la trayectoria y la velocidad constante en el transcurso del recorrido, entre otros. Para que el coche adapte su orientación a medida que va siguiendo la trayectoria indicada, active la opción Follow pulsando sobre su correspondiente casilla de verificación.
6. El coche se posiciona automáticamente, aunque deberá ser usted quien le indique la orientación correcta. Para ello, con la herramienta de rotación, gire adecuadamente el objeto sobre el eje Z.
7. Como ya hemos realizado la animación mediante la restricción de recorrido, desactive el modo Auto Key y reproduzca la secuencia (si oculta la línea spline en el visor para que no sea visible el objetivo del recorrido el resultado será mucho mejor).
8. ¡Lo ha conseguido! El coche se desplaza por el visor siguiendo la trayectoria indicada. Imagine la cantidad de esfuerzo y trabajo que hubiera supuesto tener que desplazar paso a paso y manualmente el objeto por cada tramo del camino. Queda claro, pues, que la herramienta de restricción Path Constraint será muy útil cuando cree animaciones complejas.
010
Utilizar restrictores de asociación
LAS RESTRICCIONES DE ASOCIACIÓN O ATTACHMENT CONSTRAINTS asocian, como su nombre indica, la posición de un objeto, mediante su punto de pivote, con la cara de otro. Como requisito imprescindible de éxito de esta restricción, el objeto sobre el cual se restringirá la animación debe ser una malla editable (Editable Mesh) o una primitiva básica; de ahí que hablemos de caras y no de superficies en general. Es importante tener en cuenta que los objetos convertidos en polígonos editables no funcionan para trabajar con este tipo de restricción.
1. Para llevar a cabo este ejercicio utilice la escena 010.max, que contiene un plano y un balón. Nuestra intención en este caso será animar el plano para que genere ondulaciones y ubicar el balón sobre él para que se mueva por efecto de dichas ondulaciones. Para empezar, seleccione el plano, aumente hasta 30 el número de segmentaciones, aplíquele el modificador Noise e inserte el valor 25 en el campo z del apartado Strength. Por último, marque la opción Animate Noise y reduzca el valor del campo Frequency a 0,15 para que el movimiento sea más lento.
2. Si ahora reproduce la animación verá que el plano se mueve como si fueran olas o una tela que ondea con el viento, por ejemplo. Imagine el efecto conseguido si el balón pudiera mecerse sobre dicha tela... ¿Lo intentamos? En la barra de pistas, asegúrese de que se encuentra seleccionado el cuadro 0 y seleccione el balón en la escena.
3. Seguidamente, despliegue el menú Animation y, dentro del comando Constraints, haga clic sobre la opción Attachment Constraint.
4. Observe cómo, en el puntero del ratón, aparece una línea que nos va a permitir vincular los dos objetos. La línea sale del balón seleccionado. Por tanto, haga clic sobre el plano para designar el objeto de destino.
5. La vinculación se ha llevado a cabo con éxito: ahora nuestro balón ya se encuentra sobre el plano, preparado para moverse. El programa ubica el objeto en una posición concreta del plano. Antes de seguir adelante, queremos contarle algo que resulta del todo imprescindible para entender el funcionamiento de este restrictor. Se trata de la división en caras de la malla editable que estamos utilizando como superficie. Seguro que ya sabe que en 3ds Max cada una de las divisiones de una malla editable forma un polígono que, a su vez, está formado por dos triángulos. Cada uno de estos triángulos es una cara o face. Por defecto, el objeto se ubica en la segunda cara, en la parte inferior derecha de la superficie (consulte el apartado Position de la persiana Attachment Parameters del panel Motion: el campo Face muestra el valor 2). 4 Si desea cambiar esta ubicación predeterminada, puede modificar el valor de este campo o bien mover el signo en forma de cruz de color rojo que se encuentra en el esquema de posición de este mismo apartado. Como ejemplo, inserte el valor 15 en el campo Face y vea cómo el balón se reubica sobre la superficie. Pulse el botón Set Position, en el apartado Position.
6. Piense que si no pulsa este botón no podrá animar el movimiento del balón sobre el agua, es decir, no podrá animar el paso del objeto de una cara a otra. La opción Align to Surface del apartado Attach To, en el mismo panel de parámetros del restrictor, se encuentra activada por defecto y permite que el objeto se alinee en torno a la superficie de la cara sobre la cual se encuentra. Esto quiere decir que si la desactiva, el objeto mantendrá siempre su posición original. Llegados a este punto, reproduzca la animación desde los controles de la parte inferior de la interfaz del programa.
7. ¡Bien! Efectivamente, el balón se mece en el agua al ritmo de las pequeñas olas.
011
Utilizar restrictores de superficie
IMPORTANTE
Es importante tener en cuenta que las restricciones de superficie solo funcionan sobre objetos 3D que puedan ser representados de forma paramétrica. Hablamos de primitivas como esferas, conos, cilindros y toroides, de cuadrículas de corrección, objetos creados a partir de un compound object (como Loft) y de curvas NURBS.
LAS RESTRICCIONES DE SUPERFICIE O SURFACE CONSTRAINTS permiten enlazar un objeto, mediante su punto de pivote, con la superficie de otro. Al mismo tiempo, este tipo de restricciones permiten animar el objeto en torno a la superficie indicada. Este restrictor no vincula directamente el objeto sobre la superficie, sino que crea una superficie virtual, un elemento que actúa como si fuera un material aplicado sobre la superficie original.
1. Para llevar a cabo este ejercicio hemos preparado un nuevo archivo, el denominado 011.max, que contiene una superficie con oscilaciones y un pequeño coche de juguete. Nuestra intención es que el coche se desplace sobre esta superficie respetando los distintos cambios de nivel. Para ello, utilizaremos un restrictor de superficie. Sin más dilación, empecemos. En la barra de pistas, asegúrese de que se encuentra seleccionado el cuadro 0 y seleccione el coche de la escena.
2. A continuación, vamos a asignarle un restrictor de superficies. Para ello, despliegue el menú Animation, haga clic sobre el comando Constraints y elija en este caso la opción Surface Constraint.
3. Cuando mueva el botón del ratón verá que del objeto seleccionado emerge una línea discontinua, que deberá enlazar con la superficie. ¿Cómo sabrá si el elemento que desea utilizar como superficie para la restricción es válido para ello? Muy sencillo: si cuando acerca el puntero del ratón, la superficie no queda delimitada por un borde de color amarillo, significa que, desafortunadamente, la restricción de superficie no funcionará. Cuando funciona, al acercar el puntero sobre la superficie esta queda destacada. En ese caso, podrá hacer clic sobre ella para fijar la restricción.
4. Nuestro coche queda inmediatamente vinculado a la superficie y se ubica en uno de los extremos de la misma. Llegados a este punto, debemos recordar la importancia de la ubicación del punto de pivote en el objeto que deseamos animar. La restricción entre el objeto y la superficie se lleva a cabo mediante su punto de pivote. En esta ocasión, el punto de pivote del coche se encuentra en la parte inferior. De no ser así —es decir, de haber mantenido el punto de pivote en el centro del objeto (su ubicación predeterminada)—, al colocar el objeto sobre la superficie solo veríamos la mitad de él. En una lección posterior tendremos la ocasión de gestionar el punto de pivote en una jerarquía de huesos. Una vez realizada esta indicación, ¿cuál es el paso siguiente? Animar el coche para que circule sobre la superficie. ¿Y cómo lo hacemos? Desde la persiana Surface Controller Parameters del panel Motion. Desde ahí, además de asignar una superficie distinta a la que hemos asignado al inicio (Pick Surface), podrá establecer la posición del objeto tanto en el eje X (U Position) como en el eje Y (V Position). También es posible alinear los objetos con la superficie en uno de sus ejes (Align to U y Align to V). Vamos a asignar un par de valores que indicarán la posición exacta del coche al inicio de la animación. Para ello, inserte en el campo U Position el valor 15, y en el campo V Position el valor 16.
5. Una vez colocado el coche en su posición, solo nos quedará animarlo para que circule por encima de la superficie y sus ondulaciones. Para ello, active el modo Auto Key, sitúe el regulador de tiempo en el fotograma 100 y ubique el coche en la posición 99 del eje X (U Position). Mantenga en este caso el valor del eje Y para que el desplazamiento se realice en línea recta.
6. Desactive el modo Auto Key, retroceda la animación al inicio y reprodúzcala para comprobar que, tal y como habíamos previsto, el coche se desplaza por la superficie ondulada.
012
Utilizar restrictores de posición
IMPORTANTE
En la persiana Position Constraint del panel Motion puede consultar el nombre de todos los objetos de destino a los que se encuentra vinculado el original y el peso (Weight) de la restricción. Este peso define el alcance de la influencia sobre el objeto restringido y, por defecto, está fijado en 50.
POSITION CONSTRAINT ES UN TIPO DE RESTRICTOR que, como su nombre indica, restringe la posición de un objeto a la de otro u otros. Imagine una bicicleta, en concreto, el movimiento de los pedales de este medio de transporte: mientras los soportes de los pedales y el resto del engranaje giran, los pedales en sí mismos deben mantenerse siempre en la misma posición (en este caso, horizontal).
1. Para llevar a cabo esta práctica le sugerimos que utilice el archivo 012.max que encontrará entre el material adicional suministrado con este libro. La escena muestra dos cubos y un coche. Nuestra intención es generar una pequeña animación en la cual el coche entre en un cubo y salga del otro, como en un efecto de túnel. Vamos a ver si lo conseguimos. Para empezar, seleccione el coche, despliegue el menú Animation y, dentro del comando Constraints, elija en esta ocasión la opción Position Constraint.
2. Ya sabe que, al aplicar un restrictor a un objeto, aparece una línea discontinua que sale del objeto original y se mantiene a la espera de designar el objeto de destino. En este caso, haga clic sobre el cubo de la izquierda.
3. Por defecto, al aplicar la restricción, el objeto de origen pasa a ocupar la misma posición que el de destino. Para mantener la posición original del objeto, podríamos marcar la opción Keep Initial Offset en la persiana Position Constraint, dentro del panel Motion. Sin embargo, no lo haremos y pasaremos a indicar una nueva posición de destino. En dicha persiana, pulse sobre el botón Add Position target y haga clic sobre el cubo de la derecha.
4. El coche vuelve a situarse en una posición intermedia entre ambos objetivos. Si quisiéramos eliminar de la secuencia uno de los objetos de destino, sencillamente deberíamos utilizar el botón Delete Position Target. Los objetos restringidos no se pueden mover, aunque sí rotar y escalar. Al desplazar el objeto de destino, el restringido seguirá su posición. Vamos a centrarnos ahora en el peso que debe tener cada uno de los objetivos sobre el objeto restringido. En la persiana Position Constraint, seleccione el objetivo Box001; seguidamente, aumente y disminuya el valor del campo Weight. Compruebe que, cuanto mayor es este valor (con un máximo de 100), más se acerca el coche a la caja y viceversa.
5. Gracias al peso de la restricción sobre cada objeto de destino podemos generar una animación de un modo muy sencillo. ¡Vamos allá! Queremos que el movimiento del coche empiece dentro del cubo de la derecha para que salga, se desplace en dirección al segundo cubo y se introduzca en él. Para ello, active el modo Auto Key y asegúrese de que el regulador de tiempo se encuentra en el fotograma 0. A continuación, asigne un peso de 0 a la Box001 y un peso de 100 a la Box002.
6. Desplace el regulador de tiempo hasta el último fotograma e intercambie los pesos de las dos cajas, es decir, 100 para la Box001 y 0 para la Box002.
7. Así de sencillo. Desactive el modo Auto Key, regrese al primer fotograma y reproduzca la animación para ver la secuencia completa. Le recomendamos que, mientras se reproduce la animación, compruebe también como los pesos de los objetos de destino van cambiando de forma adecuada, según la posición del objeto restringido en la animación.
013
Utilizar restrictores de vinculación
EL RESTRICTOR DE ANIMACIÓN LINK CONSTRAINT RESULTA MUY ÚTIL en aquellas escenas en que se necesite desplazar objetos de un punto a otro respetando intervalos de tiempo concretos. Link Constraint se basa en las relaciones jerárquicas entre los objetos implicados en la animación, por lo que el movimiento del objeto al que se ha aplicado la restricción podrá ser controlado por diferentes objetos en la animación. Esto es precisamente lo que veremos en la siguiente práctica.
1. En esta ocasión, trabaje con el archivo 013.max. Cuando abra la escena verá que hemos recreado una especie de circuito sencillo con un par de plataformas y una esfera. Nuestro objetivo es conseguir una animación que simule el movimiento de la esfera hasta la primera plataforma, el desplazamiento de la plataforma con la esfera hasta la segunda y el paso de la esfera sobre ella. Y todo ello respetando unos intervalos concretos de tiempo en la animación. Empiece reproduciendo la animación que hemos creado para la esfera.
2. Una vez comprobada la animación, vamos a empezar la vinculación entre la esfera y las distintas plataformas para realizar la simulación que buscamos. Básicamente, cuando la esfera llegue a la primera plataforma, ambos objetos deberán moverse a la vez en el intervalo indicado para ello. Vamos allá. Seleccione la primera plataforma (Box001), despliegue el menú Animation y, en el comando Constraints, elija la opción Link Constraint.
3. Como siempre, el programa crea una línea discontinua desde el objeto seleccionado. Esta línea la deberá utilizar para designar el elemento de destino; en este caso, la esfera. Haga clic sobre ella.
4. Se carga de inmediato el panel Motion, que muestra el nombre del objeto de destino (en este caso, la esfera) en el fotograma en el cual se llevará a cabo la vinculación. Sin embargo, observe que el fotograma que el programa asigna por defecto es el que se encuentra seleccionado en el momento de la vinculación (en este caso, 0), y esto no nos interesa en absoluto, puesto que el primer desplazamiento de la esfera es independiente. Por tanto, debemos eliminar esta primera vinculación e indicar que en este fotograma 0 no se produzca ninguna vinculación. Para ello, pulse sobre el comando Delete Link en la persiana Link Params del panel Motion y pulse el denominado Link to World.
5. A continuación, mueva el regulador de tiempo hasta el fotograma 50 y, para vincular la plataforma a la esfera, pulse el botón Add Link del panel de parámetros. Haga clic sobre la esfera para designarla como destino y vea cómo su nombre aparece en el panel de parámetros con el fotograma correcto.
6. Sigamos. Sitúese en el fotograma 90 y, para indicar de nuevo que a partir de este fotograma no se produzca ninguna vinculación (recuerde que la esfera pasará en este punto a la siguiente plataforma), pulse el botón Link to World.
7. El proceso ha terminado. Tenga en cuenta que si el circuito fuera más largo o contara con otros elementos que quisiéramos vincular y restringir con nuestra esfera, debería seguir los pasos indicados con cada uno de los elementos. En este caso, la esfera termina sobre la segunda plataforma, por lo que solo nos queda comprobar si todo funciona según lo previsto. No espere más. Rebobine la secuencia mediante los controles de animación y reprodúzcala. Le recomendamos que desactive el efecto de bucle para que la animación se detenga al finalizar.
014
Utilizar restrictores de limitación de movimientos
IMPORTANTE
Es preciso tener en cuenta que, en escenas más complejas y con movimientos no tan simples como los del ejemplo, es necesario insertar controladores que permitan manipular con exactitud los objetos en cuestión. En esta práctica no se utilizan, pero tendrá la oportunidad de trabajar con estos elementos necesarios en muchas otras lecciones a lo largo del libro.
EL RESTRICTOR DE ANIMACIÓN del cual hablaremos en esta lección es muy interesante, puesto que nos va a permitir que un objeto siga literalmente el movimiento de otro. Se trata del restrictor LookAt Constraint, muy utilizado sobre todo en animaciones faciales y, más concretamente, en movimientos de ojos.
1. Empiece localizando entre el material adicional suministrado con este libro el archivo 014.max. Cuando lo abra, verá que contiene tres objetos muy básicos: un par de ojos y una esfera, la cual ya se encuentra animada con cuatro simples movimientos. Nuestro objetivo será, en este caso, hacer que los dos ojos sigan el desplazamiento de la esfera. Reproduzca la animación solo para poder imaginar cuál será la secuencia final y, una ver realizada esta comprobación, agrupe los dos ojos.
2. A continuación, seleccione los ojos, despliegue el menú Animation y, en el comando Constraints, elija el denominado LookAt Constraint.
3. A continuación, debemos designar, como ya es habitual, el objeto hacia el cual el elemento seleccionado dirigirá su mirada. En este caso, haga clic sobre la esfera.
4. Ambos ojos quedan de este modo vinculados a la esfera, aunque, como puede ver, su posición ha cambiado. Para solventar este problema, marque la opción Keep Initial Offset de la persiana LookAt Constraint, en el panel Motion.
5. El panel de parámetros de este restrictor es muy parecido al del resto de constraints estudiados hasta el momento. Así, vemos cómo se refleja el nombre del objeto de destino y que el peso de esta vinculación es de 50, de forma predeterminada. Desde aquí también puede añadir nuevos objetos de destino (Add LookAt Target) y eliminar aquellos que no nos interesen (Delete LookAt target). Reproduzca la animación para ver si hemos conseguido nuestro objetivo.
6. Efectivamente, hemos conseguido que ambos ojos sigan el movimiento de la esfera. Sin embargo, molesta bastante que la línea de mirada —es decir, la línea de color azul que sale del objeto origen y llega hasta el de destino— se visualice también en la animación, ¿verdad? Vamos a ocultarla. Con los ojos seleccionados, inserte el valor 1 en el campo Viewline Length, situado debajo de la opción Keep Initial Offset del panel de parámetros del restrictor.
7. Efectivamente, la línea continúa estando ahí, aunque con una longitud tan corta que no se ve. De este modo tan sencillo hemos creado una breve secuencia en la que un objeto sigue a otro con la mirada. Como ya hemos indicado, a lo largo de este libro volveremos a utilizar en otras ocasiones este restrictor y podrá ampliar, así, sus aplicaciones en escenas de 3ds Max.