Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qt3dxr-locomotion.qdoc
Go to the documentation of this file.
1
// Copyright (C) 2024 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
3
4
/*!
5
\page qtxr-locomotion.html
6
\title Locomotion in \qxr
7
8
\brief This page describes locomotion and gives examples of moving actors in \qxr.
9
10
In fully immersive VR, the user can move around in the virtual world by walking or even
11
running with enough space, but in most cases, the user is limited to a small area and needs to
12
move around in the virtual world using some form of locomotion that allows for movement over
13
greater distances, or even terrains that aren't possible to replicate in a realistic way in the
14
real world. In VR, locomotion is the act of moving from one place to another, either by having a
15
appropriately sized area (Room Scale) or using some form of input and/or gesture other than
16
physically moving.
17
18
In VR, locomotion is achieved using different techniques. Other than room scale, the most
19
common techniques are teleportation or continuous movement. Teleportation is instantly moving
20
the user from one place to another. Continuous movement is moving the user continuously from
21
one place to another, usually using a controller or a keyboard. In both cases, it is essential
22
to design the movement to minimize motion sickness and user disorientation. Getting this right can
23
be a challenge and requires careful design and testing.
24
25
\section1 Room scale
26
27
The best way to experience VR is to have a room-scale setup where the user can walk around in
28
a large enough space. In this setup, the user can move around in the virtual world as they
29
would in the real world, but usually within a predefined space with a sufficient margin to avoid
30
walking into walls or other physical obstacles.
31
This is the most immersive way to experience VR if the user's physical environment allows it.
32
33
\section1 Teleportation
34
35
Teleportation can be done in different ways but is usually done by pointing at a location and then
36
teleporting the user to that location. To avoid causing motion sickness, some form of effect
37
is usually added to indicate that the player was indeed moved without disconnecting the
38
user's view from the real-world head motion inputs from the HMD. This can be done by fading
39
The screen turns black and then fades back to the VR view once the teleportation is done.
40
Teleportation is a good way to move around in larger virtual spaces. In \qxr, you can find a
41
reference implementation for doing freeform teleportation, see the
42
\l {Qt Quick 3D - XR Freeform Teleportation Example}{Freeform teleportation example} for more
43
information.
44
45
\section1 Continuous movement
46
47
Continuous movement is usually better suited for when the explorable area is small or when the
48
user needs more fine-grained control over the movement using a controller or a keyboard. See
49
the \l XrController documentation for more information on how to get the data from the
50
controller. As with teleportation, it is important to minimize motion sickness and
51
disorientation when using continuous movement. This can be done by, for example, adding a
52
tunneling effect or other effects that soften the movement to avoid motion sickness. This is
53
especially important when starting and stopping movement.
54
55
*/
qtquick3d
src
quick3d
doc
src
xr
qt3dxr-locomotion.qdoc
Generated on
for Qt by
1.14.0