Resultados 1 al 2 de 2

Cómo copiar posición de IK a FK y al revés

  1. #1
    Fecha de ingreso
    Apr 2006
    Mensajes
    7

    3dsmax Como copiar posición de IK a fk y al reves

    Hola a todos, hace mucho que leo y aprendo gracias a esta excelente página, pero en este caso no doy con una respuesta o explicación que entienda.

    Ahora mi pregunta, hace ya unos días estoy aprendiendo a hacer riggs y script lo que no entiendo una vez que realizo mis tres cadenas de huesos (una IK, otra FK y la tercera para unir la piel) creo un slider que modificando su valor la cadena de huesos pasa de IK a FK y al revés. Quiero hacer dos botones que, al apretar uno me copie la posición de la cadena IK para FK y viceversa.

    Les dejo una imagen de mi script y la escena para ver si alguien me puede ayudar.

    Desde ya muchas gracias. Saludos para todos.

    -- IMÁGENES ADJUNTAS --

    Miniaturas adjuntas Miniaturas adjuntas pregunta.jpg  
    Archivos adjuntados Archivos adjuntados

  2. #2
    Fecha de ingreso
    Dec 2025
    Mensajes
    0
    Para copiar la posición de IK a FK y viceversa necesitas un script que lea la transformación global (posición y rotación) de los huesos controladores de un sistema y la aplique al otro. El método exacto depende de tu software de rigging, pero la lógica general es la misma.

    En software como Blender, usarías Python. Para copiar de IK a FK, tomarías la matriz mundial del hueso final de la cadena IK (por ejemplo, el controlador de la mano) y la aplicarías al hueso controlador principal de la cadena FK. Luego, necesitarías resolver las rotaciones de los huesos intermedios de la cadena FK (como el codo) para que la cadena se alinee correctamente. Esto a menudo se hace usando restricciones de rotación temporal o calculando el plano de rotación.

    Para copiar de FK a IK es más directo. Copias la posición mundial del controlador de la mano FK y la asignas al controlador de la mano IK. Para el polo target (la posición del codo) de la IK, calculas la posición basándote en la rotación y disposición de los huesos de la cadena FK.

    En Maya, usarías MEL o Python. La idea es similar: obtener la translate, rotate y scale del controlador de un sistema y establecerlo en el otro. Para la IK a FK, además de copiar la transformación del control final, debes calcular y establecer las rotaciones de los huesos FK intermedios para que coincida la pose. Puedes usar la función aimConstraint de forma temporal para este cálculo.

    En 3ds Max, con MaxScript, accederías a la transformación de los nodos controladores. Para IK a FK, establecerías la rotación del controlador FK principal y luego usarías, por ejemplo, la herramienta Bone Tools para alinear los huesos o un script que ajuste el hueso intermedio basándose en la posición del objetivo IK.

    La implementación concreta requiere que conozcas los nombres de tus objetos controladores. Un pseudocódigo básico para el botón IK a FK sería: obtener la matriz mundial del controlador IK, descomponerla, aplicar la rotación al hueso superior FK, luego calcular la dirección hacia la posición final y ajustar la rotación del hueso intermedio FK para que apunte hacia allí.

    Para el botón FK a IK sería: obtener la posición mundial del controlador FK final y asignarla al objetivo del controlador IK. Luego, calcular la posición del polo target de la IK tomando la posición del hueso intermedio FK (como el codo) y proyectándola en un plano adecuado.

    Te recomiendo buscar en la documentación de tu software específico las funciones para obtener y establecer transformaciones globales, y para cálculos de dirección y rotación entre vectores. Si usas Blender, las funciones mathutils.Vector y Matrix serán esenciales. En Maya, busca cmds.xform y operaciones con datos de transformación. En 3ds Max, investiga sobre el objeto transform y cómo manipular la rotación de los huesos.

Temas similares

  1. 3ds Max Cómo guardar la posición y rotación de una animación en 3ds Max
    Por Jhonatan00_00 en el foro Animación y Rigging
    Respuestas: 1
    : 13-04-2023, 08:37
  2. 3ds Max Cómo colocar un objeto en la posición del centro de otro en 3ds Max
    Por Leander en el foro Programas de Diseño 3D y CAD
    Respuestas: 1
    : 06-04-2023, 23:33
  3. Cómo puedo exportar la posición rotación y escala a ae?
    Por keverde en el foro Plugins y Scripts
    Respuestas: 1
    : 25-04-2015, 01:57
  4. Rhinoceros Restricciones de movimiento posición y objeto como en rhinoassembly
    Por enjoyalex en el foro Animación y Rigging
    Respuestas: 1
    : 04-04-2011, 17:35
  5. 3ds Max Cómo girar un objeto en posición oblicua
    Por Niels en el foro Animación y Rigging
    Respuestas: 7
    : 11-10-2007, 21:23