class_openxrhand.rst 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRHand.xml.
  6. .. _class_OpenXRHand:
  7. OpenXRHand
  8. ==========
  9. **Inherits:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  10. Node supporting hand and finger tracking in OpenXR.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. 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 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.
  15. If 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.
  16. If 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.
  17. .. rst-class:: classref-reftable-group
  18. Properties
  19. ----------
  20. .. table::
  21. :widths: auto
  22. +-------------------------------------------------+---------------------------------------------------------------+------------------+
  23. | :ref:`Hands<enum_OpenXRHand_Hands>` | :ref:`hand<class_OpenXRHand_property_hand>` | ``0`` |
  24. +-------------------------------------------------+---------------------------------------------------------------+------------------+
  25. | :ref:`NodePath<class_NodePath>` | :ref:`hand_skeleton<class_OpenXRHand_property_hand_skeleton>` | ``NodePath("")`` |
  26. +-------------------------------------------------+---------------------------------------------------------------+------------------+
  27. | :ref:`MotionRange<enum_OpenXRHand_MotionRange>` | :ref:`motion_range<class_OpenXRHand_property_motion_range>` | ``0`` |
  28. +-------------------------------------------------+---------------------------------------------------------------+------------------+
  29. | :ref:`SkeletonRig<enum_OpenXRHand_SkeletonRig>` | :ref:`skeleton_rig<class_OpenXRHand_property_skeleton_rig>` | ``0`` |
  30. +-------------------------------------------------+---------------------------------------------------------------+------------------+
  31. .. rst-class:: classref-section-separator
  32. ----
  33. .. rst-class:: classref-descriptions-group
  34. Enumerations
  35. ------------
  36. .. _enum_OpenXRHand_Hands:
  37. .. rst-class:: classref-enumeration
  38. enum **Hands**:
  39. .. _class_OpenXRHand_constant_HAND_LEFT:
  40. .. rst-class:: classref-enumeration-constant
  41. :ref:`Hands<enum_OpenXRHand_Hands>` **HAND_LEFT** = ``0``
  42. Tracking the player's left hand.
  43. .. _class_OpenXRHand_constant_HAND_RIGHT:
  44. .. rst-class:: classref-enumeration-constant
  45. :ref:`Hands<enum_OpenXRHand_Hands>` **HAND_RIGHT** = ``1``
  46. Tracking the player's right hand.
  47. .. _class_OpenXRHand_constant_HAND_MAX:
  48. .. rst-class:: classref-enumeration-constant
  49. :ref:`Hands<enum_OpenXRHand_Hands>` **HAND_MAX** = ``2``
  50. Maximum supported hands.
  51. .. rst-class:: classref-item-separator
  52. ----
  53. .. _enum_OpenXRHand_MotionRange:
  54. .. rst-class:: classref-enumeration
  55. enum **MotionRange**:
  56. .. _class_OpenXRHand_constant_MOTION_RANGE_UNOBSTRUCTED:
  57. .. rst-class:: classref-enumeration-constant
  58. :ref:`MotionRange<enum_OpenXRHand_MotionRange>` **MOTION_RANGE_UNOBSTRUCTED** = ``0``
  59. When player grips, hand skeleton will form a full fist.
  60. .. _class_OpenXRHand_constant_MOTION_RANGE_CONFORM_TO_CONTROLLER:
  61. .. rst-class:: classref-enumeration-constant
  62. :ref:`MotionRange<enum_OpenXRHand_MotionRange>` **MOTION_RANGE_CONFORM_TO_CONTROLLER** = ``1``
  63. When player grips, hand skeleton conforms to the controller the player is holding.
  64. .. _class_OpenXRHand_constant_MOTION_RANGE_MAX:
  65. .. rst-class:: classref-enumeration-constant
  66. :ref:`MotionRange<enum_OpenXRHand_MotionRange>` **MOTION_RANGE_MAX** = ``2``
  67. Maximum supported motion ranges.
  68. .. rst-class:: classref-item-separator
  69. ----
  70. .. _enum_OpenXRHand_SkeletonRig:
  71. .. rst-class:: classref-enumeration
  72. enum **SkeletonRig**:
  73. .. _class_OpenXRHand_constant_SKELETON_RIG_OPENXR:
  74. .. rst-class:: classref-enumeration-constant
  75. :ref:`SkeletonRig<enum_OpenXRHand_SkeletonRig>` **SKELETON_RIG_OPENXR** = ``0``
  76. An OpenXR compliant skeleton.
  77. .. _class_OpenXRHand_constant_SKELETON_RIG_HUMANOID:
  78. .. rst-class:: classref-enumeration-constant
  79. :ref:`SkeletonRig<enum_OpenXRHand_SkeletonRig>` **SKELETON_RIG_HUMANOID** = ``1``
  80. A :ref:`SkeletonProfileHumanoid<class_SkeletonProfileHumanoid>` compliant skeleton.
  81. .. _class_OpenXRHand_constant_SKELETON_RIG_MAX:
  82. .. rst-class:: classref-enumeration-constant
  83. :ref:`SkeletonRig<enum_OpenXRHand_SkeletonRig>` **SKELETON_RIG_MAX** = ``2``
  84. Maximum supported hands.
  85. .. rst-class:: classref-section-separator
  86. ----
  87. .. rst-class:: classref-descriptions-group
  88. Property Descriptions
  89. ---------------------
  90. .. _class_OpenXRHand_property_hand:
  91. .. rst-class:: classref-property
  92. :ref:`Hands<enum_OpenXRHand_Hands>` **hand** = ``0``
  93. .. rst-class:: classref-property-setget
  94. - void **set_hand** **(** :ref:`Hands<enum_OpenXRHand_Hands>` value **)**
  95. - :ref:`Hands<enum_OpenXRHand_Hands>` **get_hand** **(** **)**
  96. Specifies whether this node tracks the left or right hand of the player.
  97. .. rst-class:: classref-item-separator
  98. ----
  99. .. _class_OpenXRHand_property_hand_skeleton:
  100. .. rst-class:: classref-property
  101. :ref:`NodePath<class_NodePath>` **hand_skeleton** = ``NodePath("")``
  102. .. rst-class:: classref-property-setget
  103. - void **set_hand_skeleton** **(** :ref:`NodePath<class_NodePath>` value **)**
  104. - :ref:`NodePath<class_NodePath>` **get_hand_skeleton** **(** **)**
  105. Set a :ref:`Skeleton3D<class_Skeleton3D>` node for which the pose positions will be updated.
  106. .. rst-class:: classref-item-separator
  107. ----
  108. .. _class_OpenXRHand_property_motion_range:
  109. .. rst-class:: classref-property
  110. :ref:`MotionRange<enum_OpenXRHand_MotionRange>` **motion_range** = ``0``
  111. .. rst-class:: classref-property-setget
  112. - void **set_motion_range** **(** :ref:`MotionRange<enum_OpenXRHand_MotionRange>` value **)**
  113. - :ref:`MotionRange<enum_OpenXRHand_MotionRange>` **get_motion_range** **(** **)**
  114. Set the motion range (if supported) limiting the hand motion.
  115. .. rst-class:: classref-item-separator
  116. ----
  117. .. _class_OpenXRHand_property_skeleton_rig:
  118. .. rst-class:: classref-property
  119. :ref:`SkeletonRig<enum_OpenXRHand_SkeletonRig>` **skeleton_rig** = ``0``
  120. .. rst-class:: classref-property-setget
  121. - void **set_skeleton_rig** **(** :ref:`SkeletonRig<enum_OpenXRHand_SkeletonRig>` value **)**
  122. - :ref:`SkeletonRig<enum_OpenXRHand_SkeletonRig>` **get_skeleton_rig** **(** **)**
  123. Set the type of skeleton rig the :ref:`hand_skeleton<class_OpenXRHand_property_hand_skeleton>` is compliant with.
  124. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  125. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  126. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  127. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  128. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  129. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  130. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`