@@ -9,8 +9,11 @@ we will only discuss the settings in the core of Godot here.
9
9
10
10
.. image :: img/openxr_settings.webp
11
11
12
+ General settings
13
+ ----------------
14
+
12
15
Enabled
13
- -------
16
+ ~~~~~~~
14
17
15
18
This setting enables the OpenXR module when Godot starts.
16
19
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.
21
24
You can use the ``--xr-mode on `` command line switch to force this to on.
22
25
23
26
Default Action Map
24
- ------------------
27
+ ~~~~~~~~~~~~~~~~~~
25
28
26
29
This specifies the path of the action map file that OpenXR will load and communicate to the XR Runtime.
27
30
28
31
Form Factor
29
- -----------
32
+ ~~~~~~~~~~~
30
33
31
34
This specifies whether your game is designed for:
32
35
@@ -36,7 +39,7 @@ This specifies whether your game is designed for:
36
39
If the device on which you run your game does not match the selection here, OpenXR will fail to initialise.
37
40
38
41
View Configuration
39
- ------------------
42
+ ~~~~~~~~~~~~~~~~~~
40
43
41
44
This specifies the view configuration your game is designed for:
42
45
@@ -51,7 +54,7 @@ If the device on which you run your game does not match the selection here, Open
51
54
These may be supported in the near future.
52
55
53
56
Reference Space
54
- ---------------
57
+ ~~~~~~~~~~~~~~~
55
58
56
59
Within XR all elements like the player's head and hands are tracked within a tracking volume.
57
60
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.
60
63
In OpenXR these scenarios are well defined and selected by setting a reference space.
61
64
62
65
Local
63
- ~~~~~
66
+ ^^^^^
64
67
65
68
The local reference space places our origin point at the player's head by default.
66
69
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.
83
86
You should **not ** call ``center_on_hmd `` when using this reference space.
84
87
85
88
Stage
86
- ~~~~~
89
+ ^^^^^
87
90
88
91
The stage reference space is our default reference space and places our origin point at the center of our play space.
89
92
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:`
111
114
Any other XR tracked elements such as controllers or anchors will also be adjusted accordingly.
112
115
113
116
Local Floor
114
- ~~~~~~~~~~~
117
+ ^^^^^^^^^^^
115
118
116
119
The local floor reference space is similar to the local reference space as it positions the origin point where the player is.
117
120
In this mode however the height of the player is kept.
@@ -146,7 +149,7 @@ so your game can react accordingly.
146
149
You should **not ** call ``center_on_hmd `` when using this reference space.
147
150
148
151
Environment Blend Mode
149
- ----------------------
152
+ ~~~~~~~~~~~~~~~~~~~~~~
150
153
151
154
The environment blend mode defines how our rendered output is blended into "the real world" provided this is supported by the headset.
152
155
@@ -166,7 +169,7 @@ If a mode is selected that is not supported by the headset, the first available
166
169
.. _doc_openxr_settings_foveation_level :
167
170
168
171
Foveation Level
169
- ---------------
172
+ ~~~~~~~~~~~~~~~
170
173
171
174
Sets the foveation level used when rendering provided this feature is supported by the hardware used.
172
175
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
182
185
This feature is disabled if post effects are used such as glow, bloom, or DOF.
183
186
184
187
Foveation Dynamic
185
- -----------------
188
+ ~~~~~~~~~~~~~~~~~
186
189
187
190
When enabled the foveation level will be adjusted automatically depending on current GPU load.
188
191
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.
192
195
**Compatibility renderer only **
193
196
194
197
Submit Depth Buffer
195
- -------------------
198
+ ~~~~~~~~~~~~~~~~~~~
196
199
197
200
If enabled an OpenXR supplied depth buffer will be used while rendering which is submitted alongside the rendered image.
198
201
The XR runtime can use this for improved reprojection.
@@ -203,7 +206,7 @@ The XR runtime can use this for improved reprojection.
203
206
it is advised to leave this setting off unless it provides noticeable benefits for your use case.
204
207
205
208
Startup Alert
206
- -------------
209
+ ~~~~~~~~~~~~~
207
210
208
211
If enabled, this will result in an alert message presented to the user if OpenXR fails to start.
209
212
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
219
222
Extensions
220
223
----------
221
224
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.
223
238
224
239
Hand Tracking
225
240
~~~~~~~~~~~~~
@@ -233,6 +248,36 @@ If your game only supports controllers this should be turned off.
233
248
234
249
See the chapter on :ref: `hand tracking <doc_openxr_hand_tracking >` for additional details.
235
250
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
+
236
281
Eye Gaze Interaction
237
282
~~~~~~~~~~~~~~~~~~~~
238
283
@@ -253,3 +298,19 @@ and set its ``tracker`` property to ``/user/eyes_ext``
253
298
and set its ``pose `` property to ``eye_pose ``.
254
299
255
300
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