WasdController QML Type
Control node position and orientation with keys and mouse. More...
| Import Statement: | import QtQuick3D.Helpers | 
| Inherits: | 
Properties
- acceptedButtons : enumeration
- backSpeed : real
- controlledObject : QtQuick3D::Node
- downSpeed : real
- forwardSpeed : real
- inputsNeedProcessing : bool
- keysEnabled : bool
- leftSpeed : real
- mouseEnabled : bool
- rightSpeed : real
- shiftSpeed : real
- speed : real
- upSpeed : real
- xInvert : bool
- xSpeed : real
- yInvert : bool
- ySpeed : real
Detailed Description
This helper allows the user to control a node using W, A, S, D, the arrow keys, and the mouse. Usually the controlled node is a Camera, specified in the controlledObject property.
Adding a WasdController can be highly useful both in applications that wish to provide a standard way of navigating the scene, and also as a temporary measure during development and troubleshooting, as it allows inspecting the scene at run time via familiar keyboard and mouse navigation.
The key bindings are as follows:
- Wor- up- go forward
- Sor- down- go backward
- Aor- left- strafe left
- Dor- right- strafe right
- Ror- page up- move up
- For- page down- move down
- shifttogether with other keys - move faster, depending on shiftSpeed
The following snippet shows how a WasdController object can be added. By default both key and mouse based navigation is active, so in most cases there is no further configuration needed:
 View3D {
     anchors.fill: parent
     camera: camera
     PerspectiveCamera {
         id: camera
         position: Qt.vector3d(0, 0, 600)
     }
     ...
 }
 WasdController {
     controlledObject: camera
 }
Property Documentation
| 
acceptedButtons : enumeration  | 
Specifies the buttons accepted by the controller.
See also DragHandler and MultiPointHandler.
| 
backSpeed : real  | 
Specifies the speed of navigation when the back key is pressed.
| controlledObject : QtQuick3D::Node | 
Specifies the node to control. This is typically a Camera object.
| 
downSpeed : real  | 
Specifies the speed of navigation when the down key is pressed.
| 
forwardSpeed : real  | 
Specifies the speed of navigation when the forward key is pressed.
| 
inputsNeedProcessing : bool  | 
This property is true when there are inputs needing processing.
| 
keysEnabled : bool  | 
Enables key controls.
| 
leftSpeed : real  | 
Specifies the speed of navigation when the left key is pressed.
| 
mouseEnabled : bool  | 
Enables mouse controls.
| 
rightSpeed : real  | 
Specifies the speed of navigation when the right key is pressed.
| 
shiftSpeed : real  | 
Specifies the speed multiplier that is active when the shift key is pressed.
| 
speed : real  | 
Specifies the speed of navigation.
| 
upSpeed : real  | 
Specifies the speed of navigation when the up key is pressed.
| 
xInvert : bool  | 
Inverts the x-axis controls.
| 
xSpeed : real  | 
Specifies the speed of navigation when the mouse is moved along the X axis.
| 
yInvert : bool  | 
Inverts the y-axis controls.
| 
ySpeed : real  | 
Specifies the speed of navigation when the mouse is moved along the Y axis.