Datos personales

Estudiante Animación Digital UNIACC

jueves, 10 de diciembre de 2009

¡AYUDA! El Corto 3D



Link para ver en VIMEO:
http://www.vimeo.com/8095720

lunes, 12 de octubre de 2009

Rigg Columna

Luego de crear el Rigg para el pie, continuaremos con la parte central del esqueleto humano, que parte desde la pelvis, pasando por toda nuestra espalda y sosteniendo la cabeza: la columna vertebral.

La haremos, al igual que el pie, con la herramienta Bone Tools y Create Bones y será asi:


- 1 BoneCabezaFinal (end)

- 2 BoneCabeza

- 3 BoneCuello

(Separado)

- 4 BoneColumnaFinal (end)

- 5 BoneColumna04

- 6 BoneColumna03

- 7 BoneColumna02

- 8 BoneColumna01

(Separado)

- 9 BonePelvis

- 10 BonePelvisFinal (end)

Los end vendrían siendo los pequeños huesitos del final.


Recalcamos que es importante nombrar todos los objetos para no confundirnos después cuando tengamos muchos elementos en pantalla.


Ahora crearemos los Riggs. Será un círculo grande para el RiggCentro y 4 figuras hechas de pequeños círculos como esta:


La idea es crear un círculo pequeño de spline. Luego convertirlo a Editable Spline, ir al submenú Spline y rotar copiando una vez para que quede una cruz y luego otra vez para que quede un último círculo alrededor.


Crearemos 3 copias más de este y los situaremos de la siguiente manera:


Serán nombrados, de arriba hacia abajo:

- RiggCabeza

- RiggColumna02

- RiggColumna01

- RiggCentro (el grande)

- RiggPelvis


Position Constraint: del cuello a columna final y del BoneColumna01 al BonePelvis.


Alineamos el RiggPelvis al BonePelvis sólo en Orientación y los 2 de atrás alineados al BoneColumna01 sólo en orientación.


Vinculamos BoneColumna01 y BonePelvis al RiggCentro y luego los 4 Riggs al Riggcentro.


Vinculamos BoneColumna01 y BonePelvis (los padres de las cadenas de huesos) al RiggCentro.


Con ALT + Botón Derecho: Freeze Transform a todos los Riggs. Con esto lograremos volver a cero, clickeando ALT + Botón derecho en TRANSFORM TO ZERO, cada vez que rotemos toda la columna a una posición específica.


Ahora colocaremos los Orientation Constraints correspondientes a cada hueso. Debe ser de la siguiente manera:


BonePelvis: Orientation Constraint al RiggPelvis

BoneColumna01: Orientation Constraint al RiggColumna01

BoneColumna02: RiggColumna01 (65) y RiggColumna02 (35)

BoneColumna03: RiggColumna01 (35) y RiggColumna02 (65)

BoneColumna04: Orientation Constraint al RiggColumna02

BoneCuello: Orientation al BoneColumnaFinal y RiggCabeza

BoneCabeza: Orientation al RiggCabeza


Los números van en el Weight del Orientation Constraint.


Creamos un Point y lo alineamos al BoneColumna01 en posición y orientación. Lo llamamos PointRotacionColumna01


Vamos a la pestaña Motion del BoneColumna01 y en Add Orientation Target, agregamos al PointRotacionColumna01.


Vinculamos el Point al RiggCentro.


Abro la pestaña Assign Controller del BoneColumna01. Abro Rotation y en Available agrego un controlador Euler XYZ.


Finalmente hago un Wire Parameters del BoneColumna01 al RiggPelvis, en donde la ruta sería:

BoneColumna01: Transform – Rotation – Euler XYZ – X Rotation

RiggPelvis: Transform – Rotation – ZeroEuler XYZ – X Rotation


En la ventana del Wire, apretamos la flecha para que el Rigg controle al Bone y abajo colocamos:


-X/5= El signo negativo para que rote correctamente (si no lo colocamos, la rotación es al revés) y dividimos por 5 para que dicha rotación no sea tan brusca.

Terminamos seleccionando cada hueso y seleccionando su Bone Fins, con lo cual creará aletas laterales similares a la de la columna vertebral humana.

domingo, 11 de octubre de 2009

Primer Rigg Pie

Hoy comenzaremos con la interesante tarea de Riggear las partes del cuerpo de un personaje. Como bien sabemos, lo primero que hay que hacer es construir su esqueleto para después ponerle la piel y que sea animable.

Primero haremos un pie con la ayuda de herramientas como Dummys del tipo Point y usaremos técnicas de cinemática inversa IK. Como siempre lo hemos hecho, linkearemos todo a una geometría, la que será que se lleve los keyframes facilitando nuestro trabajo.

El pie constará de de 6 partes que son, desde arriba hacia abajo:

- BoneMuslo
- BonePantorrilla
- BoneTobillo
- BoneTalón
- BoneEmpeine
- BonePunta

Las nombraremos Bone porque, como es obvio, trabajaremos con huesos. Así que iremos a la pestaña de Animation, Bone Tools o bien a Systems, Bones y empezaremos a crear los huesos.

Damos click en Create Bones y en vista lateral, creamos primero el muslo, la pantorrilla y el tobillo. Para terminar esta secuencia, damos click con el botón derecho del ratón y el hueso terminará con una especie de coyuntura. Separado de estos y un poco más abajo, crearemos el talón, el empeine y la punta. No importa que queden separados ya que luego los alinearemos.


Ahora, seleccionamos el pequeño bone que representa al tobillo y presionamos el botón de Alinear.


Aparecerá un hilo y conectaremos al bone del talón. En las opciones alinearemos pivote con pivote y sólo posición no orientación.


Ahora vamos a los Helpers y seleccionamos el Point. Haremos el mismo proceso y lo alinearemos al muslo pero esta vez con orientación. Podemos comprobar que la orientación está correcta, ya que el Point se gira un poco para tomar bien la orientación del muslo.
Del talón al tobillo será así. Seleccionamos el talón, vamos a Animation – Constraints – Position Constraint, y conectamos el cable al tobillo para que siga su posición.

Ahora linkearemos del muslo al Point de arriba para que sea quien lleve la secuencia. El Point de arriba será llamado PointPadreSecuencia.

Llegó el momento de crear la cinemática inversa. Seleccionamos el BoneMuslo y nos vamos a la pestaña Animation – IK Solvers – HI Solver. Aparecerá un cable y lo conectaremos al BoneTobillo. Quedará una cruz azul en el tobillo y ahora cuando la movamos la articulación será igual a la de la pierna humana. Luego haremos lo mismo del talón al empeine y finalmente del empeine a la punta. Los nombraremos también y quedarán: IK Tobillo, IK Empeine e IK Punta.

Crearemos la geometría que va alrededor del pie y será una Spline Rectangular. Colocamos que sea Enable in Viewport y Radial con 2.0 de Thickness y 3 Sides y solo 1 de Steps. En las medidas pondremos 40, 20 y 8 de Corner Radius.



Seleccionamos la geometría que llamaremos Riggpie y colocaremos su pivote en el vértice de atrás. Pondremos 6 dummys de point (o bien, creamos uno y hacemos 5 copias hacia el lado) y los iremos alineando de la siguiente manera.

- Uno alineado al IK Tobillo
- Otro alineado al IK Empeine
- Otro alineado al IK Punta
- Otro alineado al pivote del Riggpie llamado: PointFootRoll
- Y los dos últimos alineados a los vértices traseros del Riggpie, quedando juntos al Point del centro. Los llamaremos PointLateral1 y PointLateral2


Como sabemos que son los point quien mandan acá, entonces linkeamos cada IK (cruz azul) con su point correspondiente.

Ya que tenemos todo listo falta el link final y definitivo que unirá todo lo que hemos hecho hasta ahora. Los links son los siguientes y en orden:

- Del PointTobillo al PointEmpeine
- Del PointEmpeine al PointPunta
- Del PointPunta al PointLateral1
- Del PointLateral1 al PointLateral2
- Del PointLateral2 al PointFootRoll
- Del PointFootRoll al RiggPie


Este último paso puede parecer un tanto complejo pero es importante seguirlo al pie de la letra porque es el que finalmente, va a dar la movilidad exacta a nuestro pie.

Finalmente, damos a cada hueso un modificador Edit Poly para arreglar sus vértices y que parezca así un pie de verdad. Hemos completado la primera extremidad de un Rigg complejo que permitirá movimientos precisos a un personaje de animación en 3D.


miércoles, 9 de septiembre de 2009

Editor de Parámetros

Lo que veremos ahora, es modificar las propiedades de un objeto creando parámetros personalizados a nuestras necesidades y usando sólo un spline, que será el que se lleve los frames de rotación, posición y escala.


Lo primero es crear una tetera en el escenario y agregarle los parámetros que queramos. En este caso le agregaremos los modificadores Stretch, Twist y Bend. Es vital para este tipo de instancias, que se anote en un procesador de texto los parámetros límites que nos sirvan de cada modificador para anotarlos de inmediato después. Los que usaremos en este caso serían:

Stretch/stretch: de -1 a 2

Twist/angle: -100 a 100

Bend/angle: -50 a 50

En este caso se leería por ejemplo: “Del Modificador Twist que agregamos a la tetera, queremos modificar su parámetro angle que el valor mínimo donde llegue sea menos cien y el valor máximo que alcance sea cien”.


Ahora agregaremos a la tetera un Spline que actuará como el maestro. Creamos un círculo y lo situamos alrededor de la tetera como un ula ula. Activamos que sea visible en el viewport para poder verlo en las vistas, bajamos sus sides a 3 y su interpolación a sólo 1. La idea es que sea un objeto lo más simple posible, ya que sólo nos servirá de guía. Le nombraremos como RigTetera y linkearemos desde la tetera hasta el rig, recordamos que los linkeos se hacen desde hijo a padre, lo que significa que el RigTetera será el que mueva el elemento.


Luego, con RigTetera seleccionado, le agregaremos el modificador AttributeHolder, que estará vacío porque es un contenedor donde agregaremos los controladores. Nos vamos al menú Animation y seleccionamos Parameter Editor.


Es en esta ventana donde nos servirán los parámetros que anotamos al principio porque tenemos que ir colocándolos en cada uno de los espacios. Para crear el primero, que sería Stretch, cambiamos el nombre en name a STRETCH, y Range colocamos -1 en From y 2 en To. Como vimos anteriormente, esto quiere decir que el modificador tendrá un límite que vaya desde el menos uno al dos. Hacemos clic en Add y se agregará al elemento.


Una vez agregado, nos damos cuenta que no hace nada si lo movemos, pues vamos a hacer la conexión para que el STRETCH funcione. Con el RigTetera seleccionado, hacemos clic derecho y vamos a Wire Parameters. Aparecerá una ventana flotante y es vital que sigamos la siguiente secuencia:


Modified Object – MovimientosTetera – Custom_Attributes – Stretch



Tiramos el hilo que aparecerá hacia la tetera y aparecerá otra ventana, en la que seguiremos la siguiente secuencia:


Modified Object – Stretch – Stretch



Al hacer esto aparecerá la ventana de conexiones del wire:


Si nos damos cuenta, el espacio de la izquierda corresponde al RigTetera y el de la derecha al objeto Tetera. Como queremos que sea el Rig el que controle los movimientos del objeto, debemos hacer clic en la flecha que apunta hacia la derecha y luego en connect.

Ahora, si movemos el slider del stretch vemos que nuestra tetera obedece al parámetro y se alarga o aplasta. Es muy útil usar esta técnica para que sea un elemento el que controle a los demás y se lleve los frames de animación, por ejemplo si ahora queremos hacer que la tetera rebote y se aplaste al caer al suelo, sólo debemos mover el rig y los parámetros creados. Los demás modificadores se ejecutan de la misma manera, manteniendo siempre sus valores en forma correcta por ejemplo, el valor de stretch es stretch y el de Twist es angle.



domingo, 6 de septiembre de 2009

Reaction Manager


3D Max ofrece una herramienta que permite al usuario conectar una cadena de eventos y poder manipularla como se estime conveniente. Nos referimos a Reaction Manager y trabaja básicamente con cadenas de maestros y esclavos.


Haremos un ejemplo sencillo en que una barra slider mueva una tetera hacia la derecha. Lo primero es crear la tetera en el escenario y luego el slider, que se encuentra en la pestaña Helpers del menú Create en el submenú Manipulators.


Label sería el nombre del slider en pantalla y si queremos que vaya de 0 a 100, entonces ponemos 0 en el minium y 100 en el maxium. Value es el valor del slider y será importante cuando coloquemos qué atributo del slider queremos modificar. Abremos el Reaction Manager del menú Animation y nos saldrá una ventana como la siguiente:

El signo más negro de arriba es para agregar al maestro de nuestra cadena, entonces lo presionamos y seleccionamos el slider. Nos preguntará qué queremos modificar y seleccionamos object (slider) y luego que modifique su value. Al lado del signo más negro hay otro pero transparente y que sirve para agregar los esclavos, entonces lo presionamos y seleccionamos nuestra tetera. Nuevamente nos preguntará qué queremos y seleccionamos Transform – Position – Y, para que la tetera se mueva de izquierda a derecha. Tener esta información de antemano es importante ya que a veces se nos pueden confundir los ejes y no queremos que la animación vaya mal. Lo que hicimos recién fue crear el estado de reposo que se llamó State01, podemos cambiarle el nombre a REPOSO para no confundirnos después.


Ahora viene lo interesante. Lo primero que debemos hacer es en qué posición se moverá el slider para que ejecute el primer movimiento, así que lo movemos hasta el 50 con el botón Select and Manipulate presionado:


Una vez movido el slider, presionamos el botón Create Mode del Reaction Manager, movemos la tetera en el eje Y y presionamos el botón que está al lado de Create Mode y se llama Create State, cuyo ícono es una flecha con un brillo amarillo.


Se creó un nuevo estado al que llamaremos TETERA VA. Si probamos y movemos el slider nos daremos cuenta que funcionó y que efectivamente mueve a la tetera. Ahora haremos un nuevo estado, entonces movemos el slider a 100, presionamos create mode, movemos la tetera a su posición original, presionamos create state y le ponemos TETERA VUELVE.


Si probamos mover el slider vemos que hasta el 50, la tetera avanza y luego al 100, retrocede. Esta es básicamente toda la ciencia del reactor manager y es importante siempre seguir la misma secuencia al crear los estados y tener la información de qué elemento queremos mover y qué eje o atributo.

Overlapping

Esta vez nos enfocaremos en un tema directamente relacionado a la técnica en animación: nos referimos al Overlapping. Esto se podría definir como la velocidad con que los elementos se desplazan, creando una sensación elástica de movimientos.

Supongamos por ejemplo una caja normal que se desplaza. Ahora, para lograr el Overlapping, debemos imaginar que dicha caja se subdivide en 3 partes, una superior, una media y una inferior y cada una se irá desplazando con diferente velocidad a medida que la caja avanza, ojo que en ningún momento hemos cortado ni dividido la caja con alguna herramienta. Para describir los movimientos de la caja empezaremos con lo siguiente: la caja empieza a moverse rápidamente y la parte inferior es la que empieza primero dejando atrás a las otras dos. La parte del medio como que “alcanza en velocidad” a la inferior y la parte superior es la que se queda casi sin saber donde va la micro y llega última. Esto podría ser extraño de comprender en teoría, pero pensemos en las caricaturas, que son totalmente elásticas en sus movimientos y cuando llegan corriendo a algún lugar, primero llegan los pies, luego el cuerpo y al final la cabeza.

En una representación gráfica, se vería más o menos así:

Algo interesante que tiene la línea de tiempo es que si hacemos clic derecho en ella y seleccionamos Configure y luego Show Selection Range, podremos escalar frames en igual porcentaje, es decir se mueven todos manteniendo la misma escala original. Otro tip de la línea de tiempo es que si presionamos control más alt y clic izquierdo o derecho, “traeremos” frames positivos o negativos depende de lo que necesitemos y sin tener que ir a Time Configuration.

domingo, 23 de agosto de 2009

Controllers y Wires

Una de las opciones que podemos usar cuando estamos animando, es utilizar un assign controller en nuestro objeto, que va a ser útil para colocar una animación determinada y sin ni siquiera haber tocado la línea de tiempo.

Con un objeto seleccionado, en la pestaña Motion nos vamos a Assign Controller y con la pestaña rotación seleccionada (saldrá en amarillo), hacemos clic en el pequeño cuadrado con el signo de interrogación. Con ese botón asignaremos un controlador y saldrá de inmediato una lista con los que estén disponibles. En este caso usaremos Noise Rotation, con lo que lograremos que el objeto rote con movimientos rápidos como si estuviera tiritando de frío. En las opciones del Noise, tendremos la posibilidad de que el movimiento no sea tan rápido disminuyendo la frecuencia, que la curva no sea tan "quebrada" si desactivamos el fractal, o que el movimiento se restrinja a sólo uno de los ejes. Si queremos que todo vuelva a la normalidad, debemos seleccionar en este caso Rotación y asignar el controlador llamado Euler XYZ. Si quisiéramos volver en Position, deberíamos seleccionar Position XYZ, y en Escala, Scale XYZ.

Algo útil que se puede hacer si no se quiere variar una animación anterior, es asignar un list (position list, rotation list o scale list) lo que creará un espacio vacío (available) para colocar el controlador con tranquilidad sin que afecte una animación anterior. Esta técnica es bastante efectiva para hacer, por ejemplo una puerta que se abra y cierre rápidamente con el viento o una luz que parpadee intermitentemente en forma rápida.

Ahora veremos los Wire Parameters (parámetros de wires o cables), los que nos permitirán que un objeto pueda mover a otro o a muchos más sólo moviendo uno. Tomemos como ejemplo un cubo, le damos clic derecho y seleccionamos Wire Parameters, Transform, Position, X Position. Al hacer esto aparecerá una línea punteada que debemos llevar a la esfera y nos saldrá el mismo cuadro de diálogo, enl cual pondremos: Transform, Position, Z Position. Al hacer esto aparecerá una caja con diversas opciones, una para el cubo y otra para la esfera. En este momento debemos decidir quien debe controlar a quien y la idea es que el cubo controle a la esfera, por lo que haremos clic en la flecha que apunta desde el box a la sphere. Al hacer esto, hacemos clic abajo donde dice Connect. Cuando tengamos todo listo, veremos que si movemos el cubo hacia adelante, la esfera automáticamente se moverá hacia arriba. Un dato que pudiera ser un poco más complejo, es modificar el parámetro de la caja de conexiones donde dice Expression, ya que si colocamos un signo negativo al principio, el movimiento será al revés. Para que funcione clicamos en Update.