Vega Posted November 19, 2021 Share Posted November 19, 2021 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 More sharing options...
zzy Posted November 23, 2021 Share Posted November 23, 2021 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. 1 Link to comment Share on other sites More sharing options...
Vega Posted November 23, 2021 Author Share Posted November 23, 2021 Hi @zzy, Thank you for your reply which fully answer my question. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now