I'm interested in the local coordinate system of the bone in order to interpret animation data from blender correctly in my game.
For simplicity I'm assuming 0 roll.
Getting the y axis seems straight forward, it's always in the direction from the head of the bone to the tail of the bone.
But how do I determine the local X and Z axis?
When the bones are in the XY plane Z is always up, so I figured it's probably something like, cross product local_y global_z to get the x axis and then cross product local_x local_y to get the local z axis.
But this doesn't seem to hold up for bones in the zx plane.
It kind of looks like they are blending between orientations at the 6 axis directions.
But not sure how that blend would work.
What is being blended? Quaternion? 3x3Matrix?
How is it being blended? Lerp? Slerp?
Or is it something completely different?
If anyone can shine some light on this, or point me towards the relevant documentation I would really appreciate it <3