Skip to content

Commit 2801631

Browse files
authored
Merge pull request #10819 from skyace65/OpenXR-Settings
Update OpenXR Settings page
2 parents b4d0968 + a04295e commit 2801631

File tree

2 files changed

+75
-14
lines changed

2 files changed

+75
-14
lines changed

tutorials/xr/img/openxr_settings.webp

16.3 KB
Binary file not shown.

tutorials/xr/openxr_settings.rst

Lines changed: 75 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@ we will only discuss the settings in the core of Godot here.
99

1010
.. image:: img/openxr_settings.webp
1111

12+
General settings
13+
----------------
14+
1215
Enabled
13-
-------
16+
~~~~~~~
1417

1518
This setting enables the OpenXR module when Godot starts.
1619
This is required when the Vulkan backend is used.
@@ -21,12 +24,12 @@ This also needs to be enabled to get access to the action map editor.
2124
You can use the ``--xr-mode on`` command line switch to force this to on.
2225

2326
Default Action Map
24-
------------------
27+
~~~~~~~~~~~~~~~~~~
2528

2629
This specifies the path of the action map file that OpenXR will load and communicate to the XR Runtime.
2730

2831
Form Factor
29-
-----------
32+
~~~~~~~~~~~
3033

3134
This specifies whether your game is designed for:
3235

@@ -36,7 +39,7 @@ This specifies whether your game is designed for:
3639
If the device on which you run your game does not match the selection here, OpenXR will fail to initialise.
3740

3841
View Configuration
39-
------------------
42+
~~~~~~~~~~~~~~~~~~
4043

4144
This specifies the view configuration your game is designed for:
4245

@@ -51,7 +54,7 @@ If the device on which you run your game does not match the selection here, Open
5154
These may be supported in the near future.
5255

5356
Reference Space
54-
---------------
57+
~~~~~~~~~~~~~~~
5558

5659
Within XR all elements like the player's head and hands are tracked within a tracking volume.
5760
At the base of this tracking volume is our origin point, which maps our virtual space to the real space.
@@ -60,7 +63,7 @@ depending on the XR system used.
6063
In OpenXR these scenarios are well defined and selected by setting a reference space.
6164

6265
Local
63-
~~~~~
66+
^^^^^
6467

6568
The local reference space places our origin point at the player's head by default.
6669
Some XR runtimes will do this each time your game starts, others will make the position persist over sessions.
@@ -83,7 +86,7 @@ so your game can react accordingly.
8386
You should **not** call ``center_on_hmd`` when using this reference space.
8487

8588
Stage
86-
~~~~~
89+
^^^^^
8790

8891
The stage reference space is our default reference space and places our origin point at the center of our play space.
8992
For XR runtimes that allow you to draw out a guardian boundary this location and its orientation is often set by the user.
@@ -111,7 +114,7 @@ In Godot you can do this by calling the ``center_on_hmd`` function on the :ref:`
111114
Any other XR tracked elements such as controllers or anchors will also be adjusted accordingly.
112115

113116
Local Floor
114-
~~~~~~~~~~~
117+
^^^^^^^^^^^
115118

116119
The local floor reference space is similar to the local reference space as it positions the origin point where the player is.
117120
In this mode however the height of the player is kept.
@@ -146,7 +149,7 @@ so your game can react accordingly.
146149
You should **not** call ``center_on_hmd`` when using this reference space.
147150

148151
Environment Blend Mode
149-
----------------------
152+
~~~~~~~~~~~~~~~~~~~~~~
150153

151154
The environment blend mode defines how our rendered output is blended into "the real world" provided this is supported by the headset.
152155

@@ -166,7 +169,7 @@ If a mode is selected that is not supported by the headset, the first available
166169
.. _doc_openxr_settings_foveation_level:
167170

168171
Foveation Level
169-
---------------
172+
~~~~~~~~~~~~~~~
170173

171174
Sets the foveation level used when rendering provided this feature is supported by the hardware used.
172175
Foveation is a technique where the further away from the center of the viewport we render content, the lower resolution we render at.
@@ -182,7 +185,7 @@ The higher the level, the better the performance gains, but also the more reduct
182185
This feature is disabled if post effects are used such as glow, bloom, or DOF.
183186

184187
Foveation Dynamic
185-
-----------------
188+
~~~~~~~~~~~~~~~~~
186189

187190
When enabled the foveation level will be adjusted automatically depending on current GPU load.
188191
It will be adjusted between low and the select foveation level in the previous setting.
@@ -192,7 +195,7 @@ It is therefore best to combine this setting with foveation level set to high.
192195
**Compatibility renderer only**
193196

194197
Submit Depth Buffer
195-
-------------------
198+
~~~~~~~~~~~~~~~~~~~
196199

197200
If enabled an OpenXR supplied depth buffer will be used while rendering which is submitted alongside the rendered image.
198201
The XR runtime can use this for improved reprojection.
@@ -203,7 +206,7 @@ The XR runtime can use this for improved reprojection.
203206
it is advised to leave this setting off unless it provides noticeable benefits for your use case.
204207

205208
Startup Alert
206-
-------------
209+
~~~~~~~~~~~~~
207210

208211
If enabled, this will result in an alert message presented to the user if OpenXR fails to start.
209212
We don't always receive feedback from the XR system as to why starting fails. If we do, we log this to the console.
@@ -219,7 +222,19 @@ or if you're handling the failure condition yourself by checking ``OpenXRInterfa
219222
Extensions
220223
----------
221224

222-
This subsection provides access to various optional OpenXR extensions.
225+
This subsection allows you to enable to various optional OpenXR extensions. Keep in
226+
mind that the extensions will only work if the OpenXR runtime (SteamVR, Oculus, etc)
227+
the project is ran with supports them.
228+
229+
Debug Utils
230+
~~~~~~~~~~~
231+
232+
Enabling this will log debug messages from the XR runtime.
233+
234+
Debug Message Types
235+
~~~~~~~~~~~~~~~~~~~
236+
237+
This allows you to choose which debug messages are logged.
223238

224239
Hand Tracking
225240
~~~~~~~~~~~~~
@@ -233,6 +248,36 @@ If your game only supports controllers this should be turned off.
233248

234249
See the chapter on :ref:`hand tracking <doc_openxr_hand_tracking>` for additional details.
235250

251+
Hand Tracking Unobstructed Data Source
252+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
253+
254+
Enabling this means hand tracking may use the exact position of fingers, usually
255+
what a headset camera sees.
256+
257+
Hand Tracking Controller Data Source
258+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
259+
260+
Enabling this means hand tracking may use the controller itself, and infer where
261+
fingers are based on controller input or sensors on the controller.
262+
263+
Hand Interaction Profile
264+
~~~~~~~~~~~~~~~~~~~~~~~~
265+
266+
Enabling this extension allows the use of two new hand tracking poses. Pinch pose
267+
which is the location between the thumb and index finger pointing forward, and poke
268+
pose which is at the tip of the index finger.
269+
270+
This also allows 3 more gesture based inputs. Pinch, when the user pinches their
271+
thumb and index finger together. Aim activation, when the index finger is fully
272+
extended. And Grasps, when the user makes a fist.
273+
274+
When a hand interaction profile and controller interaction profile are supplied, the
275+
runtime will switch between profiles depending on if optical tracking is used or if
276+
the user is holding a controller.
277+
278+
If only a hand interaction profile is supplied any runtime should use hand
279+
interaction even if a controller is being held.
280+
236281
Eye Gaze Interaction
237282
~~~~~~~~~~~~~~~~~~~~
238283

@@ -253,3 +298,19 @@ and set its ``tracker`` property to ``/user/eyes_ext``
253298
and set its ``pose`` property to ``eye_pose``.
254299

255300
Now you can add things to this controller node such as a raycast, and control things with your eyes.
301+
302+
Binding Modifiers
303+
-----------------
304+
305+
These control whether or not binding modifiers can be used. Binding modifiers are
306+
used to apply thresholds or offset values.
307+
308+
Analog Threshold
309+
~~~~~~~~~~~~~~~~
310+
311+
Allow analog threshold binding modifiers.
312+
313+
Dpad Binding
314+
~~~~~~~~~~~~
315+
316+
Allow D-pad binding modifiers.

0 commit comments

Comments
 (0)