Answered

WWF Smackdown style animation

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

Moved from Unity forum by Mod: https://forum.unity.com/threads/umotion-animation-editor.490618/page-13#post-8109905


Hi there

I've got a question if it's okay? I tried using the forum search, and couldn't find any questions about child-of, apologies if there are some that I couldn't see on my trawling.

I've bought the Umotion Pro Asset, and have finally got an excuse to put it through its paces (it looks incredible!), and I am particularly interested in the child-of contraints. I've watched the guides and read the documentation, then had a quick go at using it and it seems to do exactly what we need, but I've got two complications for our use case that I'm unsure are possible in Umotion?

The first is if I could set the childof contraint at runtime so that the same animations can be applied on different humanoid targets at runtime?

In the example video below, the two animators are independent, but then at roughly 4 seconds in there's a move where one wrestler picks up the other and they're both momentarily seemingly playing a 2 person animation, and that's the exact thing we'd love for our project.

Youtube video

The second is if we'd make the receiver of the attack animate using a separate controller or if Umotion would be able to work out what it needs to map to and apply that to our child node?

Thank you so much for your time and best wishes,

Adam :-)

UMotion Version:
Unity Version:

Answer

Answer
Answered

Hi Adam,

thank you very much for your support request.


If you create such a "paired" animation, there are several things to consider:

  • The same position/rotation offset the characters had during authoring of the animation should be present at runtime. So your movement code needs to make sure that both your characters have the correct starting position/rotation offset before playing the animation. The simplest form would be to "teleport" the characters to have the correct offset.
  • UMotion does not perform any runtime code. So no, the child-of constraint or UMotion's IK system is not available at runtime. UMotion solely creates *.anim files that contain the ready made animation. In order to adapt an animation to runtime situations, a runtime IK solution like animation rigging or Final IK is needed.
  • To animate two characters at the same time in UMotion, you have the following options: https://support.soxware.com/en/communities/1/topics/726-animate-two-or-more-models-at-the-same-time

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

Best regards,
Peter

Answer
Answered

Hi Adam,

thank you very much for your support request.


If you create such a "paired" animation, there are several things to consider:

  • The same position/rotation offset the characters had during authoring of the animation should be present at runtime. So your movement code needs to make sure that both your characters have the correct starting position/rotation offset before playing the animation. The simplest form would be to "teleport" the characters to have the correct offset.
  • UMotion does not perform any runtime code. So no, the child-of constraint or UMotion's IK system is not available at runtime. UMotion solely creates *.anim files that contain the ready made animation. In order to adapt an animation to runtime situations, a runtime IK solution like animation rigging or Final IK is needed.
  • To animate two characters at the same time in UMotion, you have the following options: https://support.soxware.com/en/communities/1/topics/726-animate-two-or-more-models-at-the-same-time

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

Best regards,
Peter

Hi Peter,

Thank you so much for breaking all this down for me - I appreciate that I was fundamentally misunderstanding the way that Umotion worked, thank you for your patience and explaining the process. :) I think for simplicity's sake, I'll do as you recommended in the link, and sync the positions then play the animations clips for both people in tandem; I'm relieved that this is a recommended practice as it sounds like much less work.

I will jump back in and have a look at the best ways to do this, it might be that I store the two people's clips as KeyValuePairs in a scriptable object or something to that effect.

Thank you again for your help and support, it makes me really excited to use Umotion knowing that the support is so good for it. :)

I'm happy that I was able to help. Don't hesitate to contact me in case you have any further questions.

Best regards,
Peter