Answered

humanoid with animation rigging

Anonymous 2 months ago updated by Peter - Soxware Developer 2 months ago 3

Hello! I'm using humaniod in umotion. When using the new Unity's animation rigging tool, I'm trying to add keyframes such as controlling "Rig weight". However, based on the sample scene provided by the animation rigging package, Rigs are empty game objects that is not part of the humanoid bone. 

It seems like direct editing the rig's values in Umotion is not supported. notSupported.png


I wonder if there is any workaround?

UMotion Version:
1.20p08
Unity Version:
2019.3.9f1

Answer

Answer
Answered

Hi,
I did a few tests and I think what you are looking for is already possible. You probably always tried to add the "Custom Property Constraint" directly to the animation rigging control rig, which is indeed prohibited by UMotion. But you can add the "Custom Property Constraint" to any other bone/transform (that is not locked) and let it reference the animation rigging's control rig weight property.

This is how it works step-by-step:

  1. Add a "Custom Property Constraint" to e.g. your hips bone (or any other valid bone, you can also create a custom transform inside UMotion to make it easy selectable).
  2. Set the "Custom Property Constraint" into "Component Property" mode and select the animation rigging "control rig" game object as "Object" you want to control.
  3. Continue setting up the "Custom Property Constraint" like you would normally do (by choosing the property you want to control and by defining input limits etc.).

Please let me know if that works for you.

Best regards,
Peter

Under review

Hi,
thank you very much for your support request.

  • Can you make that empty game objects a child of e.g. the hips bone?
  • Another possible way might be to use "generic" instead of "humanoid". As soon as you modify none humanoid transforms in your animation clips, your animation isn't re-targetable anymore (so you loose the only benefit of humanoid). "Generic" is also a little bit faster in terms of CPU usage.

Best regards,

Peter

Hello Peter, thanks for your response and the 2 suggestions!

Unfortunately, my project requires me to use humanoid. Also it is not possible to make that empty game object as a child of any bone. Based on the unity's animation rigging document, it mentions `The root of a control rig hierarchy should be at the same level as the skeleton root, both under the Game Object holding the Animator. In other words, it should not be in the skeleton hierarchy, but rather live beside it`. Reference here

Currently, my workaround is to use Umotion to anime bone animations, and then use Unity's animation window to anime the animation rigging weights parameters :(

Answer
Answered

Hi,
I did a few tests and I think what you are looking for is already possible. You probably always tried to add the "Custom Property Constraint" directly to the animation rigging control rig, which is indeed prohibited by UMotion. But you can add the "Custom Property Constraint" to any other bone/transform (that is not locked) and let it reference the animation rigging's control rig weight property.

This is how it works step-by-step:

  1. Add a "Custom Property Constraint" to e.g. your hips bone (or any other valid bone, you can also create a custom transform inside UMotion to make it easy selectable).
  2. Set the "Custom Property Constraint" into "Component Property" mode and select the animation rigging "control rig" game object as "Object" you want to control.
  3. Continue setting up the "Custom Property Constraint" like you would normally do (by choosing the property you want to control and by defining input limits etc.).

Please let me know if that works for you.

Best regards,
Peter