Jump to content

[Vive Pro SDK 1.0.0] Rotation frame information from hand tracking SDK


Vega

Recommended Posts

Hello everyone,

I need to use the rotation information for each joint of the hand.

I see in the documentation that I can get the quaternion information for the joints, however, I did not find the information about which frame the rotation was applied.

Is it in the HMD frame? In each joints local frame?

I could genuinely benefit from this information.

 

If this can help, I am using the latest version of the SDK(1.0.0) and the C/C++ package.

Regards.

Link to comment
Share on other sites

Hi @Vega

The joint rotation is in the same coordinate as the hand joint position. The coordinate system is slightly different, based on if you have called UseExternalTransform before StartGestureDetection or not.

If you called UseExternalTransform(true), we would assume transform passed in by SetCameraTransform as HMD transform.

If you haven't called the function, we will get HMD transform from OpenVR, this is same as calling GetDeviceToAbsoluteTrackingPose with vr::TrackingUniverseStanding.

All hand positions & rotations are then multiplied by HMD transform, this makes the results in the global coordinate system. All rotation of 21 joints are in the global coordinate system, so if you want to get relative joint rotation, you need to calculate it your self.

  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...