class_openxrinterface.rst 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125
  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/OpenXRInterface.xml.
  6. .. _class_OpenXRInterface:
  7. OpenXRInterface
  8. ===============
  9. **Inherits:** :ref:`XRInterface<class_XRInterface>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. Our OpenXR interface.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. The OpenXR interface allows Godot to interact with OpenXR runtimes and make it possible to create XR experiences and games.
  15. Due to the needs of OpenXR this interface works slightly different than other plugin based XR interfaces. It needs to be initialized when Godot starts. You need to enable OpenXR, settings for this can be found in your games project settings under the XR heading. You do need to mark a viewport for use with XR in order for Godot to know which render result should be output to the headset.
  16. .. rst-class:: classref-introduction-group
  17. Tutorials
  18. ---------
  19. - :doc:`Setting up XR <../tutorials/xr/setting_up_xr>`
  20. .. rst-class:: classref-reftable-group
  21. Properties
  22. ----------
  23. .. table::
  24. :widths: auto
  25. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  26. | :ref:`float<class_float>` | :ref:`display_refresh_rate<class_OpenXRInterface_property_display_refresh_rate>` | ``0.0`` |
  27. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  28. | :ref:`bool<class_bool>` | :ref:`foveation_dynamic<class_OpenXRInterface_property_foveation_dynamic>` | ``false`` |
  29. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  30. | :ref:`int<class_int>` | :ref:`foveation_level<class_OpenXRInterface_property_foveation_level>` | ``0`` |
  31. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  32. | :ref:`float<class_float>` | :ref:`render_target_size_multiplier<class_OpenXRInterface_property_render_target_size_multiplier>` | ``1.0`` |
  33. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  34. | :ref:`float<class_float>` | :ref:`vrs_min_radius<class_OpenXRInterface_property_vrs_min_radius>` | ``20.0`` |
  35. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  36. | :ref:`float<class_float>` | :ref:`vrs_strength<class_OpenXRInterface_property_vrs_strength>` | ``1.0`` |
  37. +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
  38. .. rst-class:: classref-reftable-group
  39. Methods
  40. -------
  41. .. table::
  42. :widths: auto
  43. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  44. | :ref:`Array<class_Array>` | :ref:`get_action_sets<class_OpenXRInterface_method_get_action_sets>`\ (\ ) |const| |
  45. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  46. | :ref:`Array<class_Array>` | :ref:`get_available_display_refresh_rates<class_OpenXRInterface_method_get_available_display_refresh_rates>`\ (\ ) |const| |
  47. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | :ref:`Vector3<class_Vector3>` | :ref:`get_hand_joint_angular_velocity<class_OpenXRInterface_method_get_hand_joint_angular_velocity>`\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, joint\: :ref:`HandJoints<enum_OpenXRInterface_HandJoints>`\ ) |const| |
  49. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | |bitfield|\[:ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>`\] | :ref:`get_hand_joint_flags<class_OpenXRInterface_method_get_hand_joint_flags>`\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, joint\: :ref:`HandJoints<enum_OpenXRInterface_HandJoints>`\ ) |const| |
  51. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | :ref:`Vector3<class_Vector3>` | :ref:`get_hand_joint_linear_velocity<class_OpenXRInterface_method_get_hand_joint_linear_velocity>`\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, joint\: :ref:`HandJoints<enum_OpenXRInterface_HandJoints>`\ ) |const| |
  53. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | :ref:`Vector3<class_Vector3>` | :ref:`get_hand_joint_position<class_OpenXRInterface_method_get_hand_joint_position>`\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, joint\: :ref:`HandJoints<enum_OpenXRInterface_HandJoints>`\ ) |const| |
  55. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | :ref:`float<class_float>` | :ref:`get_hand_joint_radius<class_OpenXRInterface_method_get_hand_joint_radius>`\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, joint\: :ref:`HandJoints<enum_OpenXRInterface_HandJoints>`\ ) |const| |
  57. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | :ref:`Quaternion<class_Quaternion>` | :ref:`get_hand_joint_rotation<class_OpenXRInterface_method_get_hand_joint_rotation>`\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, joint\: :ref:`HandJoints<enum_OpenXRInterface_HandJoints>`\ ) |const| |
  59. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. | :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` | :ref:`get_hand_tracking_source<class_OpenXRInterface_method_get_hand_tracking_source>`\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`\ ) |const| |
  61. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  62. | :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` | :ref:`get_motion_range<class_OpenXRInterface_method_get_motion_range>`\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`\ ) |const| |
  63. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  64. | :ref:`bool<class_bool>` | :ref:`is_action_set_active<class_OpenXRInterface_method_is_action_set_active>`\ (\ name\: :ref:`String<class_String>`\ ) |const| |
  65. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  66. | :ref:`bool<class_bool>` | :ref:`is_eye_gaze_interaction_supported<class_OpenXRInterface_method_is_eye_gaze_interaction_supported>`\ (\ ) |
  67. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  68. | :ref:`bool<class_bool>` | :ref:`is_foveation_supported<class_OpenXRInterface_method_is_foveation_supported>`\ (\ ) |const| |
  69. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  70. | :ref:`bool<class_bool>` | :ref:`is_hand_interaction_supported<class_OpenXRInterface_method_is_hand_interaction_supported>`\ (\ ) |const| |
  71. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  72. | :ref:`bool<class_bool>` | :ref:`is_hand_tracking_supported<class_OpenXRInterface_method_is_hand_tracking_supported>`\ (\ ) |
  73. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  74. | |void| | :ref:`set_action_set_active<class_OpenXRInterface_method_set_action_set_active>`\ (\ name\: :ref:`String<class_String>`, active\: :ref:`bool<class_bool>`\ ) |
  75. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  76. | |void| | :ref:`set_cpu_level<class_OpenXRInterface_method_set_cpu_level>`\ (\ level\: :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>`\ ) |
  77. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  78. | |void| | :ref:`set_gpu_level<class_OpenXRInterface_method_set_gpu_level>`\ (\ level\: :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>`\ ) |
  79. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  80. | |void| | :ref:`set_motion_range<class_OpenXRInterface_method_set_motion_range>`\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, motion_range\: :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>`\ ) |
  81. +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  82. .. rst-class:: classref-section-separator
  83. ----
  84. .. rst-class:: classref-descriptions-group
  85. Signals
  86. -------
  87. .. _class_OpenXRInterface_signal_cpu_level_changed:
  88. .. rst-class:: classref-signal
  89. **cpu_level_changed**\ (\ sub_domain\: :ref:`int<class_int>`, from_level\: :ref:`int<class_int>`, to_level\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRInterface_signal_cpu_level_changed>`
  90. Informs the device CPU performance level has changed in the specified subdomain.
  91. .. rst-class:: classref-item-separator
  92. ----
  93. .. _class_OpenXRInterface_signal_gpu_level_changed:
  94. .. rst-class:: classref-signal
  95. **gpu_level_changed**\ (\ sub_domain\: :ref:`int<class_int>`, from_level\: :ref:`int<class_int>`, to_level\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRInterface_signal_gpu_level_changed>`
  96. Informs the device GPU performance level has changed in the specified subdomain.
  97. .. rst-class:: classref-item-separator
  98. ----
  99. .. _class_OpenXRInterface_signal_instance_exiting:
  100. .. rst-class:: classref-signal
  101. **instance_exiting**\ (\ ) :ref:`🔗<class_OpenXRInterface_signal_instance_exiting>`
  102. Informs our OpenXR instance is exiting.
  103. .. rst-class:: classref-item-separator
  104. ----
  105. .. _class_OpenXRInterface_signal_pose_recentered:
  106. .. rst-class:: classref-signal
  107. **pose_recentered**\ (\ ) :ref:`🔗<class_OpenXRInterface_signal_pose_recentered>`
  108. Informs the user queued a recenter of the player position.
  109. .. rst-class:: classref-item-separator
  110. ----
  111. .. _class_OpenXRInterface_signal_refresh_rate_changed:
  112. .. rst-class:: classref-signal
  113. **refresh_rate_changed**\ (\ refresh_rate\: :ref:`float<class_float>`\ ) :ref:`🔗<class_OpenXRInterface_signal_refresh_rate_changed>`
  114. Informs the user the HMD refresh rate has changed.
  115. \ **Note:** Only emitted if XR runtime supports the refresh rate extension.
  116. .. rst-class:: classref-item-separator
  117. ----
  118. .. _class_OpenXRInterface_signal_session_begun:
  119. .. rst-class:: classref-signal
  120. **session_begun**\ (\ ) :ref:`🔗<class_OpenXRInterface_signal_session_begun>`
  121. Informs our OpenXR session has been started.
  122. .. rst-class:: classref-item-separator
  123. ----
  124. .. _class_OpenXRInterface_signal_session_focussed:
  125. .. rst-class:: classref-signal
  126. **session_focussed**\ (\ ) :ref:`🔗<class_OpenXRInterface_signal_session_focussed>`
  127. Informs our OpenXR session now has focus.
  128. .. rst-class:: classref-item-separator
  129. ----
  130. .. _class_OpenXRInterface_signal_session_loss_pending:
  131. .. rst-class:: classref-signal
  132. **session_loss_pending**\ (\ ) :ref:`🔗<class_OpenXRInterface_signal_session_loss_pending>`
  133. Informs our OpenXR session is in the process of being lost.
  134. .. rst-class:: classref-item-separator
  135. ----
  136. .. _class_OpenXRInterface_signal_session_stopping:
  137. .. rst-class:: classref-signal
  138. **session_stopping**\ (\ ) :ref:`🔗<class_OpenXRInterface_signal_session_stopping>`
  139. Informs our OpenXR session is stopping.
  140. .. rst-class:: classref-item-separator
  141. ----
  142. .. _class_OpenXRInterface_signal_session_visible:
  143. .. rst-class:: classref-signal
  144. **session_visible**\ (\ ) :ref:`🔗<class_OpenXRInterface_signal_session_visible>`
  145. Informs our OpenXR session is now visible (output is being sent to the HMD).
  146. .. rst-class:: classref-section-separator
  147. ----
  148. .. rst-class:: classref-descriptions-group
  149. Enumerations
  150. ------------
  151. .. _enum_OpenXRInterface_Hand:
  152. .. rst-class:: classref-enumeration
  153. enum **Hand**: :ref:`🔗<enum_OpenXRInterface_Hand>`
  154. .. _class_OpenXRInterface_constant_HAND_LEFT:
  155. .. rst-class:: classref-enumeration-constant
  156. :ref:`Hand<enum_OpenXRInterface_Hand>` **HAND_LEFT** = ``0``
  157. Left hand.
  158. .. _class_OpenXRInterface_constant_HAND_RIGHT:
  159. .. rst-class:: classref-enumeration-constant
  160. :ref:`Hand<enum_OpenXRInterface_Hand>` **HAND_RIGHT** = ``1``
  161. Right hand.
  162. .. _class_OpenXRInterface_constant_HAND_MAX:
  163. .. rst-class:: classref-enumeration-constant
  164. :ref:`Hand<enum_OpenXRInterface_Hand>` **HAND_MAX** = ``2``
  165. Maximum value for the hand enum.
  166. .. rst-class:: classref-item-separator
  167. ----
  168. .. _enum_OpenXRInterface_HandMotionRange:
  169. .. rst-class:: classref-enumeration
  170. enum **HandMotionRange**: :ref:`🔗<enum_OpenXRInterface_HandMotionRange>`
  171. .. _class_OpenXRInterface_constant_HAND_MOTION_RANGE_UNOBSTRUCTED:
  172. .. rst-class:: classref-enumeration-constant
  173. :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` **HAND_MOTION_RANGE_UNOBSTRUCTED** = ``0``
  174. Full hand range, if user closes their hands, we make a full fist.
  175. .. _class_OpenXRInterface_constant_HAND_MOTION_RANGE_CONFORM_TO_CONTROLLER:
  176. .. rst-class:: classref-enumeration-constant
  177. :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` **HAND_MOTION_RANGE_CONFORM_TO_CONTROLLER** = ``1``
  178. Conform to controller, if user closes their hands, the tracked data conforms to the shape of the controller.
  179. .. _class_OpenXRInterface_constant_HAND_MOTION_RANGE_MAX:
  180. .. rst-class:: classref-enumeration-constant
  181. :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` **HAND_MOTION_RANGE_MAX** = ``2``
  182. Maximum value for the motion range enum.
  183. .. rst-class:: classref-item-separator
  184. ----
  185. .. _enum_OpenXRInterface_HandTrackedSource:
  186. .. rst-class:: classref-enumeration
  187. enum **HandTrackedSource**: :ref:`🔗<enum_OpenXRInterface_HandTrackedSource>`
  188. .. _class_OpenXRInterface_constant_HAND_TRACKED_SOURCE_UNKNOWN:
  189. .. rst-class:: classref-enumeration-constant
  190. :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` **HAND_TRACKED_SOURCE_UNKNOWN** = ``0``
  191. The source of hand tracking data is unknown (the extension is likely unsupported).
  192. .. _class_OpenXRInterface_constant_HAND_TRACKED_SOURCE_UNOBSTRUCTED:
  193. .. rst-class:: classref-enumeration-constant
  194. :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` **HAND_TRACKED_SOURCE_UNOBSTRUCTED** = ``1``
  195. The source of hand tracking is unobstructed, this means that an accurate method of hand tracking is used, e.g. optical hand tracking, data gloves, etc.
  196. .. _class_OpenXRInterface_constant_HAND_TRACKED_SOURCE_CONTROLLER:
  197. .. rst-class:: classref-enumeration-constant
  198. :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` **HAND_TRACKED_SOURCE_CONTROLLER** = ``2``
  199. The source of hand tracking is a controller, bone positions are inferred from controller inputs.
  200. .. _class_OpenXRInterface_constant_HAND_TRACKED_SOURCE_MAX:
  201. .. rst-class:: classref-enumeration-constant
  202. :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` **HAND_TRACKED_SOURCE_MAX** = ``3``
  203. Represents the size of the :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` enum.
  204. .. rst-class:: classref-item-separator
  205. ----
  206. .. _enum_OpenXRInterface_HandJoints:
  207. .. rst-class:: classref-enumeration
  208. enum **HandJoints**: :ref:`🔗<enum_OpenXRInterface_HandJoints>`
  209. .. _class_OpenXRInterface_constant_HAND_JOINT_PALM:
  210. .. rst-class:: classref-enumeration-constant
  211. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_PALM** = ``0``
  212. Palm joint.
  213. .. _class_OpenXRInterface_constant_HAND_JOINT_WRIST:
  214. .. rst-class:: classref-enumeration-constant
  215. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_WRIST** = ``1``
  216. Wrist joint.
  217. .. _class_OpenXRInterface_constant_HAND_JOINT_THUMB_METACARPAL:
  218. .. rst-class:: classref-enumeration-constant
  219. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_THUMB_METACARPAL** = ``2``
  220. Thumb metacarpal joint.
  221. .. _class_OpenXRInterface_constant_HAND_JOINT_THUMB_PROXIMAL:
  222. .. rst-class:: classref-enumeration-constant
  223. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_THUMB_PROXIMAL** = ``3``
  224. Thumb proximal joint.
  225. .. _class_OpenXRInterface_constant_HAND_JOINT_THUMB_DISTAL:
  226. .. rst-class:: classref-enumeration-constant
  227. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_THUMB_DISTAL** = ``4``
  228. Thumb distal joint.
  229. .. _class_OpenXRInterface_constant_HAND_JOINT_THUMB_TIP:
  230. .. rst-class:: classref-enumeration-constant
  231. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_THUMB_TIP** = ``5``
  232. Thumb tip joint.
  233. .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_METACARPAL:
  234. .. rst-class:: classref-enumeration-constant
  235. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_METACARPAL** = ``6``
  236. Index finger metacarpal joint.
  237. .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_PROXIMAL:
  238. .. rst-class:: classref-enumeration-constant
  239. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_PROXIMAL** = ``7``
  240. Index finger phalanx proximal joint.
  241. .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_INTERMEDIATE:
  242. .. rst-class:: classref-enumeration-constant
  243. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_INTERMEDIATE** = ``8``
  244. Index finger phalanx intermediate joint.
  245. .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_DISTAL:
  246. .. rst-class:: classref-enumeration-constant
  247. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_DISTAL** = ``9``
  248. Index finger phalanx distal joint.
  249. .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_TIP:
  250. .. rst-class:: classref-enumeration-constant
  251. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_TIP** = ``10``
  252. Index finger tip joint.
  253. .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_METACARPAL:
  254. .. rst-class:: classref-enumeration-constant
  255. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_METACARPAL** = ``11``
  256. Middle finger metacarpal joint.
  257. .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_PROXIMAL:
  258. .. rst-class:: classref-enumeration-constant
  259. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_PROXIMAL** = ``12``
  260. Middle finger phalanx proximal joint.
  261. .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_INTERMEDIATE:
  262. .. rst-class:: classref-enumeration-constant
  263. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_INTERMEDIATE** = ``13``
  264. Middle finger phalanx intermediate joint.
  265. .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_DISTAL:
  266. .. rst-class:: classref-enumeration-constant
  267. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_DISTAL** = ``14``
  268. Middle finger phalanx distal joint.
  269. .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_TIP:
  270. .. rst-class:: classref-enumeration-constant
  271. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_TIP** = ``15``
  272. Middle finger tip joint.
  273. .. _class_OpenXRInterface_constant_HAND_JOINT_RING_METACARPAL:
  274. .. rst-class:: classref-enumeration-constant
  275. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_METACARPAL** = ``16``
  276. Ring finger metacarpal joint.
  277. .. _class_OpenXRInterface_constant_HAND_JOINT_RING_PROXIMAL:
  278. .. rst-class:: classref-enumeration-constant
  279. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_PROXIMAL** = ``17``
  280. Ring finger phalanx proximal joint.
  281. .. _class_OpenXRInterface_constant_HAND_JOINT_RING_INTERMEDIATE:
  282. .. rst-class:: classref-enumeration-constant
  283. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_INTERMEDIATE** = ``18``
  284. Ring finger phalanx intermediate joint.
  285. .. _class_OpenXRInterface_constant_HAND_JOINT_RING_DISTAL:
  286. .. rst-class:: classref-enumeration-constant
  287. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_DISTAL** = ``19``
  288. Ring finger phalanx distal joint.
  289. .. _class_OpenXRInterface_constant_HAND_JOINT_RING_TIP:
  290. .. rst-class:: classref-enumeration-constant
  291. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_TIP** = ``20``
  292. Ring finger tip joint.
  293. .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_METACARPAL:
  294. .. rst-class:: classref-enumeration-constant
  295. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_METACARPAL** = ``21``
  296. Pinky finger metacarpal joint.
  297. .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_PROXIMAL:
  298. .. rst-class:: classref-enumeration-constant
  299. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_PROXIMAL** = ``22``
  300. Pinky finger phalanx proximal joint.
  301. .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_INTERMEDIATE:
  302. .. rst-class:: classref-enumeration-constant
  303. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_INTERMEDIATE** = ``23``
  304. Pinky finger phalanx intermediate joint.
  305. .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_DISTAL:
  306. .. rst-class:: classref-enumeration-constant
  307. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_DISTAL** = ``24``
  308. Pinky finger phalanx distal joint.
  309. .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_TIP:
  310. .. rst-class:: classref-enumeration-constant
  311. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_TIP** = ``25``
  312. Pinky finger tip joint.
  313. .. _class_OpenXRInterface_constant_HAND_JOINT_MAX:
  314. .. rst-class:: classref-enumeration-constant
  315. :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MAX** = ``26``
  316. Represents the size of the :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` enum.
  317. .. rst-class:: classref-item-separator
  318. ----
  319. .. _enum_OpenXRInterface_PerfSettingsLevel:
  320. .. rst-class:: classref-enumeration
  321. enum **PerfSettingsLevel**: :ref:`🔗<enum_OpenXRInterface_PerfSettingsLevel>`
  322. .. _class_OpenXRInterface_constant_PERF_SETTINGS_LEVEL_POWER_SAVINGS:
  323. .. rst-class:: classref-enumeration-constant
  324. :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>` **PERF_SETTINGS_LEVEL_POWER_SAVINGS** = ``0``
  325. The application has entered a non-XR section (head-locked / static screen), during which power savings are to be prioritized.
  326. .. _class_OpenXRInterface_constant_PERF_SETTINGS_LEVEL_SUSTAINED_LOW:
  327. .. rst-class:: classref-enumeration-constant
  328. :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>` **PERF_SETTINGS_LEVEL_SUSTAINED_LOW** = ``1``
  329. The application has entered a low and stable complexity section, during which reducing power is more important than occasional late rendering frames.
  330. .. _class_OpenXRInterface_constant_PERF_SETTINGS_LEVEL_SUSTAINED_HIGH:
  331. .. rst-class:: classref-enumeration-constant
  332. :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>` **PERF_SETTINGS_LEVEL_SUSTAINED_HIGH** = ``2``
  333. The application has entered a high or dynamic complexity section, during which the XR Runtime strives for consistent XR compositing and frame rendering within a thermally sustainable range.
  334. .. _class_OpenXRInterface_constant_PERF_SETTINGS_LEVEL_BOOST:
  335. .. rst-class:: classref-enumeration-constant
  336. :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>` **PERF_SETTINGS_LEVEL_BOOST** = ``3``
  337. The application has entered a section with very high complexity, during which the XR Runtime is allowed to step up beyond the thermally sustainable range.
  338. .. rst-class:: classref-item-separator
  339. ----
  340. .. _enum_OpenXRInterface_PerfSettingsSubDomain:
  341. .. rst-class:: classref-enumeration
  342. enum **PerfSettingsSubDomain**: :ref:`🔗<enum_OpenXRInterface_PerfSettingsSubDomain>`
  343. .. _class_OpenXRInterface_constant_PERF_SETTINGS_SUB_DOMAIN_COMPOSITING:
  344. .. rst-class:: classref-enumeration-constant
  345. :ref:`PerfSettingsSubDomain<enum_OpenXRInterface_PerfSettingsSubDomain>` **PERF_SETTINGS_SUB_DOMAIN_COMPOSITING** = ``0``
  346. The compositing performance within the runtime has reached a new level.
  347. .. _class_OpenXRInterface_constant_PERF_SETTINGS_SUB_DOMAIN_RENDERING:
  348. .. rst-class:: classref-enumeration-constant
  349. :ref:`PerfSettingsSubDomain<enum_OpenXRInterface_PerfSettingsSubDomain>` **PERF_SETTINGS_SUB_DOMAIN_RENDERING** = ``1``
  350. The application rendering performance has reached a new level.
  351. .. _class_OpenXRInterface_constant_PERF_SETTINGS_SUB_DOMAIN_THERMAL:
  352. .. rst-class:: classref-enumeration-constant
  353. :ref:`PerfSettingsSubDomain<enum_OpenXRInterface_PerfSettingsSubDomain>` **PERF_SETTINGS_SUB_DOMAIN_THERMAL** = ``2``
  354. The temperature of the device has reached a new level.
  355. .. rst-class:: classref-item-separator
  356. ----
  357. .. _enum_OpenXRInterface_PerfSettingsNotificationLevel:
  358. .. rst-class:: classref-enumeration
  359. enum **PerfSettingsNotificationLevel**: :ref:`🔗<enum_OpenXRInterface_PerfSettingsNotificationLevel>`
  360. .. _class_OpenXRInterface_constant_PERF_SETTINGS_NOTIF_LEVEL_NORMAL:
  361. .. rst-class:: classref-enumeration-constant
  362. :ref:`PerfSettingsNotificationLevel<enum_OpenXRInterface_PerfSettingsNotificationLevel>` **PERF_SETTINGS_NOTIF_LEVEL_NORMAL** = ``0``
  363. The sub-domain has reached a level where no further actions other than currently applied are necessary.
  364. .. _class_OpenXRInterface_constant_PERF_SETTINGS_NOTIF_LEVEL_WARNING:
  365. .. rst-class:: classref-enumeration-constant
  366. :ref:`PerfSettingsNotificationLevel<enum_OpenXRInterface_PerfSettingsNotificationLevel>` **PERF_SETTINGS_NOTIF_LEVEL_WARNING** = ``1``
  367. The sub-domain has reached an early warning level where the application should start proactive mitigation actions.
  368. .. _class_OpenXRInterface_constant_PERF_SETTINGS_NOTIF_LEVEL_IMPAIRED:
  369. .. rst-class:: classref-enumeration-constant
  370. :ref:`PerfSettingsNotificationLevel<enum_OpenXRInterface_PerfSettingsNotificationLevel>` **PERF_SETTINGS_NOTIF_LEVEL_IMPAIRED** = ``2``
  371. The sub-domain has reached a critical level where the application should start drastic mitigation actions.
  372. .. rst-class:: classref-item-separator
  373. ----
  374. .. _enum_OpenXRInterface_HandJointFlags:
  375. .. rst-class:: classref-enumeration
  376. flags **HandJointFlags**: :ref:`🔗<enum_OpenXRInterface_HandJointFlags>`
  377. .. _class_OpenXRInterface_constant_HAND_JOINT_NONE:
  378. .. rst-class:: classref-enumeration-constant
  379. :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_NONE** = ``0``
  380. No flags are set.
  381. .. _class_OpenXRInterface_constant_HAND_JOINT_ORIENTATION_VALID:
  382. .. rst-class:: classref-enumeration-constant
  383. :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_ORIENTATION_VALID** = ``1``
  384. If set, the orientation data is valid, otherwise, the orientation data is unreliable and should not be used.
  385. .. _class_OpenXRInterface_constant_HAND_JOINT_ORIENTATION_TRACKED:
  386. .. rst-class:: classref-enumeration-constant
  387. :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_ORIENTATION_TRACKED** = ``2``
  388. If set, the orientation data comes from tracking data, otherwise, the orientation data contains predicted data.
  389. .. _class_OpenXRInterface_constant_HAND_JOINT_POSITION_VALID:
  390. .. rst-class:: classref-enumeration-constant
  391. :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_POSITION_VALID** = ``4``
  392. If set, the positional data is valid, otherwise, the positional data is unreliable and should not be used.
  393. .. _class_OpenXRInterface_constant_HAND_JOINT_POSITION_TRACKED:
  394. .. rst-class:: classref-enumeration-constant
  395. :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_POSITION_TRACKED** = ``8``
  396. If set, the positional data comes from tracking data, otherwise, the positional data contains predicted data.
  397. .. _class_OpenXRInterface_constant_HAND_JOINT_LINEAR_VELOCITY_VALID:
  398. .. rst-class:: classref-enumeration-constant
  399. :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_LINEAR_VELOCITY_VALID** = ``16``
  400. If set, our linear velocity data is valid, otherwise, the linear velocity data is unreliable and should not be used.
  401. .. _class_OpenXRInterface_constant_HAND_JOINT_ANGULAR_VELOCITY_VALID:
  402. .. rst-class:: classref-enumeration-constant
  403. :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_ANGULAR_VELOCITY_VALID** = ``32``
  404. If set, our angular velocity data is valid, otherwise, the angular velocity data is unreliable and should not be used.
  405. .. rst-class:: classref-section-separator
  406. ----
  407. .. rst-class:: classref-descriptions-group
  408. Property Descriptions
  409. ---------------------
  410. .. _class_OpenXRInterface_property_display_refresh_rate:
  411. .. rst-class:: classref-property
  412. :ref:`float<class_float>` **display_refresh_rate** = ``0.0`` :ref:`🔗<class_OpenXRInterface_property_display_refresh_rate>`
  413. .. rst-class:: classref-property-setget
  414. - |void| **set_display_refresh_rate**\ (\ value\: :ref:`float<class_float>`\ )
  415. - :ref:`float<class_float>` **get_display_refresh_rate**\ (\ )
  416. The display refresh rate for the current HMD. Only functional if this feature is supported by the OpenXR runtime and after the interface has been initialized.
  417. .. rst-class:: classref-item-separator
  418. ----
  419. .. _class_OpenXRInterface_property_foveation_dynamic:
  420. .. rst-class:: classref-property
  421. :ref:`bool<class_bool>` **foveation_dynamic** = ``false`` :ref:`🔗<class_OpenXRInterface_property_foveation_dynamic>`
  422. .. rst-class:: classref-property-setget
  423. - |void| **set_foveation_dynamic**\ (\ value\: :ref:`bool<class_bool>`\ )
  424. - :ref:`bool<class_bool>` **get_foveation_dynamic**\ (\ )
  425. Enable dynamic foveation adjustment, the interface must be initialized before this is accessible. If enabled foveation will automatically adjusted between low and :ref:`foveation_level<class_OpenXRInterface_property_foveation_level>`.
  426. \ **Note:** Only works on the Compatibility renderer.
  427. .. rst-class:: classref-item-separator
  428. ----
  429. .. _class_OpenXRInterface_property_foveation_level:
  430. .. rst-class:: classref-property
  431. :ref:`int<class_int>` **foveation_level** = ``0`` :ref:`🔗<class_OpenXRInterface_property_foveation_level>`
  432. .. rst-class:: classref-property-setget
  433. - |void| **set_foveation_level**\ (\ value\: :ref:`int<class_int>`\ )
  434. - :ref:`int<class_int>` **get_foveation_level**\ (\ )
  435. Set foveation level from 0 (off) to 3 (high), the interface must be initialized before this is accessible.
  436. \ **Note:** Only works on the Compatibility renderer.
  437. .. rst-class:: classref-item-separator
  438. ----
  439. .. _class_OpenXRInterface_property_render_target_size_multiplier:
  440. .. rst-class:: classref-property
  441. :ref:`float<class_float>` **render_target_size_multiplier** = ``1.0`` :ref:`🔗<class_OpenXRInterface_property_render_target_size_multiplier>`
  442. .. rst-class:: classref-property-setget
  443. - |void| **set_render_target_size_multiplier**\ (\ value\: :ref:`float<class_float>`\ )
  444. - :ref:`float<class_float>` **get_render_target_size_multiplier**\ (\ )
  445. The render size multiplier for the current HMD. Must be set before the interface has been initialized.
  446. .. rst-class:: classref-item-separator
  447. ----
  448. .. _class_OpenXRInterface_property_vrs_min_radius:
  449. .. rst-class:: classref-property
  450. :ref:`float<class_float>` **vrs_min_radius** = ``20.0`` :ref:`🔗<class_OpenXRInterface_property_vrs_min_radius>`
  451. .. rst-class:: classref-property-setget
  452. - |void| **set_vrs_min_radius**\ (\ value\: :ref:`float<class_float>`\ )
  453. - :ref:`float<class_float>` **get_vrs_min_radius**\ (\ )
  454. The minimum radius around the focal point where full quality is guaranteed if VRS is used as a percentage of screen size.
  455. \ **Note:** Mobile and Forward+ renderers only. Requires :ref:`Viewport.vrs_mode<class_Viewport_property_vrs_mode>` to be set to :ref:`Viewport.VRS_XR<class_Viewport_constant_VRS_XR>`.
  456. .. rst-class:: classref-item-separator
  457. ----
  458. .. _class_OpenXRInterface_property_vrs_strength:
  459. .. rst-class:: classref-property
  460. :ref:`float<class_float>` **vrs_strength** = ``1.0`` :ref:`🔗<class_OpenXRInterface_property_vrs_strength>`
  461. .. rst-class:: classref-property-setget
  462. - |void| **set_vrs_strength**\ (\ value\: :ref:`float<class_float>`\ )
  463. - :ref:`float<class_float>` **get_vrs_strength**\ (\ )
  464. The strength used to calculate the VRS density map. The greater this value, the more noticeable VRS is. This improves performance at the cost of quality.
  465. \ **Note:** Mobile and Forward+ renderers only. Requires :ref:`Viewport.vrs_mode<class_Viewport_property_vrs_mode>` to be set to :ref:`Viewport.VRS_XR<class_Viewport_constant_VRS_XR>`.
  466. .. rst-class:: classref-section-separator
  467. ----
  468. .. rst-class:: classref-descriptions-group
  469. Method Descriptions
  470. -------------------
  471. .. _class_OpenXRInterface_method_get_action_sets:
  472. .. rst-class:: classref-method
  473. :ref:`Array<class_Array>` **get_action_sets**\ (\ ) |const| :ref:`🔗<class_OpenXRInterface_method_get_action_sets>`
  474. Returns a list of action sets registered with Godot (loaded from the action map at runtime).
  475. .. rst-class:: classref-item-separator
  476. ----
  477. .. _class_OpenXRInterface_method_get_available_display_refresh_rates:
  478. .. rst-class:: classref-method
  479. :ref:`Array<class_Array>` **get_available_display_refresh_rates**\ (\ ) |const| :ref:`🔗<class_OpenXRInterface_method_get_available_display_refresh_rates>`
  480. Returns display refresh rates supported by the current HMD. Only returned if this feature is supported by the OpenXR runtime and after the interface has been initialized.
  481. .. rst-class:: classref-item-separator
  482. ----
  483. .. _class_OpenXRInterface_method_get_hand_joint_angular_velocity:
  484. .. rst-class:: classref-method
  485. :ref:`Vector3<class_Vector3>` **get_hand_joint_angular_velocity**\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, joint\: :ref:`HandJoints<enum_OpenXRInterface_HandJoints>`\ ) |const| :ref:`🔗<class_OpenXRInterface_method_get_hand_joint_angular_velocity>`
  486. **Deprecated:** Use :ref:`XRHandTracker.get_hand_joint_angular_velocity()<class_XRHandTracker_method_get_hand_joint_angular_velocity>` obtained from :ref:`XRServer.get_tracker()<class_XRServer_method_get_tracker>` instead.
  487. If handtracking is enabled, returns the angular velocity of a joint (``joint``) of a hand (``hand``) as provided by OpenXR. This is relative to :ref:`XROrigin3D<class_XROrigin3D>`!
  488. .. rst-class:: classref-item-separator
  489. ----
  490. .. _class_OpenXRInterface_method_get_hand_joint_flags:
  491. .. rst-class:: classref-method
  492. |bitfield|\[:ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>`\] **get_hand_joint_flags**\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, joint\: :ref:`HandJoints<enum_OpenXRInterface_HandJoints>`\ ) |const| :ref:`🔗<class_OpenXRInterface_method_get_hand_joint_flags>`
  493. **Deprecated:** Use :ref:`XRHandTracker.get_hand_joint_flags()<class_XRHandTracker_method_get_hand_joint_flags>` obtained from :ref:`XRServer.get_tracker()<class_XRServer_method_get_tracker>` instead.
  494. If handtracking is enabled, returns flags that inform us of the validity of the tracking data.
  495. .. rst-class:: classref-item-separator
  496. ----
  497. .. _class_OpenXRInterface_method_get_hand_joint_linear_velocity:
  498. .. rst-class:: classref-method
  499. :ref:`Vector3<class_Vector3>` **get_hand_joint_linear_velocity**\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, joint\: :ref:`HandJoints<enum_OpenXRInterface_HandJoints>`\ ) |const| :ref:`🔗<class_OpenXRInterface_method_get_hand_joint_linear_velocity>`
  500. **Deprecated:** Use :ref:`XRHandTracker.get_hand_joint_linear_velocity()<class_XRHandTracker_method_get_hand_joint_linear_velocity>` obtained from :ref:`XRServer.get_tracker()<class_XRServer_method_get_tracker>` instead.
  501. If handtracking is enabled, returns the linear velocity of a joint (``joint``) of a hand (``hand``) as provided by OpenXR. This is relative to :ref:`XROrigin3D<class_XROrigin3D>` without worldscale applied!
  502. .. rst-class:: classref-item-separator
  503. ----
  504. .. _class_OpenXRInterface_method_get_hand_joint_position:
  505. .. rst-class:: classref-method
  506. :ref:`Vector3<class_Vector3>` **get_hand_joint_position**\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, joint\: :ref:`HandJoints<enum_OpenXRInterface_HandJoints>`\ ) |const| :ref:`🔗<class_OpenXRInterface_method_get_hand_joint_position>`
  507. **Deprecated:** Use :ref:`XRHandTracker.get_hand_joint_transform()<class_XRHandTracker_method_get_hand_joint_transform>` obtained from :ref:`XRServer.get_tracker()<class_XRServer_method_get_tracker>` instead.
  508. If handtracking is enabled, returns the position of a joint (``joint``) of a hand (``hand``) as provided by OpenXR. This is relative to :ref:`XROrigin3D<class_XROrigin3D>` without worldscale applied!
  509. .. rst-class:: classref-item-separator
  510. ----
  511. .. _class_OpenXRInterface_method_get_hand_joint_radius:
  512. .. rst-class:: classref-method
  513. :ref:`float<class_float>` **get_hand_joint_radius**\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, joint\: :ref:`HandJoints<enum_OpenXRInterface_HandJoints>`\ ) |const| :ref:`🔗<class_OpenXRInterface_method_get_hand_joint_radius>`
  514. **Deprecated:** Use :ref:`XRHandTracker.get_hand_joint_radius()<class_XRHandTracker_method_get_hand_joint_radius>` obtained from :ref:`XRServer.get_tracker()<class_XRServer_method_get_tracker>` instead.
  515. If handtracking is enabled, returns the radius of a joint (``joint``) of a hand (``hand``) as provided by OpenXR. This is without worldscale applied!
  516. .. rst-class:: classref-item-separator
  517. ----
  518. .. _class_OpenXRInterface_method_get_hand_joint_rotation:
  519. .. rst-class:: classref-method
  520. :ref:`Quaternion<class_Quaternion>` **get_hand_joint_rotation**\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, joint\: :ref:`HandJoints<enum_OpenXRInterface_HandJoints>`\ ) |const| :ref:`🔗<class_OpenXRInterface_method_get_hand_joint_rotation>`
  521. **Deprecated:** Use :ref:`XRHandTracker.get_hand_joint_transform()<class_XRHandTracker_method_get_hand_joint_transform>` obtained from :ref:`XRServer.get_tracker()<class_XRServer_method_get_tracker>` instead.
  522. If handtracking is enabled, returns the rotation of a joint (``joint``) of a hand (``hand``) as provided by OpenXR.
  523. .. rst-class:: classref-item-separator
  524. ----
  525. .. _class_OpenXRInterface_method_get_hand_tracking_source:
  526. .. rst-class:: classref-method
  527. :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` **get_hand_tracking_source**\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`\ ) |const| :ref:`🔗<class_OpenXRInterface_method_get_hand_tracking_source>`
  528. **Deprecated:** Use :ref:`XRHandTracker.hand_tracking_source<class_XRHandTracker_property_hand_tracking_source>` obtained from :ref:`XRServer.get_tracker()<class_XRServer_method_get_tracker>` instead.
  529. If handtracking is enabled and hand tracking source is supported, gets the source of the hand tracking data for ``hand``.
  530. .. rst-class:: classref-item-separator
  531. ----
  532. .. _class_OpenXRInterface_method_get_motion_range:
  533. .. rst-class:: classref-method
  534. :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` **get_motion_range**\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`\ ) |const| :ref:`🔗<class_OpenXRInterface_method_get_motion_range>`
  535. If handtracking is enabled and motion range is supported, gets the currently configured motion range for ``hand``.
  536. .. rst-class:: classref-item-separator
  537. ----
  538. .. _class_OpenXRInterface_method_is_action_set_active:
  539. .. rst-class:: classref-method
  540. :ref:`bool<class_bool>` **is_action_set_active**\ (\ name\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_OpenXRInterface_method_is_action_set_active>`
  541. Returns ``true`` if the given action set is active.
  542. .. rst-class:: classref-item-separator
  543. ----
  544. .. _class_OpenXRInterface_method_is_eye_gaze_interaction_supported:
  545. .. rst-class:: classref-method
  546. :ref:`bool<class_bool>` **is_eye_gaze_interaction_supported**\ (\ ) :ref:`🔗<class_OpenXRInterface_method_is_eye_gaze_interaction_supported>`
  547. Returns the capabilities of the eye gaze interaction extension.
  548. \ **Note:** This only returns a valid value after OpenXR has been initialized.
  549. .. rst-class:: classref-item-separator
  550. ----
  551. .. _class_OpenXRInterface_method_is_foveation_supported:
  552. .. rst-class:: classref-method
  553. :ref:`bool<class_bool>` **is_foveation_supported**\ (\ ) |const| :ref:`🔗<class_OpenXRInterface_method_is_foveation_supported>`
  554. Returns ``true`` if OpenXR's foveation extension is supported, the interface must be initialized before this returns a valid value.
  555. \ **Note:** This feature is only available on the Compatibility renderer and currently only available on some stand alone headsets. For Vulkan set :ref:`Viewport.vrs_mode<class_Viewport_property_vrs_mode>` to ``VRS_XR`` on desktop.
  556. .. rst-class:: classref-item-separator
  557. ----
  558. .. _class_OpenXRInterface_method_is_hand_interaction_supported:
  559. .. rst-class:: classref-method
  560. :ref:`bool<class_bool>` **is_hand_interaction_supported**\ (\ ) |const| :ref:`🔗<class_OpenXRInterface_method_is_hand_interaction_supported>`
  561. Returns ``true`` if OpenXR's hand interaction profile is supported and enabled.
  562. \ **Note:** This only returns a valid value after OpenXR has been initialized.
  563. .. rst-class:: classref-item-separator
  564. ----
  565. .. _class_OpenXRInterface_method_is_hand_tracking_supported:
  566. .. rst-class:: classref-method
  567. :ref:`bool<class_bool>` **is_hand_tracking_supported**\ (\ ) :ref:`🔗<class_OpenXRInterface_method_is_hand_tracking_supported>`
  568. Returns ``true`` if OpenXR's hand tracking is supported and enabled.
  569. \ **Note:** This only returns a valid value after OpenXR has been initialized.
  570. .. rst-class:: classref-item-separator
  571. ----
  572. .. _class_OpenXRInterface_method_set_action_set_active:
  573. .. rst-class:: classref-method
  574. |void| **set_action_set_active**\ (\ name\: :ref:`String<class_String>`, active\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_OpenXRInterface_method_set_action_set_active>`
  575. Sets the given action set as active or inactive.
  576. .. rst-class:: classref-item-separator
  577. ----
  578. .. _class_OpenXRInterface_method_set_cpu_level:
  579. .. rst-class:: classref-method
  580. |void| **set_cpu_level**\ (\ level\: :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>`\ ) :ref:`🔗<class_OpenXRInterface_method_set_cpu_level>`
  581. Sets the CPU performance level of the OpenXR device.
  582. .. rst-class:: classref-item-separator
  583. ----
  584. .. _class_OpenXRInterface_method_set_gpu_level:
  585. .. rst-class:: classref-method
  586. |void| **set_gpu_level**\ (\ level\: :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>`\ ) :ref:`🔗<class_OpenXRInterface_method_set_gpu_level>`
  587. Sets the GPU performance level of the OpenXR device.
  588. .. rst-class:: classref-item-separator
  589. ----
  590. .. _class_OpenXRInterface_method_set_motion_range:
  591. .. rst-class:: classref-method
  592. |void| **set_motion_range**\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, motion_range\: :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>`\ ) :ref:`🔗<class_OpenXRInterface_method_set_motion_range>`
  593. If handtracking is enabled and motion range is supported, sets the currently configured motion range for ``hand`` to ``motion_range``.
  594. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  595. .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
  596. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  597. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  598. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  599. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  600. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  601. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  602. .. |void| replace:: :abbr:`void (No return value.)`