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:
Worup- go forwardSordown- go backwardAorleft- strafe leftDorright- strafe rightRorpage up- move upForpage down- move downshifttogether 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 [default: Qt.LeftButton]
Specifies the buttons accepted by the controller.
See also DragHandler and MultiPointHandler.
backSpeed : real [default: 5]
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 [default: 5]
Specifies the speed of navigation when the down key is pressed.
forwardSpeed : real [default: 5]
Specifies the speed of navigation when the forward key is pressed.
inputsNeedProcessing : bool [read-only]
This property is true when there are inputs needing processing.
keysEnabled : bool [default: true]
Enables key controls.
leftSpeed : real [default: 5]
Specifies the speed of navigation when the left key is pressed.
mouseEnabled : bool [default: true]
Enables mouse controls.
rightSpeed : real [default: 5]
Specifies the speed of navigation when the right key is pressed.
shiftSpeed : real [default: 3]
Specifies the speed multiplier that is active when the shift key is pressed.
speed : real [default: 1]
Specifies the speed of navigation.
upSpeed : real [default: 5]
Specifies the speed of navigation when the up key is pressed.
xInvert : bool [default: false]
Inverts the x-axis controls.
xSpeed : real [default: 0.1]
Specifies the speed of navigation when the mouse is moved along the X axis.
yInvert : bool [default: true]
Inverts the y-axis controls.
ySpeed : real [default: 0.1]
Specifies the speed of navigation when the mouse is moved along the Y axis.