Sorry if there’s already a bug on this but I’m new to the and I didn’t have time to figure out how to search for existing bugs outside of the AnswerHub and the documentation.
While trying to get Hand IK working on an FPS demo, I was having a problem with the TwoBoneIK node. I wanted to feed it a WorldSpace EffectorLocation based off a socket on the weapon they’re holding. At one point I had copied some other tutorials and had checked bTakeRotationFromEffectorSpace before changing EffectorLocation from BoneSpace to WorldSpace. Once WorldSpace is set, the ‘End Effector’ section of properties is hidden and bTakeRotationFromEffectorSpace is no longer visible to uncheck. However in AnimNode_TwoBoneIK.cpp, it still uses that variable to determine the EndBoneCSTransform.
I believe this is a bug b/c the EffectorTransform has no Rotation in it as it came from a WorldSpace location. So my IKBone was always facing north in world space. Once I unchecked bTakeRotationFromEffectorSpace it started working properly and left the rotation of my IKBone unchanged. I believe the lines in AnimNode_HandIK that check both bTakeRotationFromEffectorSpace and bMaintainEffectorRelRot to modify the EndBoneCSTransform should be guarded by “if ( bBoneSpace ) { … }”.