Hi, root motion works fine for rig animation type humanoid, but I have issues with rig animation type generic. The position jumps back when the animation clip loops or when the animation clip blends. Any idea what could cause this issue? I veryfied that the animation itself is ok, e.g. the animation root motion works fine for this animation using the animation controller when I disable SLATE. I use starting transform mode Auto Match Transforms on all clips, but it also happens on long SLATE animation clips when the assigned animation clip loops.
Here is one more useful finding: Everything works fine if I turn on ‘Apply Root Motion’ on the Animator component after SLATE gets activated (I just use scrubbing in SLATE). The thing is that SLATE turns ‘Apply Root Motion’ off when it gets activated.
Aha, after some debugging of the SLATE code it makes sense why it fails. When SLATE does BakeRootMotion it only stores the pos and rot from the animators transform. But thing is that Animator also modifies the ‘Root Motion Bone’. In practice Animator will set the ‘Root Motion Bone’s local pos and rot to zero. A workaround is to delete the ‘Root Motion Bone’ keys from each animation clip, but that needs to be fixed by SLATE. A quick fix that works for me is to temporarily enable ApplyRootMotion on the animator when calling graph.Evaluate(…) in Slate.AnimatorTrack.OnUpdate
Thank for the information. Having different root node could be the problem of this as you found out. I will have to dig a bit deeper into this to find out the exact cause and solution.
Thanks again 🙂
Join us on Discord: https://discord.gg/97q2Rjh
Author
Posts
Viewing 6 posts - 1 through 6 (of 6 total)
You must be logged in to reply to this topic.
Login
Register
By registering on this website you agree to our Privacy Policy.