12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238 |
- :github_url: hide
- .. DO NOT EDIT THIS FILE!!!
- .. Generated automatically from Godot engine sources.
- .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
- .. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRInterface.xml.
- .. _class_OpenXRInterface:
- OpenXRInterface
- ===============
- **Inherits:** :ref:`XRInterface<class_XRInterface>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
- Our OpenXR interface.
- .. rst-class:: classref-introduction-group
- Description
- -----------
- The OpenXR interface allows Godot to interact with OpenXR runtimes and make it possible to create XR experiences and games.
- 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.
- .. rst-class:: classref-introduction-group
- Tutorials
- ---------
- - :doc:`Setting up XR <../tutorials/xr/setting_up_xr>`
- .. rst-class:: classref-reftable-group
- Properties
- ----------
- .. table::
- :widths: auto
- +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
- | :ref:`float<class_float>` | :ref:`display_refresh_rate<class_OpenXRInterface_property_display_refresh_rate>` | ``0.0`` |
- +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
- | :ref:`bool<class_bool>` | :ref:`foveation_dynamic<class_OpenXRInterface_property_foveation_dynamic>` | ``false`` |
- +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
- | :ref:`int<class_int>` | :ref:`foveation_level<class_OpenXRInterface_property_foveation_level>` | ``0`` |
- +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
- | :ref:`float<class_float>` | :ref:`render_target_size_multiplier<class_OpenXRInterface_property_render_target_size_multiplier>` | ``1.0`` |
- +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
- | :ref:`float<class_float>` | :ref:`vrs_min_radius<class_OpenXRInterface_property_vrs_min_radius>` | ``20.0`` |
- +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
- | :ref:`float<class_float>` | :ref:`vrs_strength<class_OpenXRInterface_property_vrs_strength>` | ``1.0`` |
- +---------------------------+----------------------------------------------------------------------------------------------------+-----------+
- .. rst-class:: classref-reftable-group
- Methods
- -------
- .. table::
- :widths: auto
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Array<class_Array>` | :ref:`get_action_sets<class_OpenXRInterface_method_get_action_sets>`\ (\ ) |const| |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Array<class_Array>` | :ref:`get_available_display_refresh_rates<class_OpenXRInterface_method_get_available_display_refresh_rates>`\ (\ ) |const| |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |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| |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` | :ref:`get_hand_tracking_source<class_OpenXRInterface_method_get_hand_tracking_source>`\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`\ ) |const| |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` | :ref:`get_motion_range<class_OpenXRInterface_method_get_motion_range>`\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`\ ) |const| |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`SessionState<enum_OpenXRInterface_SessionState>` | :ref:`get_session_state<class_OpenXRInterface_method_get_session_state>`\ (\ ) |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_action_set_active<class_OpenXRInterface_method_is_action_set_active>`\ (\ name\: :ref:`String<class_String>`\ ) |const| |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_eye_gaze_interaction_supported<class_OpenXRInterface_method_is_eye_gaze_interaction_supported>`\ (\ ) |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_foveation_supported<class_OpenXRInterface_method_is_foveation_supported>`\ (\ ) |const| |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_hand_interaction_supported<class_OpenXRInterface_method_is_hand_interaction_supported>`\ (\ ) |const| |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_hand_tracking_supported<class_OpenXRInterface_method_is_hand_tracking_supported>`\ (\ ) |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`set_action_set_active<class_OpenXRInterface_method_set_action_set_active>`\ (\ name\: :ref:`String<class_String>`, active\: :ref:`bool<class_bool>`\ ) |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`set_cpu_level<class_OpenXRInterface_method_set_cpu_level>`\ (\ level\: :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>`\ ) |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`set_gpu_level<class_OpenXRInterface_method_set_gpu_level>`\ (\ level\: :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>`\ ) |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`set_motion_range<class_OpenXRInterface_method_set_motion_range>`\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, motion_range\: :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>`\ ) |
- +--------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Signals
- -------
- .. _class_OpenXRInterface_signal_cpu_level_changed:
- .. rst-class:: classref-signal
- **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>`
- Informs the device CPU performance level has changed in the specified subdomain.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_signal_gpu_level_changed:
- .. rst-class:: classref-signal
- **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>`
- Informs the device GPU performance level has changed in the specified subdomain.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_signal_instance_exiting:
- .. rst-class:: classref-signal
- **instance_exiting**\ (\ ) :ref:`๐<class_OpenXRInterface_signal_instance_exiting>`
- Informs our OpenXR instance is exiting.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_signal_pose_recentered:
- .. rst-class:: classref-signal
- **pose_recentered**\ (\ ) :ref:`๐<class_OpenXRInterface_signal_pose_recentered>`
- Informs the user queued a recenter of the player position.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_signal_refresh_rate_changed:
- .. rst-class:: classref-signal
- **refresh_rate_changed**\ (\ refresh_rate\: :ref:`float<class_float>`\ ) :ref:`๐<class_OpenXRInterface_signal_refresh_rate_changed>`
- Informs the user the HMD refresh rate has changed.
- \ **Note:** Only emitted if XR runtime supports the refresh rate extension.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_signal_session_begun:
- .. rst-class:: classref-signal
- **session_begun**\ (\ ) :ref:`๐<class_OpenXRInterface_signal_session_begun>`
- Informs our OpenXR session has been started.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_signal_session_focussed:
- .. rst-class:: classref-signal
- **session_focussed**\ (\ ) :ref:`๐<class_OpenXRInterface_signal_session_focussed>`
- Informs our OpenXR session now has focus, for example output is sent to the HMD and we're receiving XR input.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_signal_session_loss_pending:
- .. rst-class:: classref-signal
- **session_loss_pending**\ (\ ) :ref:`๐<class_OpenXRInterface_signal_session_loss_pending>`
- Informs our OpenXR session is in the process of being lost.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_signal_session_stopping:
- .. rst-class:: classref-signal
- **session_stopping**\ (\ ) :ref:`๐<class_OpenXRInterface_signal_session_stopping>`
- Informs our OpenXR session is stopping.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_signal_session_synchronized:
- .. rst-class:: classref-signal
- **session_synchronized**\ (\ ) :ref:`๐<class_OpenXRInterface_signal_session_synchronized>`
- Informs our OpenXR session has been synchronized.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_signal_session_visible:
- .. rst-class:: classref-signal
- **session_visible**\ (\ ) :ref:`๐<class_OpenXRInterface_signal_session_visible>`
- Informs our OpenXR session is now visible, for example output is sent to the HMD but we don't receive XR input.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Enumerations
- ------------
- .. _enum_OpenXRInterface_SessionState:
- .. rst-class:: classref-enumeration
- enum **SessionState**: :ref:`๐<enum_OpenXRInterface_SessionState>`
- .. _class_OpenXRInterface_constant_SESSION_STATE_UNKNOWN:
- .. rst-class:: classref-enumeration-constant
- :ref:`SessionState<enum_OpenXRInterface_SessionState>` **SESSION_STATE_UNKNOWN** = ``0``
- The state of the session is unknown, we haven't tried setting up OpenXR yet.
- .. _class_OpenXRInterface_constant_SESSION_STATE_IDLE:
- .. rst-class:: classref-enumeration-constant
- :ref:`SessionState<enum_OpenXRInterface_SessionState>` **SESSION_STATE_IDLE** = ``1``
- The initial state after the OpenXR session is created or after the session is destroyed.
- .. _class_OpenXRInterface_constant_SESSION_STATE_READY:
- .. rst-class:: classref-enumeration-constant
- :ref:`SessionState<enum_OpenXRInterface_SessionState>` **SESSION_STATE_READY** = ``2``
- OpenXR is ready to begin our session. :ref:`session_begun<class_OpenXRInterface_signal_session_begun>` is emitted when we change to this state.
- .. _class_OpenXRInterface_constant_SESSION_STATE_SYNCHRONIZED:
- .. rst-class:: classref-enumeration-constant
- :ref:`SessionState<enum_OpenXRInterface_SessionState>` **SESSION_STATE_SYNCHRONIZED** = ``3``
- The application has synched its frame loop with the runtime but we're not rendering anything. :ref:`session_synchronized<class_OpenXRInterface_signal_session_synchronized>` is emitted when we change to this state.
- .. _class_OpenXRInterface_constant_SESSION_STATE_VISIBLE:
- .. rst-class:: classref-enumeration-constant
- :ref:`SessionState<enum_OpenXRInterface_SessionState>` **SESSION_STATE_VISIBLE** = ``4``
- The application has synched its frame loop with the runtime and we're rendering output to the user, however we receive no user input. :ref:`session_visible<class_OpenXRInterface_signal_session_visible>` is emitted when we change to this state.
- \ **Note:** This is the current state just before we get the focused state, whenever the user opens a system menu, switches to another application, or takes off their headset.
- .. _class_OpenXRInterface_constant_SESSION_STATE_FOCUSED:
- .. rst-class:: classref-enumeration-constant
- :ref:`SessionState<enum_OpenXRInterface_SessionState>` **SESSION_STATE_FOCUSED** = ``5``
- The application has synched its frame loop with the runtime, we're rendering output to the user and we're receiving XR input. :ref:`session_focussed<class_OpenXRInterface_signal_session_focussed>` is emitted when we change to this state.
- \ **Note:** This is the state OpenXR will be in when the user can fully interact with your game.
- .. _class_OpenXRInterface_constant_SESSION_STATE_STOPPING:
- .. rst-class:: classref-enumeration-constant
- :ref:`SessionState<enum_OpenXRInterface_SessionState>` **SESSION_STATE_STOPPING** = ``6``
- Our session is being stopped. :ref:`session_stopping<class_OpenXRInterface_signal_session_stopping>` is emitted when we change to this state.
- .. _class_OpenXRInterface_constant_SESSION_STATE_LOSS_PENDING:
- .. rst-class:: classref-enumeration-constant
- :ref:`SessionState<enum_OpenXRInterface_SessionState>` **SESSION_STATE_LOSS_PENDING** = ``7``
- The session is about to be lost. :ref:`session_loss_pending<class_OpenXRInterface_signal_session_loss_pending>` is emitted when we change to this state.
- .. _class_OpenXRInterface_constant_SESSION_STATE_EXITING:
- .. rst-class:: classref-enumeration-constant
- :ref:`SessionState<enum_OpenXRInterface_SessionState>` **SESSION_STATE_EXITING** = ``8``
- The OpenXR instance is about to be destroyed and we're existing. :ref:`instance_exiting<class_OpenXRInterface_signal_instance_exiting>` is emitted when we change to this state.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_OpenXRInterface_Hand:
- .. rst-class:: classref-enumeration
- enum **Hand**: :ref:`๐<enum_OpenXRInterface_Hand>`
- .. _class_OpenXRInterface_constant_HAND_LEFT:
- .. rst-class:: classref-enumeration-constant
- :ref:`Hand<enum_OpenXRInterface_Hand>` **HAND_LEFT** = ``0``
- Left hand.
- .. _class_OpenXRInterface_constant_HAND_RIGHT:
- .. rst-class:: classref-enumeration-constant
- :ref:`Hand<enum_OpenXRInterface_Hand>` **HAND_RIGHT** = ``1``
- Right hand.
- .. _class_OpenXRInterface_constant_HAND_MAX:
- .. rst-class:: classref-enumeration-constant
- :ref:`Hand<enum_OpenXRInterface_Hand>` **HAND_MAX** = ``2``
- Maximum value for the hand enum.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_OpenXRInterface_HandMotionRange:
- .. rst-class:: classref-enumeration
- enum **HandMotionRange**: :ref:`๐<enum_OpenXRInterface_HandMotionRange>`
- .. _class_OpenXRInterface_constant_HAND_MOTION_RANGE_UNOBSTRUCTED:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` **HAND_MOTION_RANGE_UNOBSTRUCTED** = ``0``
- Full hand range, if user closes their hands, we make a full fist.
- .. _class_OpenXRInterface_constant_HAND_MOTION_RANGE_CONFORM_TO_CONTROLLER:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` **HAND_MOTION_RANGE_CONFORM_TO_CONTROLLER** = ``1``
- Conform to controller, if user closes their hands, the tracked data conforms to the shape of the controller.
- .. _class_OpenXRInterface_constant_HAND_MOTION_RANGE_MAX:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` **HAND_MOTION_RANGE_MAX** = ``2``
- Maximum value for the motion range enum.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_OpenXRInterface_HandTrackedSource:
- .. rst-class:: classref-enumeration
- enum **HandTrackedSource**: :ref:`๐<enum_OpenXRInterface_HandTrackedSource>`
- .. _class_OpenXRInterface_constant_HAND_TRACKED_SOURCE_UNKNOWN:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` **HAND_TRACKED_SOURCE_UNKNOWN** = ``0``
- The source of hand tracking data is unknown (the extension is likely unsupported).
- .. _class_OpenXRInterface_constant_HAND_TRACKED_SOURCE_UNOBSTRUCTED:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` **HAND_TRACKED_SOURCE_UNOBSTRUCTED** = ``1``
- 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.
- .. _class_OpenXRInterface_constant_HAND_TRACKED_SOURCE_CONTROLLER:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` **HAND_TRACKED_SOURCE_CONTROLLER** = ``2``
- The source of hand tracking is a controller, bone positions are inferred from controller inputs.
- .. _class_OpenXRInterface_constant_HAND_TRACKED_SOURCE_MAX:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` **HAND_TRACKED_SOURCE_MAX** = ``3``
- Represents the size of the :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` enum.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_OpenXRInterface_HandJoints:
- .. rst-class:: classref-enumeration
- enum **HandJoints**: :ref:`๐<enum_OpenXRInterface_HandJoints>`
- .. _class_OpenXRInterface_constant_HAND_JOINT_PALM:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_PALM** = ``0``
- Palm joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_WRIST:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_WRIST** = ``1``
- Wrist joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_THUMB_METACARPAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_THUMB_METACARPAL** = ``2``
- Thumb metacarpal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_THUMB_PROXIMAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_THUMB_PROXIMAL** = ``3``
- Thumb proximal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_THUMB_DISTAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_THUMB_DISTAL** = ``4``
- Thumb distal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_THUMB_TIP:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_THUMB_TIP** = ``5``
- Thumb tip joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_METACARPAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_METACARPAL** = ``6``
- Index finger metacarpal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_PROXIMAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_PROXIMAL** = ``7``
- Index finger phalanx proximal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_INTERMEDIATE:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_INTERMEDIATE** = ``8``
- Index finger phalanx intermediate joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_DISTAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_DISTAL** = ``9``
- Index finger phalanx distal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_INDEX_TIP:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_INDEX_TIP** = ``10``
- Index finger tip joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_METACARPAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_METACARPAL** = ``11``
- Middle finger metacarpal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_PROXIMAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_PROXIMAL** = ``12``
- Middle finger phalanx proximal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_INTERMEDIATE:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_INTERMEDIATE** = ``13``
- Middle finger phalanx intermediate joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_DISTAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_DISTAL** = ``14``
- Middle finger phalanx distal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_MIDDLE_TIP:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MIDDLE_TIP** = ``15``
- Middle finger tip joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_RING_METACARPAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_METACARPAL** = ``16``
- Ring finger metacarpal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_RING_PROXIMAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_PROXIMAL** = ``17``
- Ring finger phalanx proximal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_RING_INTERMEDIATE:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_INTERMEDIATE** = ``18``
- Ring finger phalanx intermediate joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_RING_DISTAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_DISTAL** = ``19``
- Ring finger phalanx distal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_RING_TIP:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_RING_TIP** = ``20``
- Ring finger tip joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_METACARPAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_METACARPAL** = ``21``
- Pinky finger metacarpal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_PROXIMAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_PROXIMAL** = ``22``
- Pinky finger phalanx proximal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_INTERMEDIATE:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_INTERMEDIATE** = ``23``
- Pinky finger phalanx intermediate joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_DISTAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_DISTAL** = ``24``
- Pinky finger phalanx distal joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_LITTLE_TIP:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_LITTLE_TIP** = ``25``
- Pinky finger tip joint.
- .. _class_OpenXRInterface_constant_HAND_JOINT_MAX:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` **HAND_JOINT_MAX** = ``26``
- Represents the size of the :ref:`HandJoints<enum_OpenXRInterface_HandJoints>` enum.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_OpenXRInterface_PerfSettingsLevel:
- .. rst-class:: classref-enumeration
- enum **PerfSettingsLevel**: :ref:`๐<enum_OpenXRInterface_PerfSettingsLevel>`
- .. _class_OpenXRInterface_constant_PERF_SETTINGS_LEVEL_POWER_SAVINGS:
- .. rst-class:: classref-enumeration-constant
- :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>` **PERF_SETTINGS_LEVEL_POWER_SAVINGS** = ``0``
- The application has entered a non-XR section (head-locked / static screen), during which power savings are to be prioritized.
- .. _class_OpenXRInterface_constant_PERF_SETTINGS_LEVEL_SUSTAINED_LOW:
- .. rst-class:: classref-enumeration-constant
- :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>` **PERF_SETTINGS_LEVEL_SUSTAINED_LOW** = ``1``
- The application has entered a low and stable complexity section, during which reducing power is more important than occasional late rendering frames.
- .. _class_OpenXRInterface_constant_PERF_SETTINGS_LEVEL_SUSTAINED_HIGH:
- .. rst-class:: classref-enumeration-constant
- :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>` **PERF_SETTINGS_LEVEL_SUSTAINED_HIGH** = ``2``
- 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.
- .. _class_OpenXRInterface_constant_PERF_SETTINGS_LEVEL_BOOST:
- .. rst-class:: classref-enumeration-constant
- :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>` **PERF_SETTINGS_LEVEL_BOOST** = ``3``
- 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.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_OpenXRInterface_PerfSettingsSubDomain:
- .. rst-class:: classref-enumeration
- enum **PerfSettingsSubDomain**: :ref:`๐<enum_OpenXRInterface_PerfSettingsSubDomain>`
- .. _class_OpenXRInterface_constant_PERF_SETTINGS_SUB_DOMAIN_COMPOSITING:
- .. rst-class:: classref-enumeration-constant
- :ref:`PerfSettingsSubDomain<enum_OpenXRInterface_PerfSettingsSubDomain>` **PERF_SETTINGS_SUB_DOMAIN_COMPOSITING** = ``0``
- The compositing performance within the runtime has reached a new level.
- .. _class_OpenXRInterface_constant_PERF_SETTINGS_SUB_DOMAIN_RENDERING:
- .. rst-class:: classref-enumeration-constant
- :ref:`PerfSettingsSubDomain<enum_OpenXRInterface_PerfSettingsSubDomain>` **PERF_SETTINGS_SUB_DOMAIN_RENDERING** = ``1``
- The application rendering performance has reached a new level.
- .. _class_OpenXRInterface_constant_PERF_SETTINGS_SUB_DOMAIN_THERMAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`PerfSettingsSubDomain<enum_OpenXRInterface_PerfSettingsSubDomain>` **PERF_SETTINGS_SUB_DOMAIN_THERMAL** = ``2``
- The temperature of the device has reached a new level.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_OpenXRInterface_PerfSettingsNotificationLevel:
- .. rst-class:: classref-enumeration
- enum **PerfSettingsNotificationLevel**: :ref:`๐<enum_OpenXRInterface_PerfSettingsNotificationLevel>`
- .. _class_OpenXRInterface_constant_PERF_SETTINGS_NOTIF_LEVEL_NORMAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`PerfSettingsNotificationLevel<enum_OpenXRInterface_PerfSettingsNotificationLevel>` **PERF_SETTINGS_NOTIF_LEVEL_NORMAL** = ``0``
- The sub-domain has reached a level where no further actions other than currently applied are necessary.
- .. _class_OpenXRInterface_constant_PERF_SETTINGS_NOTIF_LEVEL_WARNING:
- .. rst-class:: classref-enumeration-constant
- :ref:`PerfSettingsNotificationLevel<enum_OpenXRInterface_PerfSettingsNotificationLevel>` **PERF_SETTINGS_NOTIF_LEVEL_WARNING** = ``1``
- The sub-domain has reached an early warning level where the application should start proactive mitigation actions.
- .. _class_OpenXRInterface_constant_PERF_SETTINGS_NOTIF_LEVEL_IMPAIRED:
- .. rst-class:: classref-enumeration-constant
- :ref:`PerfSettingsNotificationLevel<enum_OpenXRInterface_PerfSettingsNotificationLevel>` **PERF_SETTINGS_NOTIF_LEVEL_IMPAIRED** = ``2``
- The sub-domain has reached a critical level where the application should start drastic mitigation actions.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_OpenXRInterface_HandJointFlags:
- .. rst-class:: classref-enumeration
- flags **HandJointFlags**: :ref:`๐<enum_OpenXRInterface_HandJointFlags>`
- .. _class_OpenXRInterface_constant_HAND_JOINT_NONE:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_NONE** = ``0``
- No flags are set.
- .. _class_OpenXRInterface_constant_HAND_JOINT_ORIENTATION_VALID:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_ORIENTATION_VALID** = ``1``
- If set, the orientation data is valid, otherwise, the orientation data is unreliable and should not be used.
- .. _class_OpenXRInterface_constant_HAND_JOINT_ORIENTATION_TRACKED:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_ORIENTATION_TRACKED** = ``2``
- If set, the orientation data comes from tracking data, otherwise, the orientation data contains predicted data.
- .. _class_OpenXRInterface_constant_HAND_JOINT_POSITION_VALID:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_POSITION_VALID** = ``4``
- If set, the positional data is valid, otherwise, the positional data is unreliable and should not be used.
- .. _class_OpenXRInterface_constant_HAND_JOINT_POSITION_TRACKED:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_POSITION_TRACKED** = ``8``
- If set, the positional data comes from tracking data, otherwise, the positional data contains predicted data.
- .. _class_OpenXRInterface_constant_HAND_JOINT_LINEAR_VELOCITY_VALID:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_LINEAR_VELOCITY_VALID** = ``16``
- If set, our linear velocity data is valid, otherwise, the linear velocity data is unreliable and should not be used.
- .. _class_OpenXRInterface_constant_HAND_JOINT_ANGULAR_VELOCITY_VALID:
- .. rst-class:: classref-enumeration-constant
- :ref:`HandJointFlags<enum_OpenXRInterface_HandJointFlags>` **HAND_JOINT_ANGULAR_VELOCITY_VALID** = ``32``
- If set, our angular velocity data is valid, otherwise, the angular velocity data is unreliable and should not be used.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Property Descriptions
- ---------------------
- .. _class_OpenXRInterface_property_display_refresh_rate:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **display_refresh_rate** = ``0.0`` :ref:`๐<class_OpenXRInterface_property_display_refresh_rate>`
- .. rst-class:: classref-property-setget
- - |void| **set_display_refresh_rate**\ (\ value\: :ref:`float<class_float>`\ )
- - :ref:`float<class_float>` **get_display_refresh_rate**\ (\ )
- 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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_property_foveation_dynamic:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **foveation_dynamic** = ``false`` :ref:`๐<class_OpenXRInterface_property_foveation_dynamic>`
- .. rst-class:: classref-property-setget
- - |void| **set_foveation_dynamic**\ (\ value\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **get_foveation_dynamic**\ (\ )
- 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>`.
- \ **Note:** Only works on the Compatibility renderer.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_property_foveation_level:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **foveation_level** = ``0`` :ref:`๐<class_OpenXRInterface_property_foveation_level>`
- .. rst-class:: classref-property-setget
- - |void| **set_foveation_level**\ (\ value\: :ref:`int<class_int>`\ )
- - :ref:`int<class_int>` **get_foveation_level**\ (\ )
- Set foveation level from 0 (off) to 3 (high), the interface must be initialized before this is accessible.
- \ **Note:** Only works on the Compatibility renderer.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_property_render_target_size_multiplier:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **render_target_size_multiplier** = ``1.0`` :ref:`๐<class_OpenXRInterface_property_render_target_size_multiplier>`
- .. rst-class:: classref-property-setget
- - |void| **set_render_target_size_multiplier**\ (\ value\: :ref:`float<class_float>`\ )
- - :ref:`float<class_float>` **get_render_target_size_multiplier**\ (\ )
- The render size multiplier for the current HMD. Must be set before the interface has been initialized.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_property_vrs_min_radius:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **vrs_min_radius** = ``20.0`` :ref:`๐<class_OpenXRInterface_property_vrs_min_radius>`
- .. rst-class:: classref-property-setget
- - |void| **set_vrs_min_radius**\ (\ value\: :ref:`float<class_float>`\ )
- - :ref:`float<class_float>` **get_vrs_min_radius**\ (\ )
- The minimum radius around the focal point where full quality is guaranteed if VRS is used as a percentage of screen size.
- \ **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>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_property_vrs_strength:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **vrs_strength** = ``1.0`` :ref:`๐<class_OpenXRInterface_property_vrs_strength>`
- .. rst-class:: classref-property-setget
- - |void| **set_vrs_strength**\ (\ value\: :ref:`float<class_float>`\ )
- - :ref:`float<class_float>` **get_vrs_strength**\ (\ )
- 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.
- \ **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>`.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Method Descriptions
- -------------------
- .. _class_OpenXRInterface_method_get_action_sets:
- .. rst-class:: classref-method
- :ref:`Array<class_Array>` **get_action_sets**\ (\ ) |const| :ref:`๐<class_OpenXRInterface_method_get_action_sets>`
- Returns a list of action sets registered with Godot (loaded from the action map at runtime).
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_get_available_display_refresh_rates:
- .. rst-class:: classref-method
- :ref:`Array<class_Array>` **get_available_display_refresh_rates**\ (\ ) |const| :ref:`๐<class_OpenXRInterface_method_get_available_display_refresh_rates>`
- 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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_get_hand_joint_angular_velocity:
- .. rst-class:: classref-method
- :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>`
- **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.
- 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>`!
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_get_hand_joint_flags:
- .. rst-class:: classref-method
- |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>`
- **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.
- If handtracking is enabled, returns flags that inform us of the validity of the tracking data.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_get_hand_joint_linear_velocity:
- .. rst-class:: classref-method
- :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>`
- **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.
- 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!
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_get_hand_joint_position:
- .. rst-class:: classref-method
- :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>`
- **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.
- 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!
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_get_hand_joint_radius:
- .. rst-class:: classref-method
- :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>`
- **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.
- If handtracking is enabled, returns the radius of a joint (``joint``) of a hand (``hand``) as provided by OpenXR. This is without worldscale applied!
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_get_hand_joint_rotation:
- .. rst-class:: classref-method
- :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>`
- **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.
- If handtracking is enabled, returns the rotation of a joint (``joint``) of a hand (``hand``) as provided by OpenXR.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_get_hand_tracking_source:
- .. rst-class:: classref-method
- :ref:`HandTrackedSource<enum_OpenXRInterface_HandTrackedSource>` **get_hand_tracking_source**\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`\ ) |const| :ref:`๐<class_OpenXRInterface_method_get_hand_tracking_source>`
- **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.
- If handtracking is enabled and hand tracking source is supported, gets the source of the hand tracking data for ``hand``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_get_motion_range:
- .. rst-class:: classref-method
- :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>` **get_motion_range**\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`\ ) |const| :ref:`๐<class_OpenXRInterface_method_get_motion_range>`
- If handtracking is enabled and motion range is supported, gets the currently configured motion range for ``hand``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_get_session_state:
- .. rst-class:: classref-method
- :ref:`SessionState<enum_OpenXRInterface_SessionState>` **get_session_state**\ (\ ) :ref:`๐<class_OpenXRInterface_method_get_session_state>`
- Returns the current state of our OpenXR session.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_is_action_set_active:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_action_set_active**\ (\ name\: :ref:`String<class_String>`\ ) |const| :ref:`๐<class_OpenXRInterface_method_is_action_set_active>`
- Returns ``true`` if the given action set is active.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_is_eye_gaze_interaction_supported:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_eye_gaze_interaction_supported**\ (\ ) :ref:`๐<class_OpenXRInterface_method_is_eye_gaze_interaction_supported>`
- Returns the capabilities of the eye gaze interaction extension.
- \ **Note:** This only returns a valid value after OpenXR has been initialized.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_is_foveation_supported:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_foveation_supported**\ (\ ) |const| :ref:`๐<class_OpenXRInterface_method_is_foveation_supported>`
- Returns ``true`` if OpenXR's foveation extension is supported, the interface must be initialized before this returns a valid value.
- \ **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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_is_hand_interaction_supported:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_hand_interaction_supported**\ (\ ) |const| :ref:`๐<class_OpenXRInterface_method_is_hand_interaction_supported>`
- Returns ``true`` if OpenXR's hand interaction profile is supported and enabled.
- \ **Note:** This only returns a valid value after OpenXR has been initialized.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_is_hand_tracking_supported:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_hand_tracking_supported**\ (\ ) :ref:`๐<class_OpenXRInterface_method_is_hand_tracking_supported>`
- Returns ``true`` if OpenXR's hand tracking is supported and enabled.
- \ **Note:** This only returns a valid value after OpenXR has been initialized.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_set_action_set_active:
- .. rst-class:: classref-method
- |void| **set_action_set_active**\ (\ name\: :ref:`String<class_String>`, active\: :ref:`bool<class_bool>`\ ) :ref:`๐<class_OpenXRInterface_method_set_action_set_active>`
- Sets the given action set as active or inactive.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_set_cpu_level:
- .. rst-class:: classref-method
- |void| **set_cpu_level**\ (\ level\: :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>`\ ) :ref:`๐<class_OpenXRInterface_method_set_cpu_level>`
- Sets the CPU performance level of the OpenXR device.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_set_gpu_level:
- .. rst-class:: classref-method
- |void| **set_gpu_level**\ (\ level\: :ref:`PerfSettingsLevel<enum_OpenXRInterface_PerfSettingsLevel>`\ ) :ref:`๐<class_OpenXRInterface_method_set_gpu_level>`
- Sets the GPU performance level of the OpenXR device.
- .. rst-class:: classref-item-separator
- ----
- .. _class_OpenXRInterface_method_set_motion_range:
- .. rst-class:: classref-method
- |void| **set_motion_range**\ (\ hand\: :ref:`Hand<enum_OpenXRInterface_Hand>`, motion_range\: :ref:`HandMotionRange<enum_OpenXRInterface_HandMotionRange>`\ ) :ref:`๐<class_OpenXRInterface_method_set_motion_range>`
- If handtracking is enabled and motion range is supported, sets the currently configured motion range for ``hand`` to ``motion_range``.
- .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
- .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
- .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
- .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
- .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
- .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
- .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
- .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
- .. |void| replace:: :abbr:`void (No return value.)`
|