Ik-Fk-a1.jpg



IK_FK


Esto son solo unos apuntes de todo lo que ido sacando de información sobre el tema. Se trata de crear un hueso con IK y a la vez, con otro hueso, poder controlar el cambio de IK a FK
(IK) .- Cinemática inversa te permite determinar el movimiento de todas las partes de los objetos. (Inverse Kinematics)
(FK).- Cinemática directa, hay que ir moviendo los huesos uno por uno, arrastrando los padres a los hijos. (Forwardque Kinematics)
Para empezar añadiremos un hueso a la escena:

Ik-Fk-a2.jpg


Lo rotamos (R) y extrudimos (E) para crear una armature de cuatro huesos:

Ik-Fk-a3.jpg


Presionamos Ctrl+N para asegurarnos de que los huesos no están girados:

Ik-Fk-a4.jpg


Y le podemos poner el nombre que queramos. en este caso solo voy a poner números:

Ik-Fk-a5.jpg


Todos los huesos, menos el primero, están emparentados a otro hueso, de tal forma que si rotamos el 2 por ejemplo, los siguientes (el 3 y el 4) le siguen.
Lo que vamos a hacer ahora, es seleccionar en hueso número 4 y le vamos a borrar ese emparentamiento. Para ello, lo seleccionamos, y le borramos el nombre con SUPR y ENTER:

Ik-Fk-a6.jpg


Vamos a aprovechar que ya no tiene emparentamiento para duplicarlo; y lo movemos a una posición superior. Y le cambiamos el nombre y le ponemos el número 5.
Mas o menos, debemos tener unos huesos como en la imagen siguiente:

Ik-Fk-a7.jpg


Antes de seguir, voy a aprovechar, para explicar un poco lo que es una constraint; en este caso la llamada Limit Location.
Constraint es una restricción; en este caso (limit location) sería una restricción de localización en el espacio, determinada por unos límites.
Creo que se va a entender mejor cuando lo hagamos.
Para ello seleccionamos el hueso 5 y en la ventana de Bone Constraints añadimos (Add Constraint) una de tipo Limit Location:

Ik-Fk-a8.jpg


Nos saldrá una ventana, con una serie de datos de coordenadas:

Ik-Fk-a9.jpg


Para ver para que sirven todas estas coordenadas y ejes, vamos a hacer lo siguiente. Vamos a marcar todos las casillas de máximos y mínimos:

Ik-Fk-a10.jpg


Ahora veremos, que el hueso se a movido y se ha situado en el centro del visor 3D. Esta en coordenada cero:

Ik-Fk-a11.jpg


Como no lo queremos en esa posición, porque nos molesta, vamos a subirlo un poco. Para ello cambiamos los valores de Z (es la que sube y baja, en la imagen):

Ik-Fk-a12.jpg


Y veremos que el hueso se ha desplazado un recuadro hacia arriba. Si intentamos mover el hueso, veremos que no podemos, porque por eso le hemos puesto una restricción de coordenadas.
Para tener un recorrido en el eje X vamos a cambiar el valor de Máximo a 1:

Ik-Fk-a13.jpg


Ahora podemos ver que el hueso lo podemos mover de izquierda a derecha en ese limite que le hemos indicado:

Ik-Fk-a14.jpg


Seguimos con la IK y FK.
Lo primero que vamos a hacer, es una IK. Hay varias formas de hacerlo, pero yo utilizo la siguiente forma.
Estando en Pose Mode:

Ik-Fk-a15.jpg


Seleccionamos primero el hueso nº 4 (no tiene emparentamiento) y con Shift presionado, seleccionamos el nº 3:

Ik-Fk-a16.jpg


Presionamos Shift+I y ya tenemos nuestro hueso con IK que se habrá vuelto de un color amarillento para indicar que tiene una restricción (constraint).
Si ahora movemos el hueso nº 4 veremos que arrastra al resto de los huesos. Con mover ese hueso, ya hace que toda la cadena de huesos siga las rotaciones y movimientos:

Ik-Fk-a18.jpg


Ahora viene la parte de hacer un Driver para que funcione luego el cambio de IK a FK.
Antes que nada, voy a preparar las vistas y abrir una ventana de tipo Graph Editor:

Ik-Fk-a19.jpg


Más o menos, nos tiene que quedar una cosa como en la imagen inferior:

Ik-Fk-a20.jpg


Seleccionamos el Hueso nº 3, el que tiene la IK, y vamos a presionar con el botón derecho del ratón, sobre la barra de la Constraint llamada Influence.
Al presionar, nos debe de salir una ventana donde debemos seleccionar, Add Driver:

Ik-Fk-a21.jpg


Ahora en el editor gráfico, vamos a cambiar a Drivers, y tiene que salir una ruta de Armature y una barra llamada Influence:

Ik-Fk-a22.jpg


Pinchamos sobre esa barra llamada Influence y presionamos la letra N:

Ik-Fk-a23.jpg


En los valores de Drivers vamos a cambiar el Type: a Averaged Value:

Ik-Fk-a23.jpg


Y pinchando sobre Add Variable, añadimos una nueva:

Ik-Fk-a24.jpg


De tipo Transform Channel:

Ik-Fk-a25.jpg


Para indicarle la ruta, debemos presionar sobre la imagen del cubo:

Ik-Fk-a26.jpg


Seleccionamos Armature y el Bone nº 5 que es el que hemos puesto en la parte superior:

Ik-Fk-a27.jpg


Y que hemos conseguido con esto, pues muy sencillo. Hemos logrado darle o quitarle la influencia (Influence) sobre la IK
Si movemos el hueso nº 5 a la derecha estará en lo que hemos hecho al principio, el IK y podemos mover con el hueso 4 todo el esqueleto.
Si movemos el hueso nº 5 a la izquierda estará en FK y podemos mover los huesos independientemente:

Ik-Fk-a28.jpg


Ik-Fk-a29.jpg


Tutorial creado por soliman.