When a character is playing an animation that contains rotational root motion and that character is placed on a moving actor, an invalid translation component is introduced to the worldspace position of the character.
One of the animation devs spent some time investigating this and suggested it be passed over to the gameplay team:
I've a bit more info about the bug and it turns out that is reproducible anywhere, the problem is that it depend on the speed of the platform the faster the platform move, the faster the character slides. The extra translation seems to be introduced at the point where the root motion is converted to world space USkeletalMeshComponent::ConvertLocalRootMotionToWorld which is called from the character movement component before consume the extracted motion. If you enable LogRootMotion category you will see the log coming from that function where LocalT is 0 and WorldT is non zero.
A project is attached that reproduces the issue. The issue was originally reported via the following UDN: [Link Removed]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-110236 in the post.
2 |
Component | UE - Anim - Gameplay |
---|---|
Affects Versions | 4.26.1 |
Created | Mar 8, 2021 |
---|---|
Updated | Jan 31, 2022 |