diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2021-01-06 15:23:58 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2021-01-06 15:23:58 +0100 |
commit | a3b76e26f34b668993382e6c32b7d3afaca0259f (patch) | |
tree | 17bc9ef0edadc91c5006da860fc4c8dd6d362a77 /modules | |
parent | 5e1ef4147215c8c6f7ddce376e7d4203ce540889 (diff) |
doc: Sync classref with current source
Diffstat (limited to 'modules')
-rw-r--r-- | modules/webxr/doc_classes/WebXRInterface.xml | 140 | ||||
-rw-r--r-- | modules/webxr/webxr_interface.cpp | 2 |
2 files changed, 71 insertions, 71 deletions
diff --git a/modules/webxr/doc_classes/WebXRInterface.xml b/modules/webxr/doc_classes/WebXRInterface.xml index f178dc1bd5..bddffd910e 100644 --- a/modules/webxr/doc_classes/WebXRInterface.xml +++ b/modules/webxr/doc_classes/WebXRInterface.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="WebXRInterface" inherits="XRInterface" version="3.2"> +<class name="WebXRInterface" inherits="XRInterface" version="4.0"> <brief_description> AR/VR interface using WebXR. </brief_description> @@ -66,7 +66,7 @@ func _webxr_session_started(): # This tells Godot to start rendering to the headset. - get_viewport().arvr = true + get_viewport().xr = true # This will be the reference space type you ultimately got, out of the # types that you requested above. This is useful if you want the game to # work a little differently in 'bounded-floor' versus 'local-floor'. @@ -75,7 +75,7 @@ func _webxr_session_ended(): # If the user exits immersive mode, then we tell Godot to render to the web # page again. - get_viewport().arvr = false + get_viewport().xr = false func _webxr_session_failed(message): OS.alert("Failed to initialize: " + message) @@ -90,18 +90,7 @@ <link title="How to make a VR game for WebXR with Godot">https://www.snopekgames.com/blog/2020/how-make-vr-game-webxr-godot</link> </tutorials> <methods> - <method name="is_session_supported"> - <return type="void"> - </return> - <argument index="0" name="session_mode" type="String"> - </argument> - <description> - Checks if the given [code]session_mode[/code] is supported by the user's browser. - Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRSessionMode]WebXR's XRSessionMode[/url], including: [code]"immersive-vr"[/code], [code]"immersive-ar"[/code], and [code]"inline"[/code]. - This method returns nothing, instead it emits the [signal session_supported] signal with the result. - </description> - </method> - <method name="get_controller"> + <method name="get_controller" qualifiers="const"> <return type="XRPositionalTracker"> </return> <argument index="0" name="controller_id" type="int"> @@ -118,18 +107,23 @@ - [signal squeezestart] </description> </method> + <method name="is_session_supported"> + <return type="void"> + </return> + <argument index="0" name="session_mode" type="String"> + </argument> + <description> + Checks if the given [code]session_mode[/code] is supported by the user's browser. + Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRSessionMode]WebXR's XRSessionMode[/url], including: [code]"immersive-vr"[/code], [code]"immersive-ar"[/code], and [code]"inline"[/code]. + This method returns nothing, instead it emits the [signal session_supported] signal with the result. + </description> + </method> </methods> <members> - <member name="session_mode" type="String" setter="set_session_mode" getter="get_session_mode"> - The session mode used by [method XRInterface.initialize] when setting up the WebXR session. - This doesn't have any effect on the interface when already initialized. - Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRSessionMode]WebXR's XRSessionMode[/url], including: [code]"immersive-vr"[/code], [code]"immersive-ar"[/code], and [code]"inline"[/code]. - </member> - <member name="required_features" type="String" setter="set_required_features" getter="get_required_features"> - A comma-seperated list of required features used by [method XRInterface.initialize] when setting up the WebXR session. - If a user's browser or device doesn't support one of the given features, initialization will fail and [signal session_failed] will be emitted. - This doesn't have any effect on the interface when already initialized. - Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType]WebXR's XRReferenceSpaceType[/url]. If you want to use a particular reference space type, it must be listed in either [member required_features] or [member optional_features]. + <member name="bounds_geometry" type="PackedVector3Array" setter="" getter="get_bounds_geometry"> + The vertices of a polygon which defines the boundaries of the user's play area. + This will only be available if [member reference_space_type] is [code]"bounded-floor"[/code] and only on certain browsers and devices that support it. + The [signal reference_space_reset] signal may indicate when this changes. </member> <member name="optional_features" type="String" setter="set_optional_features" getter="get_optional_features"> A comma-seperated list of optional features used by [method XRInterface.initialize] when setting up the WebXR session. @@ -137,54 +131,54 @@ This doesn't have any effect on the interface when already initialized. Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType]WebXR's XRReferenceSpaceType[/url]. If you want to use a particular reference space type, it must be listed in either [member required_features] or [member optional_features]. </member> + <member name="reference_space_type" type="String" setter="" getter="get_reference_space_type"> + The reference space type (from the list of requested types set in the [member requested_reference_space_types] property), that was ultimately used by [method XRInterface.initialize] when setting up the WebXR session. + Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType]WebXR's XRReferenceSpaceType[/url]. If you want to use a particular reference space type, it must be listed in either [member required_features] or [member optional_features]. + </member> <member name="requested_reference_space_types" type="String" setter="set_requested_reference_space_types" getter="get_requested_reference_space_types"> A comma-seperated list of reference space types used by [method XRInterface.initialize] when setting up the WebXR session. The reference space types are requested in order, and the first on supported by the users device or browser will be used. The [member reference_space_type] property contains the reference space type that was ultimately used. This doesn't have any effect on the interface when already initialized. Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType]WebXR's XRReferenceSpaceType[/url]. If you want to use a particular reference space type, it must be listed in either [member required_features] or [member optional_features]. </member> - <member name="reference_space_type" type="String" setter="" getter="get_reference_space_type"> - The reference space type (from the list of requested types set in the [member requested_reference_space_types] property), that was ultimately used by [method XRInterface.initialize] when setting up the WebXR session. + <member name="required_features" type="String" setter="set_required_features" getter="get_required_features"> + A comma-seperated list of required features used by [method XRInterface.initialize] when setting up the WebXR session. + If a user's browser or device doesn't support one of the given features, initialization will fail and [signal session_failed] will be emitted. + This doesn't have any effect on the interface when already initialized. Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType]WebXR's XRReferenceSpaceType[/url]. If you want to use a particular reference space type, it must be listed in either [member required_features] or [member optional_features]. </member> + <member name="session_mode" type="String" setter="set_session_mode" getter="get_session_mode"> + The session mode used by [method XRInterface.initialize] when setting up the WebXR session. + This doesn't have any effect on the interface when already initialized. + Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRSessionMode]WebXR's XRSessionMode[/url], including: [code]"immersive-vr"[/code], [code]"immersive-ar"[/code], and [code]"inline"[/code]. + </member> <member name="visibility_state" type="String" setter="" getter="get_visibility_state"> Indicates if the WebXR session's imagery is visible to the user. Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRVisibilityState]WebXR's XRVisibilityState[/url], including [code]"hidden"[/code], [code]"visible"[/code], and [code]"visible-blurred"[/code]. </member> - <member name="bounds_geometry" type="PackedVector3Array" setter="" getter="get_bounds_geometry"> - The vertices of a polygon which defines the boundaries of the user's play area. - This will only be available if [member reference_space_type] is [code]"bounded-floor"[/code] and only on certain browsers and devices that support it. - The [signal reference_space_reset] signal may indicate when this changes. - </member> </members> <signals> - <signal name="session_supported"> - <argument index="0" name="session_mode" type="String"> - </argument> - <argument index="1" name="supported" type="bool"> - </argument> - <description> - Emitted by [method is_session_supported] to indicate if the given [code]session_mode[/code] is supported or not. - </description> - </signal> - <signal name="session_started"> + <signal name="reference_space_reset"> <description> - Emitted by [method XRInterface.initialize] if the session is successfully started. - At this point, it's safe to do [code]get_viewport().arvr = true[/code] to instruct Godot to start rendering to the AR/VR device. + Emitted to indicate that the reference space has been reset or reconfigured. + When (or whether) this is emitted depends on the user's browser or device, but may include when the user has changed the dimensions of their play space (which you may be able to access via [member bounds_geometry]) or pressed/held a button to recenter their position. + See [url=https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpace/reset_event]WebXR's XRReferenceSpace reset event[/url] for more information. </description> </signal> - <signal name="session_failed"> - <argument index="0" name="message" type="String"> + <signal name="select"> + <argument index="0" name="controller_id" type="int"> </argument> <description> - Emitted by [method XRInterface.initialize] if the session fails to start. - [code]message[/code] may optionally contain an error message from WebXR, or an empty string if no message is available. + Emitted after one of the "controllers" has finished its "primary action". + Use [method get_controller] to get more information about the controller. </description> </signal> - <signal name="session_ended"> + <signal name="selectend"> + <argument index="0" name="controller_id" type="int"> + </argument> <description> - Emitted when the user ends the WebXR session (which can be done using UI from the browser or device). - At this point, you should do [code]get_viewport().arvr = false[/code] to instruct Godot to resume rendering to the screen. + Emitted when one of the "controllers" has finished its "primary action". + Use [method get_controller] to get more information about the controller. </description> </signal> <signal name="selectstart"> @@ -195,28 +189,33 @@ Use [method get_controller] to get more information about the controller. </description> </signal> - <signal name="select"> - <argument index="0" name="controller_id" type="int"> - </argument> + <signal name="session_ended"> <description> - Emitted after one of the "controllers" has finished its "primary action". - Use [method get_controller] to get more information about the controller. + Emitted when the user ends the WebXR session (which can be done using UI from the browser or device). + At this point, you should do [code]get_viewport().xr = false[/code] to instruct Godot to resume rendering to the screen. </description> </signal> - <signal name="selectend"> - <argument index="0" name="controller_id" type="int"> + <signal name="session_failed"> + <argument index="0" name="message" type="String"> </argument> <description> - Emitted when one of the "controllers" has finished its "primary action". - Use [method get_controller] to get more information about the controller. + Emitted by [method XRInterface.initialize] if the session fails to start. + [code]message[/code] may optionally contain an error message from WebXR, or an empty string if no message is available. </description> </signal> - <signal name="squeezestart"> - <argument index="0" name="controller_id" type="int"> + <signal name="session_started"> + <description> + Emitted by [method XRInterface.initialize] if the session is successfully started. + At this point, it's safe to do [code]get_viewport().xr = true[/code] to instruct Godot to start rendering to the AR/VR device. + </description> + </signal> + <signal name="session_supported"> + <argument index="0" name="session_mode" type="String"> + </argument> + <argument index="1" name="supported" type="bool"> </argument> <description> - Emitted when one of the "controllers" has started its "primary squeeze action". - Use [method get_controller] to get more information about the controller. + Emitted by [method is_session_supported] to indicate if the given [code]session_mode[/code] is supported or not. </description> </signal> <signal name="squeeze"> @@ -235,16 +234,17 @@ Use [method get_controller] to get more information about the controller. </description> </signal> - <signal name="visibility_state_changed"> + <signal name="squeezestart"> + <argument index="0" name="controller_id" type="int"> + </argument> <description> - Emitted when [member visibility_state] has changed. + Emitted when one of the "controllers" has started its "primary squeeze action". + Use [method get_controller] to get more information about the controller. </description> </signal> - <signal name="reference_space_reset"> + <signal name="visibility_state_changed"> <description> - Emitted to indicate that the reference space has been reset or reconfigured. - When (or whether) this is emitted depends on the user's browser or device, but may include when the user has changed the dimensions of their play space (which you may be able to access via [member bounds_geometry]) or pressed/held a button to recenter their position. - See [url=https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpace/reset_event]WebXR's XRReferenceSpace reset event[/url] for more information. + Emitted when [member visibility_state] has changed. </description> </signal> </signals> diff --git a/modules/webxr/webxr_interface.cpp b/modules/webxr/webxr_interface.cpp index 2c28ce070f..3e8e75bf0e 100644 --- a/modules/webxr/webxr_interface.cpp +++ b/modules/webxr/webxr_interface.cpp @@ -42,7 +42,7 @@ void WebXRInterface::_bind_methods() { ClassDB::bind_method(D_METHOD("get_reference_space_type"), &WebXRInterface::get_reference_space_type); ClassDB::bind_method(D_METHOD("set_requested_reference_space_types", "requested_reference_space_types"), &WebXRInterface::set_requested_reference_space_types); ClassDB::bind_method(D_METHOD("get_requested_reference_space_types"), &WebXRInterface::get_requested_reference_space_types); - ClassDB::bind_method(D_METHOD("get_controller"), &WebXRInterface::get_controller); + ClassDB::bind_method(D_METHOD("get_controller", "controller_id"), &WebXRInterface::get_controller); ClassDB::bind_method(D_METHOD("get_visibility_state"), &WebXRInterface::get_visibility_state); ClassDB::bind_method(D_METHOD("get_bounds_geometry"), &WebXRInterface::get_bounds_geometry); |