The issue has been reported by one of our licensee. He proposed a patch to be applied in AnimNode_SpringBone.cpp
188,189c188,191
< FVector ParentToTarget = (TargetPos - ParentSpaceBase.GetLocation()).GetSafeNormal();
< FVector ParentToCurrent = (BoneLocation - ParentSpaceBase.GetLocation()).GetSafeNormal();
ーーー
> //FVector ParentToTarget = (TargetPos - ParentSpaceBase.GetLocation()).GetSafeNormal();
> //FVector ParentToCurrent = (BoneLocation - ParentSpaceBase.GetLocation()).GetSafeNormal();
> FVector ParentToTarget = (Output.AnimInstanceProxy->GetComponentTransform().InverseTransformPosition(TargetPos) - ParentSpaceBase.GetLocation()).GetSafeNormal();
> FVector ParentToCurrent = (Output.AnimInstanceProxy->GetComponentTransform().InverseTransformPosition(BoneLocation) - ParentSpaceBase.GetLocation()).GetSafeNormal();
He said that it fixes the problem on his side, but it won't change anything when I tried. s
Open linked project.
Open te9000_test-anim_010 and see the preview animation.
Launch SpringControllerTest level, and see that the rotation in the animation is not correctly applied.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-69373 in the post.
1 |
Component | OLD - Anim |
---|---|
Affects Versions | 4.21.2 |
Target Fix | 4.24 |
Created | Jan 31, 2019 |
---|---|
Resolved | Sep 23, 2019 |
Updated | May 18, 2020 |