Answered

Is it possible to create an IK with the hand moving away from the rotation of a third-party object?

Lev 8 months ago updated 8 months ago 4

Hello everyone! Is it possible to create an IK with a hand moving away from the rotation of a third-party object? I would like to make an animation of the rotation of the handle with my hand using IK. but i can't assign the target object to this handle

UMotion Version:
1.22p14
Unity Version:
2020.1

Answer

Answer
Answered

Hi Lev,

thank you very much for your support request.

Generally speaking, an animation can only reference things that are a child of the Animator component that plays the animation. So in order to reference the switch, it would need to be a child of your character's Animator component. 


Please also note that the effect of UMotion's IK constraint is baked into the final animation. That means that there is no IK executed at runtime anymore (meaning that your hand won't adapt to runtime changes e.g. when your character has position offsets relative to the switch). Depending on your requirements, you might want to use a runtime IK framework (like Final IK or the new animation rigging package) for this kind of situation.

Please let me know in case you have any follow-up questions.

Best regards,
Peter

Answer
Answered

Hi Lev,

thank you very much for your support request.

Generally speaking, an animation can only reference things that are a child of the Animator component that plays the animation. So in order to reference the switch, it would need to be a child of your character's Animator component. 


Please also note that the effect of UMotion's IK constraint is baked into the final animation. That means that there is no IK executed at runtime anymore (meaning that your hand won't adapt to runtime changes e.g. when your character has position offsets relative to the switch). Depending on your requirements, you might want to use a runtime IK framework (like Final IK or the new animation rigging package) for this kind of situation.

Please let me know in case you have any follow-up questions.

Best regards,
Peter

Thank you very much for your answer! i don't need to use ik runtime and i would like to just write it to a static animation, is it possible? The handle object is a child of animator, and I can point it at the target, but I don't have the option in this mode to select it to rotate and thereby move the IK hands.

OK if the switch is already a child of the Animator, then this is easy.


  1. For humanoid UMotion projects, none humanoid bones/transforms are hidden by default. You need to make the transform of the switch visible by going into config mode, select the switch/lever from the hierarchy and under "Properties" set "Visibility" to "Show".
  2. The select the hand's IK target (stay in config mode) and open the "Constraints" tab. Disable the "IK Pinning Mode" checkbox in the Child-Of constraint. Back in pose mode, you can now select the hand's IK target and set the switch/lever as parent (in the channels view). Now the IK target follows the lever.


In this video tutorial, you can learn more about the Child-Of constraint. I highly recommend watching the tutorial before using it, as there are some common pitfalls you should be aware of:


Please let me know in case you need further assistance.


Best regards,

Thank you very much