Hi guys,
I've implemented Root Motion (https://docs.unrealengine.com/latest/INT/Engine/Animation/RootMotion/index.html) into my XNA engine and it works really well apart from one issue, which is why I'm posting here.
So far, each update frame, my engine will take the movement applied to the skeleton root bone and apply it to my character object instead and reset the skeleton root bone to zero. It keeps track of where the root bone would normally be so it only applies changes between the last frame and the current frame to the character object.
The root motion can be toggled on and off, so only certain animations will make use of this. Going from an animation with root motion to an animation without root motion works beautifully. However, going between root motion animations causes one major issue as I'm also using animation blending to smooth the transitions out, so it is applying a blend of the root bone positions whereas I'm only concerned with the root bone position from the new current animation. :shake:
What I want to do is once an animation blend is happening, completely ignore the root bone for the previous animation, but blend all the other skeleton bones as usual.
My solution is to include a flag on the AnimationState so that ignores Root Bones when calculating the blending. I'm wondering if there are any other solutions or something I'm missing that would help?