You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are two Godot interfaces to the hand-tracking features, OpenXRSkeleton and OpenXRHand, both of which set a series of relative transforms to the components of the tree of finger bones entities, and return no further data. See for example
if (hand_tracker->is_initialised && hand_tracker->locations.isActive) {
However, the the OpenXR HandJoint spec provides absolute transforms for each finger joint relative to the ARVROrigin, as well as joint radii (distance from the joint position to the surface of the skin of the palm if you multiply by the -y vector), and cartesian and angular velocities.
It might be easier to develop working code and the hand skeletons if we accessed the transforms provided by the OpenXR interface directly without this processing and multiplying out, because it might not be quite right. For example, the original quest plugin returned a list of quaternion orientations for the bones (instead of full transforms), which meant that the hand was never distorted by any bones being scaled/stretched. The orientations should always point back to the previous joint, but we could use the distance to select different hand meshes (eg child's hands).
The text was updated successfully, but these errors were encountered:
There are two Godot interfaces to the hand-tracking features, OpenXRSkeleton and OpenXRHand, both of which set a series of relative transforms to the components of the tree of finger bones entities, and return no further data. See for example
godot_openxr/src/gdclasses/OpenXRHand.cpp
Line 133 in 0d2ea91
However, the the OpenXR HandJoint spec provides absolute transforms for each finger joint relative to the ARVROrigin, as well as joint radii (distance from the joint position to the surface of the skin of the palm if you multiply by the -y vector), and cartesian and angular velocities.
It might be easier to develop working code and the hand skeletons if we accessed the transforms provided by the OpenXR interface directly without this processing and multiplying out, because it might not be quite right. For example, the original quest plugin returned a list of quaternion orientations for the bones (instead of full transforms), which meant that the hand was never distorted by any bones being scaled/stretched. The orientations should always point back to the previous joint, but we could use the distance to select different hand meshes (eg child's hands).
The text was updated successfully, but these errors were encountered: