Friday, August 22, 2008

Sistema Espina IK/FK

1. Creamos los joints del IK, utilizamos alrededor de 5 o 6 (esto depende de la especificaciones de su modelo) generalmente se usan más joints para espinas más realistas. Y además creamos los joints del cuello, yo utilizé 3, estos se encuentran a menor distancia uno del otro en comparación a los de la espina:


NOTA: Recuerde utilizar el side view para crear estos joints para que la translación se mantenga en 0.

2. Orientamos los joints.

3. Ahora con la herramienta IK Handle Spline Tool creamos una curva del joint base de la espina hasta el primer joint del cuello con las opciones seleccionadas a continuación:



4. A cada vértice de la espina le asignamos un cluster. En total tienen que crear 5:



5. Ahora creamos los controladores de la espina. Uno para el joint base de la espina y otro para el último joint de espina (el joint antes del cuello). Recuerde mover el grupo del controlador con un parent constrain, no el controlador.

6. Hacemos un parent con P tomando los dos clusters superiores con el control superior y otro parent entre los dos clusters inferiores con el control inferior.

7. El cluster del medio es parenteado a ambos controladores con un PARENT CONSTRAIN (con mantain offset) tomando el controlador y después el cluster.

8. Ahora creamos el sistema FK, este tiene sólo 4 joints, podemos crearlos snapeando los joints a la curva del IK SPLINE para mejores resultados. Recuerde orientar los joints.



9. Creamos 3 nuevos controladores FK en los primeros 3 joints de la espina FK como se enseña anteriormente. Recuerde mover el grupo de los controladores (con un parent constrain sin mantain offset, borre el constrain después.) , no el controlador.

10. Seleccionar el controlador y después el joint y crear un PARENT CONSTRAIN con mantain offset. Parentear los controladores de la siguiente manera:



11. Hacer un PARENT CONSTRAIN entre el primer Joint de la espina FK y el grupo de la Curva de la base del IK. Repetir este mismo paso para el último joint de la espina FK y el grupo de la curva (o controlador) de la espina IK.

12. Creamos un Stretchy Spine:

a) Seleccionamos el Multiply/Divide, el CurveInfo (que se crea con el comando: "arclen -ch on (nombre de la curva);") más la Curva del IK se debe desplegar todo en el Hypergraph.

b) Cambiamos la opción MULTIPLY por DIVIDE en el nodo del Multiply/Divide, y copiamos el valor del INPUT al INPUT 2:



c) En el CONNECTION EDITOR abrimos el nodo de Multiply/Divide en los OUPUTS y los Joints en los INPUTS. En los OUTPUTS desplegamos OUTPUT y seleccionamos OUTPUT X y en los INPUTS desplegamos SCALE y seleccionamos SCALE X. Repetimos esto con todos los joints de la espina IK.

13. Crear una expresión para el twist del IK:

Expresión:
ikHandleSpine.twist = (Fk_SpineAControl.rotateX + Fk_SpineBControl.rotateX + Fk_SpineCControl.rotateX + IkSpineTop_Control.rotateX);

Recuerde usar los nombres de sus controladores, no la de los joints.


14. Crear el controlador de la cabeza y pivotearlo al primer joint del cuello. De esta manera:



15. Creamos un PARENT CONSTRAIN entre el controlador de la cabeza y el primer joint del cuello, después parenteamos el controlador al controlador IK de la espina (el controlador superior).

Clavículas:

16. Creamos unos controladores para las clavículas, como lo hacemos siempre, PARENT CONSTRAIN entre el controlador y el joint de la clavícula.

17. Ahora creamos PARENT CONSTRAIN entre el Joint de la espina IK (el que se encuentre más cerca al controlador de la clavícula, a una altura similar) y el grupo del controlador de la clavícula.

18. Después parenteamos los joints de los hombros de los sistemas IK, FK y BIND al joint de la clavícula.

19. Creamos un PARENT CONSTRAIN entre el joint de la clavícula y el Grupo del controlador del hombro FK.