En el mundo de la animación 3D todo lo que se mueve, rota o escala, es decir, todo lo que es posible de “animar” siempre está manejado por un controlador. En el caso de 3DSMAX, un controlador es un plugin que controla el almacenamiento y la interpolación de todos los valores animados, es decir, gestiona todas las tareas de animación. En el programa tenemos tres tipos de controladores predeterminados y estos son los siguientes:
- Posición: Position XYZ.
- Rotación: XYZ Euler.
- Escala: Escala Bézier.
Además de los controladores de animación standard, también disponemos de un tipo especial de controladores llamados Restrictores o Constraints los cuales son precisamente “restrictores de movimiento” que nos facilitan bastante el proceso de animación, ya que gracias a estos se puede restringir y/o controlar la posición, rotación y escala de un objeto. Dependiendo del tipo de animación que deseemos realizar dependerá la cantidad de objetos que necesitemos para aplicar un constraint.
En este apunte veremos animación de objetos mediante el constraint especial llamado Path Constraint ya que, al igual que en el caso de Anipath de AutoCAD, este controlador nos permitirá animar cámaras enlazándolas a uno o más recorridos llamados PATH, los cuales pueden ser abiertos o cerrados ya que en el caso de la Arquitectura, la animación base son las cámaras las cuales se utilizan para enfocar o mostrar el exterior e interior de un proyecto o edificación. Si bien este constraint es el más indicado para animar cámaras y/o los objetivos de estas, también es útil para realizar algunas animaciones 3D las cuales también serán vistas en este apunte.
Este apunte utiliza un archivo de base, el cual puede ser descargado desde el siguiente vínculo (en formato MAX 2021):
Constraints o Restrictores de animación
Como ya dijimos en un principio, un Constraint es un controlador o restrictor de animación y en el caso de 3DSMAX, tenemos varios tipos de estos los cuales se utilizan para diferentes tipos de animaciones. Estos pueden encontrarse en el menú Animation >> Constraints de la parte superior de 3DSMAX:
En total tenemos siete tipos de constraints los cuales son:
- Attachment Constraint: Asocia la posición de un objeto a la cara de otro.
- Surface Constraint: Limita la posición de una superficie 2D a la superficie de otro elemento 3D.
- Path constraint: Limita el movimiento de un objeto a lo largo de un recorrido.
- Position constraint: Limita la posición de un objeto a la posición de otro.
- Link Constraint: Genera uno o más vínculos entre el objeto que tiene la restricción y otros.
- LookAt constraint: Limita la orientación de un objeto a la posición de otro.
- Orientation constraint: Limita la rotación de un objeto a la rotación de otro.
Dependiendo de qué es lo que queremos animar dependerá el o los constraints que aplicaremos.
En este apunte se enseñará específicamente el Constraint llamado Path Constraint, ya que es el que más se utiliza en el área de la Arquitectura, aunque también veremos otros casos puntuales de animación.
Path Constraint
Animación de cámaras mediante Path Constraint
En este apunte aplicaremos la animación de cámaras mediante el restrictor Path Constraint. Sin embargo, antes de proceder debemos conocer los diferentes movimientos de cámara que podemos realizar mediante este, y que son válidos para realizar animaciones 3D o también para su uso en Arquitectura. Estos son los siguientes:
- La cámara se moverá por el recorrido o path, mientras que el target (objetivo) se mantendrá fijo en un punto y apuntará hacia el o los objetos enfocados. Este movimiento se conoce como giro o recorrido de cámara.
- La cámara permanece fija en un punto y sólo el target u objetivo se moverá a través del recorrido o path. Esto se conoce como recorrido panorámico o paneo.
- Tanto la cámara como el objetivo se moverán por el mismo recorrido o path, o bien solamente la cámara aunque sin objetivo (cámara libre). Esto se conoce como cámara libre, subjetiva o de primera persona.
- La cámara y el objetivo se mueven por diferentes recorridos o paths. Esto se conoce como travelling.
En este ejercicio aplicaremos la misma lógica de los realizados en la primera parte del apunte, pero esta vez animaremos las cámaras y los targets según sea el caso. Si abrimos el archivo llamado 3dsmax_animacion_pathconstraint03.max veremos lo siguiente:
Como se aprecia en la imagen, el archivo corresponde a un pequeño proyecto de Arquitectura y por ende, utilizaremos las cámaras como patrón de animación. Esta es una casa de dos pisos que posee sus correspondientes muros perimetrales y entrada, en un terreno plano y rodeada de varios recorridos o Paths. La idea de este ejercicio es mostrarla mediante la animación de cámaras usando los cuatro movimientos de cámara básicos ya definidos anteriormente. Si analizamos el archivo, notaremos que también hay varias cámaras las cuales se nombran según cada tipo de movimiento a animar ya que, a diferencia de AutoCAD, en 3DSMAX sí tenemos que crear las cámaras ya que deberemos aplicar a cada una un Path Constraint, el cual nos servirá tanto para la cámara misma como también para el Target de esta, puesto que ambos son objetos independientes. Una ventaja en particular de 3DSMAX es que podremos ver todas nuestras cámaras en la misma escena y animarlas todas sin mayor problema, ya que aplicaremos el Constaint a cada objeto en particular y no necesitaremos Dummys ni ayudantes extras. Comenzaremos creando el recorrido de cámara seleccionando la cámara llamada Camara Recorrido, aplicamos Path Constraint en ella y finalmente seleccionamos el recorrido circular llamado Recorrido de cámara. El resultado es el siguiente:
Como notamos, la cámara se vincula al recorrido y por ende ya podremos testear la animación mediante Play. En este caso, no debemos modificar el panel de animación ya que el target queda fijo y por ende, sólo se moverá la cámara.
Vista desde la cámara vinculada al recorrido mediante Path Constraint, en el cuadro 195.
Si reproducimos o renderizamos la animación, el resultado es el siguiente:
Un aspecto interesante de cualquier Path, es que podremos modificarlo a nuestro gusto aún cuando se haya aplicado Path Constraint lo cual nos permitirá alargar, acortar, modificar o cambiar el punto de inicio del recorrido (usando Make First) según lo necesitemos y, por ello, tendrá efecto sobre la animación final. En el caso de ser una forma circular o no ser dibujada mediante líneas (Circle, Rectangle, Star, etc.), podremos aplicar el modificador Edit Spline para editarla.
Edición de Path mediante aumento de radio y mediante el modificador Edit Spline, y su efecto en la vista de cámara del recorrido.
Ahora crearemos el recorrido de tipo Panorámico. Para ello, animaremos la cámara llamada Cámara Panorámica, pero en este caso sólo animaremos el Target de esta. Por ello, lo seleccionamos y aplicamos Path Constraint en el recorrido curvo llamado Recorrido panorámico. El resultado es el siguiente:
Como notamos, el target se vincula al recorrido y por ende ya podremos testear la animación mediante Play. En este caso, no debemos modificar el panel de animación ya que la cámara queda fija y por ende, sólo se moverá el target el cual sigue de manera automática al recorrido. Si reproducimos o renderizamos la animación, el resultado es el siguiente:
El siguiente recorrido que realizaremos será el de tipo subjetivo. Para ello, seleccionamos la cámara llamada Cámara subjetiva ya que esta es de tipo Free o libre (es decir, sin target), lo que implica que siempre apuntará hacia adelante. Aplicamos el Path Constraint y la vinculamos al recorrido llamado Recorrido subjetivo. El resultado es el siguiente:
Como notamos, la cámara se vincula al recorrido y por ende, ya podremos testear la animación mediante Play. En este caso, sí debemos activar Follow en Path Parameters para que la cámara siga al recorrido y se nos muestre la perspectiva de primera persona. Sin embargo, notaremos que esta se invierte hacia la izquierda así que solucionaremos esto cambiando en Axis el eje X a Y:
Si reproducimos o renderizamos la animación, el resultado es el siguiente:
Ahora sólo nos queda realizar el Travelling de cámara, y para eso debemos hacer dos Path Constraints: en el primero, seleccionamos la cámara llamada Camara travelling y la vinculamos al recorrido llamado Recorrido Travelling cámara. Luego, realizaremos el segundo seleccionando el Target de la cámara y lo vinculamos al recorrido llamado Recorrido Travelling target. El resultado es el siguiente:
Vinculando la cámara al primer recorrido.
Vinculando el target de la cámara al segundo recorrido.
Como notamos, la cámara se vincula al primer recorrido y el target de esta al segundo, y por ende ya podremos testear la animación mediante Play. En este caso, no debemos modificar el panel de animación ya que la cámara y su target se desplazan por distintos recorridos y por ende, lo siguen automáticamente. Si reproducimos o renderizamos la animación, el resultado es el siguiente:
Como hemos visto en todos los ejercicios anteriores, Uno de los Restrictores más importantes usados en la animación en 3DSMAX es Path Constraint ya que su uso no solamente se enfoca a la Arquitectura y la animación de cámaras, sino que también se utiliza en el ámbito de la animación 3D. Este nos permitirá mostrar a cabalidad un proyecto, modelo o espacio ya que además de generar la animación respectiva podremos modificar los vértices de nuestros Path para subir de pisos o niveles, o alentar el recorrido para dar énfasis en ciertos espacios o aspectos.