I am trying to transfer some mocap data from one skeleton to another one. However, the skeletons have different rest poses (one has T-pose, and the other some other one), so I am trying to convert the euler angles from being relative to one rest pose to another. I have the relative transform between the second skeleton and a T-pose in Unity. The issue is that Unity uses a different angle convention to Blender/BVH, and I really cannot figure it out.
Trying to debug this, I've isolated one point of confusion, which is what I'm mainly asking about here. You can see in this video that for all joints up to the spine3, changing the X Euler angle, rotates arond X, but after the collar joints, changing the X Euler angle, it rotates around some other axis (even though all of its parents have near 0 rotation). I don't understand why this would be. Anyone could explain this? Thanks!