Inicio >1. Introduccion2. Modelado3. Materiales e Iluminacion4. Animacion5. Render y Postproduccion
4.4. Huesos y Esqueletos 4.6. Simulaciones Físicas

4.5. Cinemática Directa e Inversa

Figura 01. Cinemática: Directa Vs Inversa.

Una vez que hemos definido los huesos que forman el esqueleto y están correctamente emparentados (para que funcione la cadena deben estar las relaciones de parentesco entre huesos correctas), podemos utilizarlos para modificar las posiciones de objetos sobre los que se apliquen.

Para modificar la posición de los huesos de una cadena se emplea el modo pose , accesible desde la cabecera de una ventana 3D. El modo pose también es accesible mediante el atajo de teclado Control Tabulador. Cuando nos encontramos en modo pose, los huesos seleccionados aparecen remarcados en color azul (ver Figura 1 en Cinemática Directa). Para establecer la posición de una cadena cinemática podemos emplear dos mecanismos:

  • Cinemática Directa (FK Forwardk Kinematics): La posición y rotación de cada hueso de la cadena se indica explícitamente. Los huesos hijos heredan de los padres la rotación, pero es necesario especificar estos parámetros para cada hueso de la cadena. La posición del extremo de la cadena (el efector) se obtiene de concatenar las rotaciones de cada elemento.
  • Cinemática Inversa (IK Inverse Kinematics): Se especifica la posición en el espacio que queremos alcanzar y se calcula automáticamente una posible configuración de rotaciones de los huesos de la cadena.
Sobre cinemática inversa
Ingeniería Vs. Gráficos
  Existen métodos de cálculo exactos de cinemática inversa, como el de Denavit-Hartenberg utilizado en robótica. Estos métodos son complejos de generalizar. En gráficos por computador se suelen utilizar métodos iterativos inexactos pero rápidos y altamente generalizables. Blender internamente emplea una versión del CCD (Cyclic Coordinate Descent), un método de mejora iterativa aproximada.

Figura 02. Uso del esqueleto.

Pese a que la cinemática inversa puede ayudar a realizar muchas animaciones, no es la única solución en todos los casos. La mayoría de los animadores necesitan ajustar la rotación de los huesos del esqueleto para ajustar la solución automática de cinemática inversa.

Para utilizar un esqueleto con objetos rígidos basta con hacer los objetos hijos de cada hueso del esqueleto. Para ello, tendremos que tener el esqueleto en modo pose (y poder seleccionar huesos individualmente). Primero seleccionaremos el objeto al que queremos aplicar el hueso, después con Shift pulsado seleccionamos el hueso y pulsamos Control P, seleccinando Make parent to/ Bone. En la Figura 2 se muestra un ejemplo de uso. Los esqueletos no tienen representación en la etapa de Render, por lo que el resultado de la Figura 2 serán dos cubos "conectados" rotando.

Figura 03. IK Solver.

Para utilizar cinemática inversa es necesario añadir un tipo especial de restricción (pestaña Constraints de los botones de edición ) al último hueso de la cadena de tipo Ik Solver (ver Figura 3). Los principales parámetros de esta restricción son:

  • OB: Objeto sobre el que se calculará la cinemática inversa (normalmente se emplea un objeto Empty).
  • Use tail: Indica a Blender si debe usar el último hueso de la cadena para el cálculo de la cinemática inversa. Por defecto se usan todos los huesos (activado). En versiones antiguas de Blender no se utilizaba. Este botón se mantiene por razones de compatibilidad.
  • ChainLen: Número de huesos que se utilizarán para el cálculo de la cinemática inversa. Si vale 0 se utilizarán todos.
  • Iterations: Especifica el número de iteraciones que utilizará el algoritmo iterativo para el cálculo de la solución cinemática. En escenas complejas hay que intentar mantener este valor bajo.

Figura 04. Opciones de restricción de ejes - Pestaña Armature Bones.

Cuando se utiliza la restricción de IK Solver aparecen nuevas opciones en la pestaña Armature Bones con el hueso seleccionado en modo pose (ver Figura 4), que permiten Bloquear la rotación del hueso en algunos ejes (por ejemplo, en la Figura 4 se bloquea la rotación en el Eje X Lock X Rot y en el Eje Y Lock Y Rot. También permite ajustar límites máximos de rotación Limit Z de algunas articulaciones (con su correspondiente representación con una línea azul en la ventana 3D).

En el siguiente video de ejemplo se utiliza una configuración de cinemática inversa sencilla con 4 huesos. La restricción del IK Solver se añade sobre un objeto de tipo Empty   Video: 02:21 sobre el que se crean frames clave con su posición en diferentes frames   Video: 04:48. La modificación de la posición del Empty se ve reflejada en el resto de elementos de la cadena.

Player
Player
Arriba: Resultado del ejemplo.
Izqda: VideoTutorial.

Ejemplo de uso de cinemática inversa con una cadena de 4 huesos. Utilización de frames clave para el posicionamiento del Empty efector.

4.4. Huesos y Esqueletos 4.6. Simulaciones Físicas