In Maya, we have joint orientations that rotate joints in their parent space so that when the joint’s “rotation” values are set to 0, the joint is pointed in its reference or bindpose.
But when I import properly-oriented joints from Maya to UE4 in reference pose, the “Local rotation” values for the joints are almost always non-zero. They seem to be relative to their parent bone’s space.
For example, if I have a joint hierarchy Clavicle -> Shoulder -> Elbow, the Clavicle is “pointing” sideways toward the Shoulder, and the “Shoulder” is pointing downwards at the Elbow, in reference pose. This is the pose I should get if all rotations are set to zero.
But in UE4, the Clavicle seems to have non-zero rotation values in rest pose that make it point sideways, and the Shoulder has non-zero rotations that make it point down.
If I want to read or modify the rotation of a joint relative to its reference pose, is the main solution to this to include extra joints that never rotate, so that I can subtract their rotations/locations from the main joint’s current rotations to get a “true” local rotation?