As the title above says, I have a fairly standard first person character with a capsule component, a first person mesh, and a third person mesh. I have a root motion that is played in Blueprint via the “Play Slot Animation as Dynamic Montage” blueprint node on the third person mesh on DefaultSlot. The animation plays, but there is no root motion applied. The animation is configured correctly for root motion and works fine in the preview. My AnimBP is set up to Allow Root Motion from Everything, and the collision on my character is identical to the root motion demo in ContentExamples. My character is also using the default MovementComponent. Any other things I can try that I might have missed?
First two things to consider is inplace animation is reactive while root motion is event driven. For inplace to work it needs something to react to such as the movement driven by the movement component so what is actually moving is the capsule and the resulting pose is based on the current state of the capsule. In order a state is changed when activated, by key being pressed, and the animation is played based on the current state.
Root motion is activated as part of the event of a key being pressed and since the animation is built into the animation data does not need the movement component as a required element to react to.
Next
When you tell the animation BP to “use root motion from everything” all input as to driving the movement component no longer function, as root motion is “event driven” how ever the capsule is glued to the root, for basic collision, as well makes use of the basic physics of the character always falling. If you make use of RM then most if not all tutorials based on inplace will fail to work as expected as well network considerations needs to be considered as the requirements are driven in part via the movement component.
The basic RM movement system.
To clarify; I’m not using the root motion animation for general locomotion, just for a specific event.
I ended up figuring this out. ACharacter comes with a default MeshComponent. Root motion animations work fine on that, but not my additional first person mesh or third person mesh. I basically set the default MeshComponent to the same settings and AnimBP as my third person mesh and hid it, then played the animation on both meshes. It’s hacky, but it works well enough for me.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.