diff options
Diffstat (limited to 'doc/classes/XRInterface.xml')
-rw-r--r-- | doc/classes/XRInterface.xml | 79 |
1 files changed, 68 insertions, 11 deletions
diff --git a/doc/classes/XRInterface.xml b/doc/classes/XRInterface.xml index ffc2bc138d..7ae70f97a2 100644 --- a/doc/classes/XRInterface.xml +++ b/doc/classes/XRInterface.xml @@ -29,6 +29,12 @@ Returns the name of this interface (OpenXR, OpenVR, OpenHMD, ARKit, etc). </description> </method> + <method name="get_play_area" qualifiers="const"> + <return type="PackedVector3Array" /> + <description> + Returns an array of vectors that denotes the physical play area mapped to the virtual space around the [XROrigin3D] point. The points form a convex polygon that can be used to react to or visualise the play area. This returns an empty array if this feature is not supported or if the information is not yet available. + </description> + </method> <method name="get_render_target_size"> <return type="Vector2" /> <description> @@ -63,6 +69,34 @@ Is [code]true[/code] if this interface has been initialised. </description> </method> + <method name="set_play_area_mode"> + <return type="bool" /> + <argument index="0" name="mode" type="int" enum="XRInterface.PlayAreaMode" /> + <description> + Sets the active play area mode, will return [code]false[/code] if the mode can't be used with this interface. + </description> + </method> + <method name="supports_play_area_mode"> + <return type="bool" /> + <argument index="0" name="mode" type="int" enum="XRInterface.PlayAreaMode" /> + <description> + Call this to find out if a given play area mode is supported by this interface. + </description> + </method> + <method name="trigger_haptic_pulse"> + <return type="void" /> + <argument index="0" name="action_name" type="String" /> + <argument index="1" name="tracker_name" type="StringName" /> + <argument index="2" name="frequency" type="float" /> + <argument index="3" name="amplitude" type="float" /> + <argument index="4" name="duration_sec" type="float" /> + <argument index="5" name="delay_sec" type="float" /> + <description> + Triggers a haptic pulse on a device associated with this interface. + [code]action_name[/code] is the name of the action for this pulse. + [code]tracker_name[/code] is optional and can be used to direct the pulse to a specific device provided that device is bound to this haptic. + </description> + </method> <method name="uninitialize"> <return type="void" /> <description> @@ -77,7 +111,18 @@ <member name="interface_is_primary" type="bool" setter="set_primary" getter="is_primary" default="false"> [code]true[/code] if this is the primary interface. </member> + <member name="xr_play_area_mode" type="int" setter="set_play_area_mode" getter="get_play_area_mode" enum="XRInterface.PlayAreaMode" default="0"> + The play area mode for this interface. + </member> </members> + <signals> + <signal name="play_area_changed"> + <argument index="0" name="mode" type="int" /> + <description> + Emitted when the play area is changed. This can be a result of the player resetting the boundary or entering a new play area, the player changing the play area mode, the world scale changing or the player resetting their headset orientation. + </description> + </signal> + </signals> <constants> <constant name="XR_NONE" value="0" enum="Capabilities"> No XR capabilities. @@ -88,20 +133,17 @@ <constant name="XR_STEREO" value="2" enum="Capabilities"> This interface supports stereoscopic rendering. </constant> - <constant name="XR_AR" value="4" enum="Capabilities"> - This interface supports AR (video background and real world tracking). - </constant> - <constant name="XR_EXTERNAL" value="8" enum="Capabilities"> - This interface outputs to an external device. If the main viewport is used, the on screen output is an unmodified buffer of either the left or right eye (stretched if the viewport size is not changed to the same aspect ratio of [method get_render_target_size]). Using a separate viewport node frees up the main viewport for other purposes. + <constant name="XR_QUAD" value="4" enum="Capabilities"> + This interface supports quad rendering (not yet supported by Godot). </constant> - <constant name="EYE_MONO" value="0" enum="Eyes"> - Mono output, this is mostly used internally when retrieving positioning information for our camera node or when stereo scopic rendering is not supported. + <constant name="XR_VR" value="8" enum="Capabilities"> + this interface supports VR. </constant> - <constant name="EYE_LEFT" value="1" enum="Eyes"> - Left eye output, this is mostly used internally when rendering the image for the left eye and obtaining positioning and projection information. + <constant name="XR_AR" value="16" enum="Capabilities"> + This interface supports AR (video background and real world tracking). </constant> - <constant name="EYE_RIGHT" value="2" enum="Eyes"> - Right eye output, this is mostly used internally when rendering the image for the right eye and obtaining positioning and projection information. + <constant name="XR_EXTERNAL" value="32" enum="Capabilities"> + This interface outputs to an external device. If the main viewport is used, the on screen output is an unmodified buffer of either the left or right eye (stretched if the viewport size is not changed to the same aspect ratio of [method get_render_target_size]). Using a separate viewport node frees up the main viewport for other purposes. </constant> <constant name="XR_NORMAL_TRACKING" value="0" enum="TrackingStatus"> Tracking is behaving as expected. @@ -118,5 +160,20 @@ <constant name="XR_NOT_TRACKING" value="4" enum="TrackingStatus"> Tracking is not functional (camera not plugged in or obscured, lighthouses turned off, etc.). </constant> + <constant name="XR_PLAY_AREA_UNKNOWN" value="0" enum="PlayAreaMode"> + Play area mode not set or not available. + </constant> + <constant name="XR_PLAY_AREA_3DOF" value="1" enum="PlayAreaMode"> + Play area only supports orientation tracking, no positional tracking, area will center around player. + </constant> + <constant name="XR_PLAY_AREA_SITTING" value="2" enum="PlayAreaMode"> + Player is in seated position, limited positional tracking, fixed guardian around player. + </constant> + <constant name="XR_PLAY_AREA_ROOMSCALE" value="3" enum="PlayAreaMode"> + Player is free to move around, full positional tracking. + </constant> + <constant name="XR_PLAY_AREA_STAGE" value="4" enum="PlayAreaMode"> + Same as roomscale but origin point is fixed to the center of the physical space, XRServer.center_on_hmd disabled. + </constant> </constants> </class> |