martes, 18 de agosto de 2009

EMPECEMOS!

Para este tutorial, voy a utilizar el modelo de un gallo. Es simple, pero de igual manera, deberá seguir con los pasos principales para que funcione. Primero importamos el modelo y es importante tener en cuenta que la parte frontal siempre debe ir hacia el eje Z.

Las patas

Empecemos con las patas. Para esto, se colocan los joints primero enla vista lateral. Esto garantiza que el origen de los joints esta en 0 en el eje “x”.
Solo se necesitaremos 6 joints, los cuales corresponden a la cadera, la pierna, la rodilla, el tobillo, la bola de pie y la punta.

Ahora, movemos lo joints en la vista frontal. Nota: para mover TODOS los joints se necesita mover solo el mas alto en la jerarquía. Pero cuando queremos mover SOLO UNO de los joints, oprima la tecla “insert” y así podrá mover solo el que desee.

Tambien es importante mantener el orden, por eso, debemos poner nombre a cada joint para poder diferenciarlos. ejm: pierna(L_IKpierna).
Ahora, tomamos los joints, menos el de la cadera, y dentro del menu de "skeleton", seleccionamos "Orient Joint", luego los reacomodamos. Luego tomamos la misma parte y dentro del mismo menu, seleccionamos "Mirror Joint", de esta manera podremos tener los mismo joints en la pata derecha. Ahora, podemos sustituir la L por un R.

IK EN LAS PATAS

Para poner los ik's debemos utilizar la herramienta de "IK Handle Tool", luego de seleccionarla, cambiamos en el espacio “Current Solver” la opción a “ikRPsolver” (se usa cuando hay más de un Joint, especialmente para rodillas y codos.) Por último se activan las cajas “solver eneable”, “snap eneable” y “sticky”.
Ahora se hace click desde la pierna hasta el tobillo. Luego se vuelve a cambiar a la opción de “ikSCsolver” y se hace uno del tobillo a la bola de pie y de ahí a la punta, creando dos nuevos Ik handles nuevos. Es buena idea hacer ambas piernas a la vez, de esta forma no habra que volver a
iniciar el proceso después.

Ahora vamos a hacer el controlador de la pata
Se hace un NURBS Circle, se agrupa y se acomoda bajo en pie, le damos una forma para que cubra la pata entera y luego de le damos freeze transformation para que vuelva todo a cero. Se puedo cambiar la forma por medio de los Control Vertices para no influir en los tamaños de la curva. La curva va a tener una serie de atributos conectados a los joints y a los Ik handles que permitirán hacer los diferentes movimientos que tiene la pierna.


Para que la curva tenga influencia sobre lo IKs debemos tener un orden.
La imagen muestra el orden jerárquico NECESARIO para que el controlador funcione. Debemos crear atributos para la pierna. Primero se hace un grupo con el IKHandle y se hace un grupo, el pivote de este va en el ball (Heel Lift), después los otros dos IKHandles en un grupo y el pivote en el ball (Toe Tap), tomamos los grupos anteriores y hacemos un nuevo con el pivote en el toe (Stand Tip, Toe Pivot), por ultimo otro grupo y el pivot en el tobillo (Heel Pivot). Todo lo anterior es hijo del controlador. "P" el hypergraph. Las conexiones de los atributos se hacen el hypergraph con click derecho, seleccionando el atributo luego el grupo correspondiente y la rotación que necesita.
Para el control de la rodilla, primero creamos un +-A en el hypershade, luego hacemos dos atributos en el ctrl del pie (knee y offset). Seleccionamos el primer IK Handle, el controlador del pie y el +-A. En el hypergraph seleccionamos la opción de ver los I/O, seleccionamos el atributo del knee y lo conectamos al input 1 en 0 del +-A, luego el offset al input 1 en 1 y el output en 1 va conectado al twist del IKHandle. Lock and hide el offset.






FK y BIND de la pierna

1. Duplicar los joints y renombrarlos - FK, borrar los effectors .
2. Crear los controles del Femur, Tibia, Tobillo y Ball. Para orientar los ctrls, primero se selecciona el joint que corresponde al joint, luego el grupo del ctrl y se hace un orient constrain (sin offset). Se borra y se hace un orient constrain del ctrl al joint.

3. Emparentar según la jerarquía.
4. Para el bind se duplican los joints y se renombran. Si el personaje tiene dedos, se crean - orientan los joints, se enparentan con el toe del bind.
5. Hacer un parent constrain entre los joints IK - BIND y FK - BIND.


SWITCH IK FK (Pierna y Brazo)

1. Seleccionamos el ctrl q contiene el atributo del switch min 0 y max 10. DRIVER Set Driven Key.
2. Seleccionamos los constrains IK - BIND FK -BIND. DRIVEN Set Driven Key.
3. Switch o = IK 1 FK 0 Switch 10= IK 0 FK 1. 1(100%)
4. Hacemos los keys que correspondan segun FK o IK.

IK DE LOS BRAZOS

Ahora que completamos las piernas podemos seguir con los brazos. Para esto necesitamos crear los joints (clavícula, hombro, codo y muñeca) , nombrarlos y orientarlos, excepto el de la clavícula. La orientación de la muñeca debe ser diferente, el eje Z debe ir hacia arriba. Tambien necesitaremos otro joint para el antebrazo, asi que lo que haremos es duplicar el codo y con W y click derecho seleccionamos la opción “object” para preservar la orientación, luego borramos el joint que también se duplico en la muñeca y ordenamos la jerarquía del joint que tenemos.

Ahora creamos el IK Handle entre el hombro y el antebrazo.Luego vamos a Modify - Evaluate Nodes - Ignore all. Movemos el pivot del IKHandle al wrist y el pivot del effector tambien. Y de nuevo Modify - Evaluate Nodes - Evaluate all. Creamos el ctrl del IKHandle. Enparentamos el handle al ctrl. Orient Constrain al grupo del ctrl para tener la rotacion. Orient Constrain en X entre el antebrazo y el controlador.

Para controlar el codo se hace un ctrl que va detrás del codo. Duplicamos los joints como guía. Seleccionamos el ctrl luego el IKHandle y hacer un pole vector constrain. Mover los joints moviendo el grupo del control, borrar las copias de referencia.



FK y BIND de los brazos

Duplicamos los joints y renombrarlos FK. Creamos los controles del hombro, codo y muñeca. Orient Constrain para que el ctrl tenga la misma orientación que el joint. Después hacemos un orient constrain en x entre el antebrazo y el control de la muñeca.
Duplicamos los joints para el bind. Luego se hacen los dedos. Hacemos un control que controla los atributos de los dedos y el switch entre el IK - FK. Parent constrain al joint del bind de la muñeca.
Constrains IK - Bind FK - BIND. Luego hacemos el Switch al igual que con las pierna.

Luego para la mano debemos hacer un controlador extra donde encontraremos atributos como spread y curl. Les damos sus movimientos con set driven key y luego de emparenta el controlador con la mano.






La espina

Crear, posicionar y orientar los joints. Hacemos un IKSpline (Settings prendidos y 2 spans) entre la base de la espina al cuello.3. Seleccionar en el hypergraph la curva que se creó al lado del IKSpline y seleccionando cada control vertex de la curva hacer un cluster.
Hacemos los controles. Uno superior y otro en la cadera. Seleccionar los 2 clusters más cercanos a cada uno y enparentarlos al control correspondiente. Después hacemos un parent constrain entre el cluster central y los controles. Luego seleccionado la curva poner el siguiente comando en la barra MEL : "" . Esto para medir la curva. Creamos un multiply/divide en el hypershade. Seleccionar la curva y el */ y seleccionar I/O conections en el hypergrapgh. Conectar el arclenght de la curva en el input 1x del multiply/divide. En los atributos del */poner divide y poner en el input 2 el mismo número que aparece en el input 1. Usando el conection editor el */ a la izquierda y cada joint de la espina a la derecha conectar el outputx a la escala en x.