diff options
author | Bastiaan Olij <mux213@gmail.com> | 2021-10-19 22:00:22 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-19 22:00:22 +1100 |
commit | 964c8322b12ae6ee0ae672c853b9de77c5eb5d76 (patch) | |
tree | 8be945764483894cbfff9adcba5caf9beb73862c /doc/classes | |
parent | 4387f9645b1f54755506804770ba15c6c9cd5094 (diff) | |
parent | 96b707215dea18bce739c60f3486cceade4c4f4f (diff) |
Merge pull request #49942 from BastiaanOlij/xr_play_area
Add support for returning the play area from XRInterface
Diffstat (limited to 'doc/classes')
-rw-r--r-- | doc/classes/XRInterface.xml | 46 | ||||
-rw-r--r-- | doc/classes/XRInterfaceExtension.xml | 27 |
2 files changed, 73 insertions, 0 deletions
diff --git a/doc/classes/XRInterface.xml b/doc/classes/XRInterface.xml index 27713498ee..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,20 @@ 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" /> @@ -91,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. @@ -129,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> diff --git a/doc/classes/XRInterfaceExtension.xml b/doc/classes/XRInterfaceExtension.xml index 4328488ced..3b5d8e2f10 100644 --- a/doc/classes/XRInterfaceExtension.xml +++ b/doc/classes/XRInterfaceExtension.xml @@ -41,6 +41,16 @@ <description> </description> </method> + <method name="_get_play_area" qualifiers="virtual const"> + <return type="PackedVector3Array" /> + <description> + </description> + </method> + <method name="_get_play_area_mode" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> <method name="_get_projection_for_view" qualifiers="virtual"> <return type="PackedFloat64Array" /> <argument index="0" name="view" type="int" /> @@ -71,6 +81,11 @@ <description> </description> </method> + <method name="_get_tracking_status" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> <method name="_get_transform_for_view" qualifiers="virtual"> <return type="Transform3D" /> <argument index="0" name="view" type="int" /> @@ -110,6 +125,18 @@ <description> </description> </method> + <method name="_set_play_area_mode" qualifiers="virtual const"> + <return type="bool" /> + <argument index="0" name="mode" type="int" /> + <description> + </description> + </method> + <method name="_supports_play_area_mode" qualifiers="virtual const"> + <return type="bool" /> + <argument index="0" name="mode" type="int" enum="XRInterface.PlayAreaMode" /> + <description> + </description> + </method> <method name="_trigger_haptic_pulse" qualifiers="virtual"> <return type="void" /> <argument index="0" name="action_name" type="String" /> |