Brazos IK FK

Hola, como están? Bueno, quería dar mi aporte al foro con un muy humilde tutorial. El tutorial es un acercamiento general a la creación de brazos IK / FK, seguro ya habrán visto tutoriales similares, para Maya sobre todo, pero para aquellos que no, espero que les sirva.

Espero que lo entiendan, ya que es mi primera incursión como tutor.
brazos IK/FK
por teatro mágico

Hola a todos, bueno en este tutorial les voy a mostrar a manera general, como lograr un setup (bastante simple por cierto) de los brazos en el que puedan trabajar tanto con forward Kinematics como con Inverse Kinematics (o sea el famoso FK/IK).

Como les decía, este tipo de setup sería el más simple, y una de sus desventajas principales es que no nos permite pasar de FK a IK manteniendo la posición de cuando estábamos trabajando en FK, o sea que por un lado hacemos el trabajo de FK y por otro de IK, sin tener autosnap (una característica muy buena en un rig avanzado).

Bueno, para comenzar debemos crear nuestro brazo real, o sea aquel que usaremos para el skin. Una muy buena recomendación es que trabajen por capas, por ejemplo, en una capa pongan los huesos que usaran para el skin del personaje, en otra capa los huesos FK, y en otra los IK. Para una mejor visualización construí las cadenas de huesos en diferentes planos, pero el brazo debería tener esas tres cadenas en el mismo plano, para una mejor comprensión del rig.

Volviendo, tenemos por un lado la cadena de huesos reales, por otro lado, otra cadena con huesos FK, y por último la cadena IK con un Solver Hi (fig. 1).

Brazos IK FK-1.jpg
Fig. 1: las cadenas de huesos necesarias para realizar el setup.

Como primer paso haremos lo siguiente, una vez construidas las cadenas mencionadas anteriormente, a los huesos reales les aplicaremos un orientation constraint, para esto seleccionamos un hueso (fig. 2) y vamos al panel motion > parameters > assing controller, y en la rotación pondremos primero un rotation list (esto es a manera de recomendación) y luego en available seleccionamos el controlador orientation constraint.

Pulsamos ad orientation target y elegimos el hueso equivalente tanto en la cadena FK como en la IK.

Realizamos el mismo procedimiento para los otros huesos.

Si comenzamos a jugar con estos contro-ladores, rápidamente nos daremos cuenta donde debemos llegar, ya que, al cambiar los valores de los orientation targets, cuando por ejemplo, el IK valga 0 y el FK 100, el brazo real será controlado por los huesos FK, y viceversa.

En la g 3, el controlador IK está en 0 y el FK en 100, por lo que el brazo real esta respetando las rotaciones del nuestra cadena de huesos FK.

Brazos IK FK-2.jpg

Vamos a comenzar ahora la construcción de los controles, creamos un helper (del tipo pointer es mejor), y constreñimos su posición al último hueso del brazo (el hueso chiquito que queda al nal), para que quede mas prolijo podemos contreñir también su orientación, con targets del hueso FK y del controlador de la cadena IK.

Pero continuemos, ahora que tenemos el helper le agregaremos un modi cador, el attribute holder. Luego de esto iremos al menú animation > parameter editor.

Esto lo hacemos justamente para aregar un atributo.

Al abrirse el menú del parameter editor veremos lo que se ve en la gura 5, ahora bien, nos aseguramos que tenemos seleccionado nuestro ayudante y el modi cador attribute holder, y en las opciones del parameter editor seleccionamos an ad todo type: selected objects current modi er, para parameter type: float, en UI type: spinner y le ponemos un nombre, en este caso elegí: ik->FK, en la pestaña float UI options elegimos el ancho y el range, es importante el range: 0 a 1.

Brazos IK FK-3.jpg
Fig. 3: valores IK en 0, y FK en 100

Cuando tengamos todo listo presionamos el botón ad y veremos que se agregó nuestro atributo en el attribute holder.

Brazos IK FK-4.jpg
Fig. 4: agregamos un attribute holder a nuestro.

Ayudante.

Y ahora llegamos a la parte más engorrosa, que es la de nir las reacciones.

Elegimos el primer hueso de la cadena real y vamos al menú animation > Reaction Manager.

Aquí comenzamos agregando un máster, en este caso elegimos nuestro ayudante, y buscamos en modi cador > IK/FK, y luego los slaves, o sea todos los orientation constraints que tenemos en total seria 4 slaves, para los Bones del brazo y antebrazo. ¿cómo es el procedimiento? Fácil, nos posicionamos en el máster y elegimos add slave elegimos nuestros Bones reales en la parte de rotation seleccionamos orientation constraint.

Y allí orientation weight 0 y luego el 1, cuando tengamos el máster y sus slaves listos, como en la g. 5 (no hagan caso a los 2 points del nal, esas reacciones son para dar mayor prolijidad visual) comenzaremos a jar que valores corresponden para cada estado del nuestro atributo IK/FK.

Antes que nada, si hay algún state prede nido, lo borramos.

Entonces, creamos un state, puede llamarse modo IK, ahora nos queda agregar los valores que entraran en el state, o sea todos los orientation constraints, para esto seleccionamos nuestro state modo IK y luego cada orientation weight que tenemos, usando el append selected.

Brazos IK FK-5.jpg
Fig. 5: el parameter editor.

Lo que queda por hacer ahora es simplemente, al state modo IK asignarle el valor 0, y a los demás los valores que les corresponden (0 o 100), o sea el razonamiento es el siguiente: cuando modo IK vale 0 hueso real/orientation weight 0 vale 100. Y así continuamos con todos los demás, como ven es la parte engorrosa. Pero después de esto podrán trabajar tanto en modo FK como en modo IK.

Brazos IK FK-6.jpg
Fig. 5: el Reaction Manager y algunas reacciones.

Saludos.

Nota: tienes un archivo adjunto con el tutorial en formato pdf.

.

Miniaturas adjuntas
Brazos IK FK-1.jpg   Brazos IK FK-2.jpg   Brazos IK FK-3.jpg   Brazos IK FK-4.jpg   Brazos IK FK-5.jpg  

Brazos IK FK-6.jpg  

Archivos adjuntados

Ver más sobre el tema y los comentarios en el foro