How to rotate skeletons around global frame

When replaying skeleton data recorded from fusion of multiple cameras I see that the skeletons are not aligned with a horizontal plane (see image below). The image below is from replaying skeleton data in Unity, and it is tilted about 45 degrees off from the horizontal plane. In order to put surroundings around the avatars I need to rotate it to fit the rotation of the avatars, however, I would much rather want to rotate the avatars themselves. I am replaying skeleton data from a JSON file. How can I rotate all skeletons so that they align with the floor plane? Simply rotating the global root position of each avatar at each frame changes how the avatars are rotated relative to each other. The avatars must be rotated around a global axis. Changing the rotation of “FusionManager” (from stereolabs/zed-unity-livelink: ZED Livelink plugin for Unity ( does not change the rotation of the avatars.

I therefore believe I have to somehow manually change the rotation (and corresponding position) manually to align the avatars correctly. How can I do so?


I suppose the data has been recorded in Camera coordinate frame, and the camera was slightly looking downward. The skeleton data-position/orientation is therefore recorded relative to the camera position.
To fix that, you must know the pose of the camera and multiply the position/orientation of each kp by the inverse of the camera transform.

But to answer your question, the easier way to apply a global rotation to multiple objects in Unity is to create an Empty game object, set all the objects as children of this game object and rotate it accordingly.

Stereolabs Support