UBIKSolver
UBIKSolver copied to clipboard
Shoulder rotating back math is inconsistent with VRIK
While determining if the shoulder should be rotated back towards the hand, 0.08 is the distanceRatioThreshold. To create an area about 0 which has no rotation, within the range [-0.08, 0.5] it should be adding 0.08 not subtracting (since ForwardDistanceRatio is negative here). https://github.com/JonasMolgaard/UBIKSolver/blob/acc72b60b03ea22c44aaa474e01c26653f156331/Source/UBIKRuntime/Private/AnimNode_UBIKSolver.cpp#L435
(As an aside, VRIK actually had its own bug in this section but because the default back shoulder limit was 0, it didn't matter.)