Answered

Loops and layer

Netpost 8 months ago updated 8 months ago 4

Is there a simple way to bake loops into a single longer animation?  If I try to copy all frames and paste them at the end of the first loop, no root motion are applied.  I have root motion enabled in the animator and the loop root motion work in the unity timeline.  

Often the duration of my base layer is not long enough for my new top layer and  I am not sure how to extend this base loop layer before adding the new layer. 

It would be amazing if Umotion Pro would bake the loop clip when loop is activated in the playback of Umotion Pro while exporting the clip. We would only need to extent the selection to the length of loop needed. This would be so useful.

I hope that make sense.  ;)

Thanks Peter!

UMotion Version:
1.22p14
Unity Version:
2018.4.30f1

Answer

Answer
Answered

Hi Netpost,

thank you very much for your support request.

Your approach is correct. In order to advance the root motion between the loop-seams, open the curve of the root motion driving animated position property. Then select all keys of the second loop and adjust their vertical position so that you get a continuous curve/motion.


In case you are also using a root rotation (that doesn't come back to it's initial rotation when the loop ends), I recommend changing the rotation mode of that rotation property to "euler rotation" (related video tutorial). Then you can do the same editing with the curves as you've just done with the root position curve.

Thanks for suggesting this automated workflow. Currently the playback settings in UMotion are only responsible for previewing the animation, but have no impact on the exported animation. That's also how it is communicated in the video tutorials and documentation. The behavior you suggested would be a breaking change (as the playback settings would suddenly have an impact on the output), I have to carefully think about if this has any negative side-effects. Anyway, as mentioned above, this automatic workflow would just save you a few seconds as adjusting the curves should be rather easy.

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

Best regards,
Peter

Answer
Answered

Hi Netpost,

thank you very much for your support request.

Your approach is correct. In order to advance the root motion between the loop-seams, open the curve of the root motion driving animated position property. Then select all keys of the second loop and adjust their vertical position so that you get a continuous curve/motion.


In case you are also using a root rotation (that doesn't come back to it's initial rotation when the loop ends), I recommend changing the rotation mode of that rotation property to "euler rotation" (related video tutorial). Then you can do the same editing with the curves as you've just done with the root position curve.

Thanks for suggesting this automated workflow. Currently the playback settings in UMotion are only responsible for previewing the animation, but have no impact on the exported animation. That's also how it is communicated in the video tutorials and documentation. The behavior you suggested would be a breaking change (as the playback settings would suddenly have an impact on the output), I have to carefully think about if this has any negative side-effects. Anyway, as mentioned above, this automatic workflow would just save you a few seconds as adjusting the curves should be rather easy.

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

Best regards,
Peter

Hi Peter,

Thank you for the quick reply.

I wasn't aware of how to fix the root motion with the curve. It is a great tip that works very well. I have a few more questions

if you don't mind:


1- Is there a shortcut to zoom in the selected keys region in Umotion Pro? 

2- What would be the best way to extract a facial animation layer from a full animation clip in Umotion Pro?

I currently use an override layer in the unity timeline tracks to add my facial motion capture animation clip to the basic clip but 

the only way to accomplish this is by using a mask for the whole head. But sometime I want to keep the head motion transform from the base clip and all I need is the facial animation from the layer, so I am looking for a solution to accomplish that using Umotion Pro. 

Thanks for your help!

1- Is there a shortcut to zoom in the selected keys region in Umotion Pro?

You can right click --> Frame Selection. But this does not frame the selected keys specifically, but tries to fit the currently visible keys into the view port. I've took a note in my to-do list to change this behavior to frame the selected keys instead. I'm also going to assign it the "F" shortcut key like in Unity.

2- What would be the best way to extract a facial animation layer from a full animation clip in Umotion Pro?

That's simple, just import both animations and then copy and paste the facial  keys into the desired animation (overriding the existing facial keys). For an even cleaner approach, use an override layer inside UMotion and paste your facial keys there.

Best regards,
Peter

That's Great. Thank you for the quick support Peter. It is appreciated!