Answered

Issue with Final Animation Position

stephen marshall 7 months ago updated 7 months ago 4

I've had an issue for a while and thinking I must be doing something wrong as the root position and rotation seems to be off each time.

I have hand animations that I imported from another animation package. They look good, but I want to make new ones.


When I import them into UMotion, everything looks good. But when I export a clip (even if I didn't edit it), the root position and rotation seem to be off.


I'm currently using "Optimize Transform Hierarchy" in Unity and noticed the depending on whether is on or off, the positions seem to be different.


I could theoretically redo each animation and fix the positions, but there are a lot of them. So I want to see if there is a way to prevent this from happening? Maybe some option I have checked or unchecked in UMotion?

UMotion Version:
1.20p08
Unity Version:
2017.4.24

Answer

Answer
Answered

Hi,
thank you very much for your support request.

If your animation is of type humanoid you could try to let UMotion generate your root motion curve (instead of Unity) which helps in situations where Unity doesn't correctly generate the root motion curve:

If your animation is of type generic it should always play exactly the same as the UMotion preview. If your animation is "generic" could you provide a small repo project including just everything I need to reproduce this on my PC and further investigate (this would be the UMotion project, the 3D model without textures if you want and the exported animation)? Please either use Unity's *.unitypackage format or create a new empty Unity project. Please use the email support form to send this to me (you can also request a link to my Dropbox via email if file size is too big).

Best regards,
Peter

Answer
Answered

Hi,
thank you very much for your support request.

If your animation is of type humanoid you could try to let UMotion generate your root motion curve (instead of Unity) which helps in situations where Unity doesn't correctly generate the root motion curve:

If your animation is of type generic it should always play exactly the same as the UMotion preview. If your animation is "generic" could you provide a small repo project including just everything I need to reproduce this on my PC and further investigate (this would be the UMotion project, the 3D model without textures if you want and the exported animation)? Please either use Unity's *.unitypackage format or create a new empty Unity project. Please use the email support form to send this to me (you can also request a link to my Dropbox via email if file size is too big).

Best regards,
Peter

Peter,

I tried making a repo project, but couldn't reproduce the issue, so I looked further into it.

I'm still puzzled by this (as I'm not a full time animator), but it seems that when I use "Add keys to all properties" on the first frame, I get this. Even if I don't alter any of the animation.

Could this be because the animation that its transitioning from has some rotations or positions of bones that are different and if I add a key frame for those it will cause the animation to possibly move the object? I'm thinking that may be the case.

Thanks for the quick response.

Steve

So does this mean your character is of type "generic"? Maybe you are keying the root position/rotation (i.e. the very first property shown in the Clip Editor) and that causes some confusion: If your character has no parent GameObject, then the root property would define an absolute world space position/orientation (even if you moved it somewhere else in your Scene View, it would jump back to the world space position/rotation defined by the root property). If your character is a child of another GameObject, the root property would be the position/rotation offset relative to the parent.

Best regards,
Peter

Sorry, yes the animation was generic.

That explains, it...thanks again!