Can't get rid of incorrect root transform in Y direction after move from 5.4.1 to 5.5.1

I have upgraded to 5.5.1 from 5.4.1 and now one of my animations is ‘broken’, in that the character is offset such that the floor is at hip level.

This animation worked fine in the previous version of Unity. Its definitely an animation import problem because it shows in the preview window on the import settings inspector.

I have tried setting the root transform position ‘Based Upon’ property but none of the options work. This includes Feet, even though the rig is positioned correctly. I have tried setting the Root Motion Node, but it does not work with None, Root Transform, the actual root node in my animation file or the ‘hips’ equivalent node. The root node in my animation is at floor level.

Anyone know whats causing this?

I am guessing its because the algorithm that drives the hips may have changed? I have looked through the change-logs and can’t find any relevant references to the animation system.

(PS. I know there is the offset setting, which I am using now as a workaround, but I don’t want to have to be setting this for all my animations when the file itself has the correct offset)

Thanks!

Sj

I don’t know of any change to the animation import or setup for animations from 5.4 to 5.5 in regards to root motion, root node.
Consider filing a bug report, to see what Unity has to say about it. This seems like something that - shouldn’t be happening. As long as you are 100% positive the animation was working correctly in 5.4.

Hope you figure it out.

I think I tried helping someone who posted same problem yesterday - Not sure if i helped him or not cause he hasn’t posted back but see my answer there: Animator messing up with the position of the GameObject - Unity Engine - Unity Discussions

and you tried importing it as a new file? the “reimport” selection keeps some information from the last import so cant always be trusted.

1 Like

Thank you both.

CaseyLee, I think that was it. I removed the file then re-added it. I can see in a diff of the .meta file for the asset there are a number of changes. Unfortunately the imported animation is deformed, but this is a problem to be sorted out between Unity, MotionBuilder and my rig settings. The important thing to know is where my ‘bug’ came from!

Sj

An update on this: I am starting to think the cause is a scale applied to the root node of this animation.

I re-imported the animation as CaseyLee describes, and used a second FBX with the correct rig to define the avatar. The animation this time was too high. I went back into MotionBuilder and noticed a scale of 10 applied to the root node. I removed this and now the animation is back to sitting halfway through the floor and I receive a warning about bone lengths. Its no good however because apart from looking a little stilted (probably due to scale mismatch in re-target) the XZ position is no longer stationary, as it was before (in addition to it still sitting halfway through the floor).

Personally I don’t like the idea of scale transforms anywhere in an animation, but this seems to be the supported workflow in motionbuilder :eyes:

For now I guess I’ll have to stick with the import from the previous version of Unity, or have the animation remade. I can’t believe how much time I’ve wasted on this nonsense already…

1 Like