github_url: | hide |
---|
Inherits: :ref:`Node3D<class_Node3D>` < :ref:`Node<class_Node>` < :ref:`Object<class_Object>`
Node supporting finger tracking in OpenXR.
.. rst-class:: classref-introduction-group
This node enables OpenXR's hand tracking functionality. The node should be a child node of an :ref:`XROrigin3D<class_XROrigin3D>` node, tracking will update its position to where the player's actual hand is positioned. This node also updates the skeleton of a properly skinned hand model. The hand mesh should be a child node of this node.
.. rst-class:: classref-reftable-group
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-enumeration
enum Hands:
.. rst-class:: classref-enumeration-constant
:ref:`Hands<enum_OpenXRHand_Hands>` HAND_LEFT = 0
Tracking the player's left hand.
.. rst-class:: classref-enumeration-constant
:ref:`Hands<enum_OpenXRHand_Hands>` HAND_RIGHT = 1
Tracking the player's right hand.
.. rst-class:: classref-enumeration-constant
:ref:`Hands<enum_OpenXRHand_Hands>` HAND_MAX = 2
Maximum supported hands.
.. rst-class:: classref-item-separator
.. rst-class:: classref-enumeration
enum MotionRange:
.. rst-class:: classref-enumeration-constant
:ref:`MotionRange<enum_OpenXRHand_MotionRange>` MOTION_RANGE_UNOBSTRUCTED = 0
When player grips, hand skeleton will form a full fist.
.. rst-class:: classref-enumeration-constant
:ref:`MotionRange<enum_OpenXRHand_MotionRange>` MOTION_RANGE_CONFORM_TO_CONTROLLER = 1
When player grips, hand skeleton conforms to the controller the player is holding.
.. rst-class:: classref-enumeration-constant
:ref:`MotionRange<enum_OpenXRHand_MotionRange>` MOTION_RANGE_MAX = 2
Maximum supported motion ranges.
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-property
:ref:`Hands<enum_OpenXRHand_Hands>` hand = 0
.. rst-class:: classref-property-setget
- void set_hand ( :ref:`Hands<enum_OpenXRHand_Hands>` value )
- :ref:`Hands<enum_OpenXRHand_Hands>` get_hand ( )
Specifies whether this node tracks the left or right hand of the player.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`NodePath<class_NodePath>` hand_skeleton = NodePath("")
.. rst-class:: classref-property-setget
- void set_hand_skeleton ( :ref:`NodePath<class_NodePath>` value )
- :ref:`NodePath<class_NodePath>` get_hand_skeleton ( )
Set a :ref:`Skeleton3D<class_Skeleton3D>` node for which the pose positions will be updated.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`MotionRange<enum_OpenXRHand_MotionRange>` motion_range = 0
.. rst-class:: classref-property-setget
- void set_motion_range ( :ref:`MotionRange<enum_OpenXRHand_MotionRange>` value )
- :ref:`MotionRange<enum_OpenXRHand_MotionRange>` get_motion_range ( )
Set the motion range (if supported) limiting the hand motion.