Desde los tiempos primitivos el
hombre ha intentado representar el movimiento, pasando por inventos como el
zootropo hasta llegar a los dibujos animados modernos. Valiéndose del principio
físico de la persistencia de la visión, en la que el cerebro humano retiene
durante unas fracciones de segundo la imagen que captan sus ojos, los cineastas
descubrieron que el cerebro, al ver una secuencia de imágenes a gran velocidad
no es capaz de individualizarlas y por ende, este crea la ilusión de movimiento
continuo. Esta secuencia de imágenes a gran velocidad es lo que se conoce
como animación.
En
animación cada una de estas imágenes se denomina cuadro o frame y la
fluidez de la animación dependerá de la cantidad de cuadros “por segundo” que
pasen ante nuestros ojos. Básicamente la cantidad de “cuadros por segundo” nos
indica el número de imágenes que se muestran en un segundo de tiempo y se
simboliza fps. Este formato se utiliza en cine y en
televisión, y son los siguientes:
NTSC (El
formato de TV que usamos en Chile): 30 fps.
PAL (El formato de TV que se usa comúnmente en Europa y Argentina): 25 fps.
Cine: 24 fps.
PAL (El formato de TV que se usa comúnmente en Europa y Argentina): 25 fps.
Cine: 24 fps.
Concepto de cuadro clave
En las primeras décadas del siglo XX
(y aún hoy) los dibujos animados eran realizados dibujando el o los personajes
“cuadro por cuadro”. Al ser esta una tarea titánica (por ejemplo, para realizar
5 minutos de animación debemos dibujar unos 7.200 cuadros) los animadores se
encargaban de dibujar las poses principales de los personajes para que luego
animadores secundarios o asistentes dibujaran los cuadros intermedios. A partir
de esto nace el concepto de cuadro claveo keyframe. A diferencia de la animación 2D tradicional,
en 3DSMAX tenemos la ventaja que el programa dibuja los cuadros intermedios
(interpolación) de forma automática mientras nosotros sólo definimos los
cuadros clave. Entender perfectamente cómo crear y editar keyframes es necesario para crear animaciones
realmente convincentes.
Podemos ver el tiempo total (en
frames) de la animación en la línea de tiempo, la
cual se ubica en la parte inferior del programa (imagen de abajo). El cuadro
que nos indica un frame en la línea (en la imagen de abajo nos indica el frame
87/100) que posee una línea celeste y que podemos mover libremente se
denomina regulador de tiempo.
Barra de controles de animación
La barra de controles de animación se
encuentra en el lado inferior derecho del programa, y que podemos ver en la
imagen de arriba.
En el cuadro de controles de
animación encontraremos dos tipos de creación de keyframes, denominados Auto Key y Set Key. El ícono de
la llave nos permite crear un keyframe de forma manual, que veremos más
adelante.
En
el cuadro de control vemos los controles de reproducción de la animación, los
cuales funcionan igual que un equipo de música (rew, play, fast forward o ff)
además que encontramos la función de play/pause, que nos
permite ver a animación cuadro a cuadro. Si presionamos y mantenemos el
botón play, podremos elegir Play Selected el
cual nos permitirá reproducir la animación sólo de objetos que seleccionemos
(seleccionando uno o más objetos que estén animados).
Otro
elemento importante del panel de control es la configuración de tiempo o Time Configuration (el cuadro con el reloj de la
imagen del lado). Además de este podemos encontrar otro menú en el cual
podremos ver cada frame, de la misma forma que con play/pause.
Si
activamos la configuración de tiempo accederemos al siguiente cuadro de la
imagen derecha. En Frame Rate podemos
definir la velocidad de los fps de acuerdo a los siguientes tipos:
– NTSC
– PAL
– Film (cine)
– Custom (fps personalizados).
– PAL
– Film (cine)
– Custom (fps personalizados).
En Time Display podemos
establecer el método para mostrar el tiempo en el regulador de tiempo y en el
programa. Esto puede ser en frames (por defecto), SMPTE, cuadros e impulsos o
minutos, segundos e impulsos. Internamente 3DSMAX fracciona el tiempo en
impulsos (1 impulso equivale a 1/4800 partes de 1 segundo).
En Playback podemos
establecer el tipo de reproducción que queramos: en tiempo real (Real Time) el cual dependerá de la capacidad de nuestro
PC, 5 velocidades de reproducción (1/4x, 1/2x, 1x, 2x, 4x), si queremos
reproducir la animación sólo en la vista seleccionada (Active Viewport Only) o si queremos desactivar la
repetición de la animación (Loop). Esto será
válido sólo en la viewport de trabajo, pues en el render será siempre de 1X.
En Animation podemos
determinar la duración de nuestra escena, en frames.
En Start Time podemos
elegir el inicio de nuestra animación, el cual no tiene que ser necesariamente
0 ya que podemos iniciarla en algún frame específico incluso si este es
negativo (ejemplo: -30).
En End Time podemos
definir el final del último cuadro de nuestro segmento de tiempo.
Lenght se relaciona con las anteriores y representa
la cantidad de tiempo total.
Frame Count se relaciona con las anteriores, y nos indica
el cuadro de conteo.
Current Time nos muestra la posición actual del regulador
de la línea de tiempo.
Re-scale Time nos permite reescalar el segmento de
animación activo, con esto los cuadros clave son reescalados también lo cual
nos permite acelerar o desacelerar una animación.
Métodos de creación de animación
Para crear animaciones existen dos
caminos básicos que son:
–
Transformar un objeto mediante operaciones como mover, rotar o escalar.
–
Transformar un objeto mediante modificadores u otros, o editar algún parámetro
en el tiempo.
Cuando animamos en 3DSMAX, cada
cuadro en el cual hagamos un cambio se transforma en un keyframe y el programa
realiza la interpolación de los frames intermedios hasta llegar al keyframe
anterior. Para animar en 3DSMAX podemos elegir el modo automático (Auto Key) o manual (Set Key). Para
entender esto haremos un pequeño ejercicio de animación:
Para animar de forma automática,
primero dibujaremos una tetera (teapot) y luego presionaremos el botón Auto Key. Notaremos que la línea de tiempo se vuelve
roja lo cual nos indica que está en modo de animación. Ahora movemos el
regulador de tiempo a la posición 30 y movemos un poco la tetera en X. Una vez
que la movamos notaremos que en 0 y en 30 se han creado 2 cuadros rojos. Estos
son los cuadros claves que ha creado el programa y que vemos en la imagen de la
derecha. Si tomamos el primer cuadro y lo seleccionamos con un click, este se
pondrá de color blanco. Los keyframes pueden ser movidos simplemente
cambiándolos de posición en la línea de tiempo.
En este caso, movamos este frame
hasta la posición 15 en la línea de tiempo y reproduzcamos la animación.
Notaremos que esta parte recién en 15 y termina en 30. De la misma forma en que
este keyframe puede ser movido, puede ser copiarlo si al moverlo presionamos y
mantenemos Shift. En el caso de nuestro ejercicio, copiamos el primer frame a
la posición 50 de la línea de tiempo. Intentemos ahora copiar el segundo frame
a la posición 70 en la línea de tiempo y reproducimos la animación. Notaremos
que la tetera se mueve hacia la derecha, luego a la izquierda y finalmente
vuelve a moverse a la derecha. Como se ve en el ejercicio, los keyframes pueden
ser movidos y copiados si lo necesitamos, incluso si no tenemos Auto Key activado. Para eliminar un keyframe,
simplemente lo seleccionamos y presionamos Suprimir (Supr).
Si queremos animar la tetera del
ejercicio en el modo manual, debemos activar Set Key y luego
presionar el ícono de la llave para establecer el primer keyframe en 0, luego
movemos el regulador de tiempo a la posición 30, movemos nuestra tetera y una
vez que lo hagamos presionamos nuevamente el ícono de la llave, para definir el
segundo cuadro clave en 30. Al igual que en el modo automático, podemos mover,
copiar o suprimir los keyframes. El modo manual es evidentemente más lento que
el modo automático, pero a la larga es el más ventajoso puesto que se tiene
mayor control de la animación.
Métodos de edición de keyframe
Sabemos que podemos mover, copiar o
suprimir un cuadro clave. Sin embargo, si vemos el ejercicio anterior notaremos
que la animación nos queda algo tosca ya que la transformación que le
apliquemos será uniforme en todo el objeto. Para resolver esto podemos editar
la animación mediante el Curve Editor, el
cual nos permitirá editar la forma en que se animan las trayectorias.
Curve
Editor: edita las trayectorias de la animación, basándose en los keyframes.
Al abrir Curve Editor, nos aparece el cuadro de arriba. Debemos
tener seleccionado el objeto animado para poder ver las trayectorias de la
animación. En el caso de nuestra tetera, vemos la curva que representa la
animación (curvas rojas) que corresponde al movimiento de la tetera en X:
Podemos
editar esta curva tomando los cuadros clave (en plomo) y seleccionándolos
mediante un click. Al igual que en la línea de tiempo, este se pondrá blanco
y además aparecerá una línea discontinua con un punto celeste (asa), esta
nos permitirá editarlas mediante cuevas bezier si seleccionamos y movemos el
punto celeste. Podemos moverlas para ir probando nuestra animación y ver
distintos resultados. Si presionamos el botón secundario en el keyframe,
podemos acceder al cuadro de la derecha donde podremos definir la posición del
keyframe, el value (amplitud de la curva) y el tipo de curvatura que veremos
ahora:
1
2
3 4
5 6 7
1.- Set tangents to Auto: Seleccione keys y elija esta opción en la barra de
herramientas Tangentes de key de Track View para definir las tangentes en Auto
de forma automática. Un icono desplegable también permite definir en Auto de
forma individual las tangentes internas y externas. Mediante la selección de
las asas de tangentes Auto, éstas se convierten automáticamente en
personalizadas y pueden editarse.
2.- Set tangents to Custom: Define la keyframe en tangentes personalizadas.
Seleccionamos la keyframe y luego presionamos este botón si quiere que editar
las asas del keyframe. Definimos el tipo de tangente Dentro y fuera por
separado utilizando el icono desplegable. Cuando empleamos las asas, utilizamos
la tecla MAYÚS para romper la continuidad.
3.- Set tangents to Fast: Define la tangencia de la keyframe en rápido
dentro, rápido fuera o ambos, dependiendo de lo que se haya elegido en el icono
desplegable.
4.- Set tangents to Slow: Define la tangencia de la keyframe en lento dentro,
lento fuera o ambos, dependiendo de lo que se haya elegido en el icono
desplegable.
5.- Set tangents to step: Define la tangencia de la keyframe en pasos (steps)
dentro, step fuera o ambos, dependiendo de lo que se haya elegido en el icono
desplegable. Utilizamos Step para congelar el movimiento de una key a la
siguiente.
6.- Set tangents to linear: Define la tangencia de la keyframe en línea dentro,
fuera o ambos, dependiendo de lo que se haya elegido en el icono desplegable.
7.- Set tangents to smooth: Define la tangencia de la keyframe en suavizado. Utilizamos
esta opción para uniformar el movimiento discontinuo.
Jerarquía y cinemática
En el mundo real los movimientos o
rotaciones de muchos objetos dependen de otros a los que están subordinados.
Por ejemplo, las ruedas de un auto giran gracias a la rotación del eje a la que
están unidas y a su vez este eje puede rotar gracias al motor, etc. Esta
relación se conoce como Jerarquía. En 3DSMAX, una jerarquía es una cadena de
objetos vinculados entre sí que contienen una relación
ascendiente/descendiente. Esto quiere decir que existe un “objeto padre” que es
el que manda en la relación y un objeto hijo que está subordinado a este. Si
este objeto padre se transforma, lo hará también el objeto hijo. Al igual que
en el mundo real, un objeto padre puede tener muchos “objetos hijos” pero los
objetos hijos no pueden tener más de un solo padre.
Para
crear una jerarquía simplemente presionamos el botón Select and Link (imagen izquierda). Esto nos
permitirá crear una jerarquía entre 2 o más objetos.
Seleccionamos el objeto hijo, luego
presionamos y mantenemos el botón primario del mouse y arrastramos hasta el
objeto padre.
Así creamos la jerarquía y podemos
probarla moviendo o rotando el objeto padre (en el caso de las imágenes del
lado derecho el objeto padre es la tetera) y notaremos que la caja también es
afectada por la transformación, y esta está subordinada a lo que se haga con la
tetera.
Si tenemos seleccionado cualquier
objeto que pertenezca a la jerarquía, podemos seleccionar y ver los objetos
hijos si presionamos la tecla Av Pag (izquierda),
y el objeto padre lo veremos si presionamos Re Pag.
Si queremos eliminar la jerarquía,
simplemente seleccionamos el objeto a desvincular y presionamos el botón Unlink Selection que está al lado del botón Select and Link.
Otra
cosa importante es que además tenemos el panel de Hierarchy (izquierda), donde podremos editar los
puntos de pivote de los objetos. Esto es importante si queremos, por ejemplo,
cambiar el punto de pivote de una primitiva o un modelo 3D para animarlo (por
ejemplo, una puerta). Tenemos 3 funciones importantes:
Affect Pivot Only: podremos transformar el punto de pivote del
objeto, lo cual nos permitirá ponerlo en cualquier posición y desde ahí
transformar el objeto.
Affect Object Only: podremos transformar el objeto sin afectar el
punto de pivote original de este.
Affect Hierarchy Only: podremos transformar la relación jerárquica de
ese objeto sin afectar su punto de pivote ni al objeto en sí.
Podemos activar o desactivar estas
funciones simplemente presionando y luego volviendo a presionar el botón
correspondiente
En el caso de la Cinemática, esta se divide en 2 partes: Cinemática Directa (Foward Kinematics) y Cinemática Inversa (Inverse Kinematics). La
Cinemática Directa es simplemente la forma predeterminada de manipulación de
las jerarquías. La Cinemática Inversa es un método de animación que invierte la
dirección de manipulación de la relación jerárquica, es decir, si se transforma
a los hijos se transforma el objeto padre. Este tipo de cinemática es muy útil
para animar seres personajes o complejas jerarquías de huesos, como puede ser el
caso de un ser humano.
Gracias a la cinemática y a la
jerarquía, podemos por ejemplo animar objetos mediante cámaras simplemente
enlazando el target o esta misma a los objetos.
Constraints o Restrictores de animación
Todo lo que se mueve, rota o escala,
es decir, todo lo que es posible de animar está manejado por un controlador. Un
controlador es un plugin que controla el
almacenamiento y la interpolación de todos los valores animados, es decir,
gestiona las tareas de animación.
Hay tres tipos de controladores
predeterminados y estos son:
Posición: Posición XYZ.
Rotación: XYZ Euler.
Escala: Escala Bézier.
Rotación: XYZ Euler.
Escala: Escala Bézier.
Además
contamos con un tipo especial de controlador llamado Restrictor (Constraints) que facilita bastante el proceso de
animación. Con los constraints se puede
controlar la posición, rotación, y escala de un objeto. Dependiendo de la
animación que deseemos realizar dependerá la cantidad de objetos que
necesitemos para aplicar un constraint. Hay
siete tipos que son:
Attachment Constraint: Asocia la posición de un objeto a la cara de
otro:
Video Player
Surface Constraint: Limita la posición de una superficie 2D a la
superficie de otro elemento 3D:
Dependiendo de qué es lo que queremos
animar dependerá el constraint que aplicaremos. Por ejemplo, si queremos animar
el recorrido de un automóvil a través de una carretera entonces debemos aplicar
Path Constraint ya que este nos permite animar el objeto en torno a un
recorrido 2D. En el caso de la Arquitectura, bastará con Path Constraint para
animar un recorrido. Realizaremos un sencillo ejercicio donde aplicaremos Path Constraint.
Animando con Path Constaint
Lo primero que haremos es dibujar en
la vista top una tetera y un círculo 2D de modo que ambos queden centrados en
el origen y que el radio del círculo sea mucho mayor que el tamaño de la
tetera. Ahora en la misma vista colocaremos una cámara de tipo target, de tal
forma que el objetivo de la cámara esté centrado en el origen. La idea es que
todo esto se vea como la imagen:
Podemos
elevar un poco el círculo de tal forma que la altura sea más o menos la mitad
de la tetera. Ahora seleccionaremos la cámara e iremos a Animation >> Constraints >> Path Constraint y
nos aparecerá una línea discontinua, ahora todo es cosa de seleccionar el
círculo y hacer click para aplicar el restrictor.
Notaremos que la cámara está alineada
con el círculo, que se han creado 2 keyframes en 0 y 100 y que si reproducimos,
notaremos que la cámara ahora orbita en torno a la tetera utilizando el círculo
2D como recorrido. Si queremos, podemos editar el radio del círculo y podemos
transformarlo para mejorar la animación de la cámara, o también podemos mover
los keyframes creados en la línea de tiempo.
Para ver la animación desde la cámara
simplemente tecleamos C en cualquier vista y reproducimos.
Podemos repetir el ejercicio pero
esta vez modelando un sencillo vehículo y realizamos los mismos pasos, aunque
en ese caso posiblemente el objeto no nos quede bien alineado en el recorrido
como podemos ver en la imagen de abajo:
Podemos resolver esto yendo al cuadro
de animación mostrado más arriba y activar las opciones de Follow (seguir) y para que nuestra nave vuele de
forma más realista podemos activar Bank (girar en
su eje). Esto hará que el objeto siga al recorrido y podremos orientarlo
utilizando los Axis X, Y y Z (si la nave nos
queda de forma invertida al recorrido podremos invertirla con Flip). En la imagen de abajo, la nave se ha volteado
activando follow y luego bank, el Axis se ha modificado a X y luego se ha
activado flip para ajustar a la posición correcta:
Ahora todo es cosa de reproducir la
animación para ver el resultado final:
Los ayudantes o helpers
Los
ayudantes son esenciales para la animación de formas complejas ya que son
objetos “ficticios” en los cuales podremos aplicarles cualquier relación de
jerarquía o algún constraint de animación. Estos son muy utilizados por los
animadores cuando queremos no comprometer a los objetos originales con las
relaciones o las animaciones o para no crear formas 3D que dificultarían la
labor de animación. Los ayudantes se crean en el panel de helpers (imagen
derecha) y los más populares son: Dummy, Tape y Point.
Dummy: es
un cubo virtual que cumple la función de ser un receptor ya que allí podremos
aplicar las restricciones o los vínculos necesarios sin aplicarlos al objeto ya
que este pasa a ser el elemento hijo del Dummy. Un Dummy no tiene parámetros
modificables.
Point: similar al Dummy pero nos genera una cruz
virtual que indica la posición de un punto. Podemos editar el tamaño, o
desplegar los ejes del punto.
Tape: es
una cinta virtual que nos permitirá acotar los objetos.
Representando la animación
Representar
o renderear la animación es tarea sencilla en 3DSMAX, para ello deberemos ir a
la opción de Render Setup y en Common nos
daremos cuenta que está activada la opción Single. Esto
significa que cuando presionemos el botón de render se representará una sola
imagen, la cual podremos guardar como imagen de tipo jpg o similar. Esta imagen
está por defecto en el frame 0, pero podemos renderear cualquier frame que
queramos si antes lo seleccionamos en la línea de tiempo. Para elegir una
secuencia de imágenes, tenemos las siguientes opciones:
Active time Segment: selecciona toda la línea de tiempo.
Range: nos permite establecer un rango de animación
en la línea de tiempo.
Frames: podemos elegir la cantidad de frames que
queramos, de forma similar a cómo elegimos las páginas a imprimir en Word.
En Area to Render podemos
elegir el área que se rendereará: View (renderea toda la ventana), select
(objeto seleccionado), Region, Crop (área de recorte de la ventana) y Blowup
(similar a Crop pero el render utiliza todo el tamaño de imagen).
En la opción Output Size tenemos los diferentes formatos de
pantalla, además de los cuadros con los formatos 320 x 240, 720 x 486, 640 x
480 y 800 x 600. El tamaño de la película dependerá de la presentación que
queremos realizar, por ejemplo 320 x 240 es ideal para testear la animación de
prueba mientras que deberemos renderear en NTSC DV para la animación final si
es que queremos presentar una animación que será transmitida por TV, ya que
este nos presenta la calidad de DVD.
Si
realizamos el render eligiendo una secuencia de imágenes, nos aparecerá un
cuadro que nos advertirá que los frames se perderán pues no han sido asignados
a un archivo. Esto ocurre porque debemos guardar el archivo antes de realizar
el render, pues de otra manera no podremos verlo en el PC una vez rendereados
todos los frames. Por ello debemos bajar por la persiana de Common hasta llegar
a Render Output y allí presionamos el botón files:
Nos aparecerá un cuadro donde nos
pedirá el nombre del archivo a guardar y en el menú de abajo aparecerán los
formatos con los que guardaremos la película. Los formatos de Video más
populares son AVI y MOV.
Esta opción nos permitirá además
guardar la secuencia de imágenes en formatos de imagen como JPG, TIFF o TGA,
aunque si lo hacemos nos guardará tantas imágenes como frames tenga la
animación. Por ejemplo, si tenemos una animación de 100 frames y guardamos toda
la secuencia como jpg y con el nombre de animacion, nos
guardará en la carpeta 100 imágenes renombradas como animacion0001.jpg,
animacion0002.jpg, etc. Por ello deberemos guardar la película en AVI para que
nos cree el archivo de Video.
Una vez que hemos asignado un nombre
y el tipo de archivo como AVI, nos aparecerá un cuadro donde elegiremos el
compresor para el video. DV video encoder es el mejor para el formato de TV,
mientras que Cinepak Codec es ideal para archivos pequeños. Una vez que
elegimos el compresor (usualmente Cinepak Codec) damos OK y con esto
finalizamos la configuración.
Una vez que creamos nuestro archivo,
en Render Output ahora está disponible la opción Save File. Podemos activarlo o desactivarlo si por
ejemplo, queremos ver un frame específico y necesitamos renderizar una sola
imagen sin que guarde todo el archivo.
Ahora todo es cosa de ejecutar el
render y esperar que el programa termine de representar todas las imágenes. Una
vez que finalice, vamos a la carpeta donde guardamos el archivo y ya podremos
verlo con el reproductor de Windows.
MAS INFORMACIÓN: https://www.youtube.com/watch?v=Wp5Qv9ezUSA
MAS INFORMACIÓN: https://www.youtube.com/watch?v=Wp5Qv9ezUSA
No hay comentarios.:
Publicar un comentario