jueves, 1 de octubre de 2015

Movimiento con trayectoria - Motion


Movimiento con trayectoria - Motion

Esta será la animación que haremos:

Aqui se ve la pelota saltarina. Hacia años que no hacia un GIF animado jeje pero asi se ve mejor el movimiento de la pelota.
Para la práctica usaré 3DS MAX 2009 pero puedes hacer la práctica con cualquier otra versión de la misma forma. Descarga el archivo “pelota.ZIP” del BOX de archivos. Descomprimelo y abrelo en MAX para que tengas todo el escenario listo.
Empecemos…
PASO 1: Abre tu archivo MAX. Guíate por la siguiente imagen y haz click en: 1. Crear 2. Shapes “splines” 3.Line


1...2...3... en ese orden. como bailar...
Dibuja una linea como la ves en la siguiente imagen. Es mas fácil si lo haces en un viewport donde veas la composición completa.  Esta linea que dibujaremos será el camino que seguirá la pelota.

Asi mas o menos rebotará la pelota.
PASO 2: Ahora haz un click en la pelota para seleccionarla, y luego selecciona 1. Motion 2. Trajectories 3. Convert from… Guiate por la siguiente imagen:

Esta parte es facil. MAX tomará como guia esta linea para hacer la animación. a trabajar MAX!
Y (con la pelota ya seleccionada) haz click en la linea que dibujaste. Verás que aparece una nueva linea roja  que es la guía que seguirá la animación. Algo asi:

Lista la animación. no es muy precisa pero nos sirve como punto de inicio.
Automáticamente MAX crea una animación de 100 cuadros siguiendo la linea que dibujamos. La trayectoria no es muy exacta pero la podemos mejorar. Para hacerlo en el mismo panel haz click en el botón SUB-OBJECT y luego selecciona cada paso de tu animación. Cada paso es representado en pantalla con un cuadro blanco. Muévelo a la posición que necesites. Fijate en la siguiente imagen:
Ahora podrás ajustar tu animación para hacerla como quieres y listo! la pelota saltarina esta preparada para su debut. Para probarla simplemente presiona el botón de reproducir en la parte inferior de la interfaz de MAX. (puedes borrar el spline que hicimos al principio ya no nos hará falta) Ya la pelota rebota! pero no tiene el aspecto real de cómo se distorsiona al caer. Cómo hacemos la magia? utilizando la interpolación. veamos:
Antes empezar borré el spline para que no me moleste al ajustar la animación. Mueve el cabezal de reproducción buscando cada fotograma de tu animación. Al estar alli presiona el boton AUTO KEY (sabras que esta activo porque la linea del tiempo se tornará roja) y cambiale la altura a la pelota usando la herramienta de ajustar tamaño; Redúcele la altura a la pelota en cada posicion donde toca el piso para simular como si estuviese rebotando realmente. Luego repite los mismos pasos con todos los fotogramas hasta terminar.

Ajustando la distorsión de la pelota. Asi la pelota parece más elástica cuando rebota en el piso.
Y listo! ahi está la animación.
Ejemplo
PathConstraint1
Supongamos que en nuestra escena de Max queremos mostrar dos aeroplanos a punto de colisionar. Uno de ellos ni siquiera se dará cuenta del peligro y continuará su trayectoria rectilínea. El otro, en cambio, realizará una maniobra que evitará el accidente. Comenzamos por colocar nuestros objetos en 3DS Max. Crearemos dos splines que nos servirán como trayectorias e importaremos un modelo de aeroplano antiguo. Como necesitamos dos aeronaves, obtendremos una copia mediante el comando Clone.PathConstraint1
Para conseguir que los aeroplanos se muevan según las trayectorias dibujadas, simplemente seleccionaremos el primero de ellos y pulsaremos el botón Motion en la parte derecha del área de trabajo. Acto seguido, marcaremos el parámetro de posición y le asignaremos un nuevo controlador de tipo PathConstraint, tal y como se muestra en la siguiente imagen.
Asignación del restrictor a uno de los aeroplanos
Hecho esto, nos aparecerán los controles específicos de este restrictor, y necesitaremos agregarle una trayectoria desde la sección Path Parameters. Lo conseguiremos pulsando el botón Add Path y seleccionando en la escena una de las splines que hemos dibujado anteriormente.
Parámetros de PathConstraint
Observaremos que, una vez elegida la trayectoria, nuestro aeroplano se sitúa sobre el inicio de la spline. De hecho, lo que va a suceder es que su punto de pivote recorrerá esa spline. Si no se colocase exactamente sobre el inicio, deberíamos vigilar que el valor del parámetro % Along Path fuese 0% -suponemos que nos encontramos en el primer fotograma de nuestra animación-. Puede que nos interese que el aeroplano “calque” esta trayectoria, pero sin que su punto de pivote recorra la spline; en ese caso, deberemos marcar la casilla Relative. No lo haremos en este pequeño ejemplo.
No debe preocuparnos que las splines no estén perfectas, ya que siempre tendremos oportunidad de modificarlas para adaptarlas mejor a nuestra animación. Yo utilicé segmentos de línea para dibujar las trayectorias, así que luego las he suavizado convirtiendo algunos puntos de tipo Corner a tipo Smooth.
Modificación de trayectorias
Si repetimos el proceso con cada uno de los aviones y no tocamos nada más, obtendremos algo parecido al siguiente vídeo.

El resultado no es lo que esperábamos. Apreciamos que uno de los aviones inicia la maniobra de esquiva antes de que exista peligro de colisionar con el otro aeroplano. ¿Cómo solucionarlo? La respuesta se encuentra en el parámetro % Along Path, que podemos animar para conseguir un control mucho más preciso de la velocidad con que los aeroplanos recorren sus trayectorias.
Una posibilidad para lograr nuestro objetivo es activar el botón Auto Key, desplazarnos al fotograma que nos interese y modificar manualmente el valor del parámetro % Along Path. Veremos que la posición del aeroplano que tengamos seleccionado cambiará. En el fotograma donde nos encontremos se creará unakey.
Uso de Auto Key para animar el parámetro % Along Path
Fijándonos en la figura anterior, en el fotograma 11 el avión seleccionado se encuentra lejos del otro aeroplano, mientras que este último está a punto de iniciar su trayectoria descendente. Parece que nuestro primer aeroplano deberá recorrer su trayectoria mucho más deprisa, de manera que exista la sensación de un choque inminente. Si en este fotograma nos limitamos a aumentar el valor de % Along Path para el avión que recorre la trayectoria rectilínea, aproximaremos ambos aparatos, pero el efecto final tampoco será el esperado. Efectivamente, veremos cómo viaja muy deprisa hasta el fotograma 11 y a partir de él se ralentiza bruscamente.
Esto se debe a que 3DS Max ha calculado la animación para que en el primer fotograma de la secuencia el porcentaje de trayectoria recorrido sea 0 y vaya aumentando gradualmente hasta alcanzar el 100% en el último fotograma. Aquí una simple regla de tres puede bastar. Si en el fotograma 11 el primer avión ha de estar en, digamos, el 33% de su recorrido, deberá encontrarse en el 100% aproximadamente en el fotograma 33. Todo lo que deberemos hacer es desplazarnos al fotograma 33 y fijar allí el valor de % Along Path en 100%. Recordemos desmarcar la opción Loop en los controles de PathConstraint. De lo contrario, en el fotograma 34 tendremos al avión iniciando de nuevo su recorrido.
Si no deseamos un control muy fino, este método será suficiente. En caso de que sí debamos afinar, el editor de curvas nos ofrece una mayor precisión. De hecho, es el mecanismo que he utilizado para animar al segundo avión, es decir, el que realiza la maniobra de esquiva. Podemos acceder al editor de curvas teniendo seleccionado el objeto que nos interese y eligiendo Curve Editor desde el menú que se nos muestra pulsando el botón derecho del ratón. Desde esta ventana iremos añadiendo y moviendo keys según nos convenga. La curva de movimiento original será una línea recta. Al ir añadiendo keys obtendremos segmentos de recta cuya pendiente podremos variar, con el consiguiente efecto en la velocidad de recorrido de la trayectoria.
Uso del editor de curvas para animar el parámetro % Along Path
Para este segundo aeroplano también interesaba que su fuselaje se fuese orientando paralelo a la trayectoria a lo largo de toda la animación. Esto se consigue marcando la casilla Follow en los controles de PathConstraint. Hasta donde sé, Follow no puede activarse y desactivarse por tramos, es decir, cuando lo seleccionamos se aplica a la totalidad del recorrido por la spline.
Jugando un poco con estos conceptos, se ha conseguido la siguiente animación.

No está perfecta, pero sí mejora mucho la anterior. Espero que a alguien le sirva este pequeño post para salir de algún apurillo. Sé que lo explicado aquí es muy básico, pero en su día yo no lo vi evidente y agradecí que alguien me echara una mano.

Pasos para realizar una trayectoria en 3d max


No hay comentarios:

Publicar un comentario