Path: blob/master/modules/openxr/doc_classes/OpenXRHand.xml
10278 views
<?xml version="1.0" encoding="UTF-8" ?>1<class name="OpenXRHand" inherits="Node3D" deprecated="Use [XRHandModifier3D] instead." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">2<brief_description>3Node supporting hand and finger tracking in OpenXR.4</brief_description>5<description>6This node enables OpenXR's hand tracking functionality. The node should be a child node of an [XROrigin3D] node, tracking will update its position to the player's tracked hand Palm joint location (the center of the middle finger's metacarpal bone). This node also updates the skeleton of a properly skinned hand or avatar model.7If the skeleton is a hand (one of the hand bones is the root node of the skeleton), then the skeleton will be placed relative to the hand palm location and the hand mesh and skeleton should be children of the OpenXRHand node.8If the hand bones are part of a full skeleton, then the root of the hand will keep its location with the assumption that IK is used to position the hand and arm.9By default the skeleton hand bones are repositioned to match the size of the tracked hand. To preserve the modeled bone sizes change [member bone_update] to apply rotation only.10</description>11<tutorials>12</tutorials>13<members>14<member name="bone_update" type="int" setter="set_bone_update" getter="get_bone_update" enum="OpenXRHand.BoneUpdate" default="0">15Specify the type of updates to perform on the bone.16</member>17<member name="hand" type="int" setter="set_hand" getter="get_hand" enum="OpenXRHand.Hands" default="0">18Specifies whether this node tracks the left or right hand of the player.19</member>20<member name="hand_skeleton" type="NodePath" setter="set_hand_skeleton" getter="get_hand_skeleton" default="NodePath("")">21Set a [Skeleton3D] node for which the pose positions will be updated.22</member>23<member name="motion_range" type="int" setter="set_motion_range" getter="get_motion_range" enum="OpenXRHand.MotionRange" default="0">24Set the motion range (if supported) limiting the hand motion.25</member>26<member name="skeleton_rig" type="int" setter="set_skeleton_rig" getter="get_skeleton_rig" enum="OpenXRHand.SkeletonRig" default="0">27Set the type of skeleton rig the [member hand_skeleton] is compliant with.28</member>29</members>30<constants>31<constant name="HAND_LEFT" value="0" enum="Hands">32Tracking the player's left hand.33</constant>34<constant name="HAND_RIGHT" value="1" enum="Hands">35Tracking the player's right hand.36</constant>37<constant name="HAND_MAX" value="2" enum="Hands">38Maximum supported hands.39</constant>40<constant name="MOTION_RANGE_UNOBSTRUCTED" value="0" enum="MotionRange">41When player grips, hand skeleton will form a full fist.42</constant>43<constant name="MOTION_RANGE_CONFORM_TO_CONTROLLER" value="1" enum="MotionRange">44When player grips, hand skeleton conforms to the controller the player is holding.45</constant>46<constant name="MOTION_RANGE_MAX" value="2" enum="MotionRange">47Maximum supported motion ranges.48</constant>49<constant name="SKELETON_RIG_OPENXR" value="0" enum="SkeletonRig">50An OpenXR compliant skeleton.51</constant>52<constant name="SKELETON_RIG_HUMANOID" value="1" enum="SkeletonRig">53A [SkeletonProfileHumanoid] compliant skeleton.54</constant>55<constant name="SKELETON_RIG_MAX" value="2" enum="SkeletonRig">56Maximum supported hands.57</constant>58<constant name="BONE_UPDATE_FULL" value="0" enum="BoneUpdate">59The skeletons bones are fully updated (both position and rotation) to match the tracked bones.60</constant>61<constant name="BONE_UPDATE_ROTATION_ONLY" value="1" enum="BoneUpdate">62The skeletons bones are only rotated to align with the tracked bones, preserving bone length.63</constant>64<constant name="BONE_UPDATE_MAX" value="2" enum="BoneUpdate">65Maximum supported bone update mode.66</constant>67</constants>68</class>697071