Skip to content

Latest commit

 

History

History
175 lines (100 loc) · 5.75 KB

class_openxrhand.rst

File metadata and controls

175 lines (100 loc) · 5.75 KB
github_url:hide

OpenXRHand

Inherits: :ref:`Node3D<class_Node3D>` < :ref:`Node<class_Node>` < :ref:`Object<class_Object>`

Node supporting finger tracking in OpenXR.

.. rst-class:: classref-introduction-group

Description

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

Properties

:ref:`Hands<enum_OpenXRHand_Hands>` :ref:`hand<class_OpenXRHand_property_hand>` 0
:ref:`NodePath<class_NodePath>` :ref:`hand_skeleton<class_OpenXRHand_property_hand_skeleton>` NodePath("")
:ref:`MotionRange<enum_OpenXRHand_MotionRange>` :ref:`motion_range<class_OpenXRHand_property_motion_range>` 0
.. rst-class:: classref-section-separator


.. rst-class:: classref-descriptions-group

Enumerations

.. 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

Property Descriptions

.. rst-class:: classref-property

:ref:`Hands<enum_OpenXRHand_Hands>` hand = 0

.. rst-class:: classref-property-setget

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

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

Set the motion range (if supported) limiting the hand motion.