Datos personales
- Carlos Salazar C.
- Estudiante Animación Digital UNIACC
jueves, 10 de diciembre de 2009
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
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)
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
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.domingo, 16 de agosto de 2009
Constraints
Ahora veremos el tema de los Constraints, los cuales nos servirán bastante para “calcar” animaciones y movimientos que ya estén trabajados.
El primero que vimos fue el Look At Constraint y sirve para que un elemento dirija su vista hacia un elemento destino. Funciona como un ojo y requiere la ayuda de un Dummy, que es una caja transparente la cual sirve como target para que el objeto vaya fijando su “mirada”. En este caso, lo que animaríamos es la caja, ya que el objeto la va siguiendo automáticamente.
Luego tenemos el Path Constraint y funciona similar al modificador path deformer es decir, toma un objeto y crea una ruta automática al linkearlo con su respectivo spline.
Otra opción es el Orientation Constraint y sirve para que un elemento imite la rotación de un objeto con el movimiento ya ejecutado. Debemos seleccionar el elemento sin el movimiento, activar el contraint (en menú Animation – Constraint – Orientation Constraint) y luego linkear al elemento que queramos que siga.
El Position Constraint, tal como su nombre lo dice, hace que un elemento siga la posición del objeto destino, pero no su rotación.
Por último, el Link Constraint permite que un objeto siga la posición, rotación y escala de un Dummy destino. En este caso lo que hacemos es “animar las cajitas transparentes” y los objetos harán lo que ellas hagan. Esto es muy útil, ya que si tenemos muchos objetos animados, los selecciono todos, los linkeo al Dummy para que los sigan y sólo me preocupo de animar el Dummy sin tener que animar todos los elementos por separado, lo que ahorraría bastante trabajo.
Curve Editor – Path Deform
Terminamos de ver las funciones del Curve Editor, y nos dimos cuenta que también puede dibujar uno mismo la línea de movimiento para obtener un resultado sorpresivo. El problema es que la línea que vamos dibujando tiene demasiados frames (los pequeños cuadrados blancos), así que para remediar esto, está la herramienta Reduce Keys, la que obviamente, reducirá el número de keys que tenga la curva según sea el valor del thresold o sea, si su valor es menor, menos frames va a a quitar. Lo contrario a esto es la herramienta Add Keys, la que agrega frames a cualquier curva, lo que nos servirá para controlar mejor el movimiento que tenga alguna curva.
También está Scale Keys, que sirve para agrandar o achicar todos los frames que se tengan seleccionados en ese momento y Scale Values, que los escala todos pero en forma proporcional. También tenemos Lock Selection, que bloquea lo que no tengas seleccionado en ese momento, por si mueves algo por accidente, sólo moverás lo que esté seleccionado. El botón Move Keys, moverá lo que esté seleccionado en cualquier dirección, pero si lo mantenemos presionado, aparecerán sus opciones para mover los keys solamente en forma horizontal o bien, sólo en forma vertical.
Una opción interesante que tiene el editor es el show keyable icons, el que nos servirá para ir bloqueando los ejes y parámetros que queramos y los que no, para que no movamos otros por error.
Tal vez con animaciones sencillas no parezca tan útil, pero a medida que se vayan complejizando las animaciones y por lo tanto, haya más objetos que requieran animación, será mucho más sencillo bloquear aquellos que no usemos para trabajar con mucha más tranquilidad. Al hacer click en un elemento, bloquearemos y se verá el ícono de la llave con un tachado.
Tenemos una opción para afectar la visibilidad de un objeto, con el fin de que aparezca y luego se vaya desvaneciendo hasta desaparecer. Lo que hacemos es en curve editor, elegir la opción tracks, luego add visibility y acá dependera el número que coloquemos: así, el 0 será completamente invisible y el 1 totalmente visible.
Un modificador interesante que podemos anclar a un objeto es el Path Deformer, el que nos permitirá que un determinado elemento siga una ruta específica dibujada en un spline. Para los usuarios de Flash, esto es igual que las guías de movimiento, pero en este caso la guía no es una línea de vector sino de spline. Lo primero que debemos hacer es crear un objeto vehículo y luego su recorrido en una spline. En las propiedades, agregamos el modificador Path Deformer, hacemos clic en Pick Path y seleccionamos el spline. Al hacer clic en Move to Path, el objeto automáticamente se alineará al spline y sólo queda mover el Percent para lograr la animación del circuito.
viernes, 7 de agosto de 2009
Stretch, Giros y Jerarquías
En esta clase seguimos con un rebote simple de una bola, pero ahora le agregamos algo nuevo: un modificador stretch, el cual hace que la bola se aplaste literalmente al caer al suelo, como si de un dibujo animado se tratase. Claro que esto no era tan sólo colocar el modificador, sino que había que ponerlo en los cuadros claves en donde la pelota tocaba el suelo y sacarlo cuando se elevara. Como todos los movimientos que hemos podido ver hasta ahora, también pudimos modificar la curva de movimiento del modificador en el panel del Curve Editor.
También probamos el avance de dos bolas pero que girasen mientras avanzaban. Esto lo lográbamos girando con el Mouse la bola cuando llegaba al final y nos cercioráramos que en la línea de tiempo apareciese una línea verde. Antes de ello tuvimos que cubrir las bolas con una textura para que pudiera notarse bien cuando iba girando, así que le pusimos una textura Checker (que es como de ajedrez) a cada una de un color diferente. La idea era que ambas bolas girasen a velocidades diferentes y que por supuesto, la rotación acompañase bien ese giro.
Algo que nos servirá bastante es el ordenar los elementos animados en base a jerarquías. Para esto construimos una especie de “brazo”, el cual constaba de 3 partes: la primera del hombro al codo, la segunda del codo a la muñeca y la tercera que sería la mano. Antes de ajustar sus jerarquías, debíamos primero colocar correctamente los pivotes de cada parte, ya que todas lo llevaban por defecto en el centro. En cada elemento, el pivote se debía colocar en la parte superior, moviéndolo en la sección HIERACHY, PIVOT en la opción Affect Pivot Only. Una vez que todos los elementos se encuentren con el pivote en el lugar correcto, nos iremos a la herramienta Select and Link.
Con esta herramienta iremos dando las jerarquías a los elementos que necesitemos. En el caso del brazo, lo entenderemos como que la parte del hombro es la que va a mover todo el brazo, entonces sería el “padre”, la parte media vendría siendo el “hijo”, y la mano una especie de “nieto”. Entonces, empezaremos desde el nieto al hijo y finalmente al padre. Select and Link, lanza una especie de hilo que va conectando los elementos, por lo tanto debemos ir lanzándolo de elemento en elemento y cuando ambos se pongan blancos un momento, se confirmará que la jerarquía funcionó.



