Qt 5.7 | Qt 3D | C++ Classes | QFirstPersonCameraController

Qt 5.7.1 Reference Documentation

# QFirstPersonCameraController Class

(Qt3DExtras::QFirstPersonCameraController)

The QFirstPersonCameraController class allows controlling the scene camera from the first person perspective. More...

Header: | #include <QFirstPersonCameraController>
qmake: | QT += 3dextras
Since: | Qt 5.7
Inherits: | Qt3DCore::QEntity

- List of all members, including inherited members

## Properties

- camera : Qt3DRender::QCamera *
- linearSpeed : float
- lookSpeed : float

- 2 properties inherited from Qt3DCore::QNode

## Public Functions

| QFirstPersonCameraController(Qt3DCore::QNode *parent = nullptr)
| ~QFirstPersonCameraController()
Qt3DRender::QCamera * | camera() const
float | linearSpeed() const
float | lookSpeed() const
void | setCamera(Qt3DRender::QCamera *camera)
void | setLinearSpeed(float linearSpeed)
void | setLookSpeed(float lookSpeed)

- 4 public functions inherited from Qt3DCore::QEntity
- 6 public functions inherited from Qt3DCore::QNode

## Signals

void | cameraChanged()
void | linearSpeedChanged()
void | lookSpeedChanged()

- 3 signals inherited from Qt3DCore::QNode

### Additional Inherited Members

- 2 public slots inherited from Qt3DCore::QNode
- 2 protected functions inherited from Qt3DCore::QNode

## Detailed Description

The QFirstPersonCameraController class allows controlling the scene camera from the first person perspective.

The controls are:

Input | Action
--- | ---
Left mouse button | While the left mouse button is pressed, mouse movement along x-axis pans the camera and movement along y-axis tilts it.
Shift key | Turns the fine motion control active while pressed. Makes mouse pan and tilt less sensitive.
Arrow keys | Move the camera horizontally relative to camera viewport.
Page up and page down keys | Move the camera vertically relative to camera viewport.

## Property Documentation

### camera : Qt3DRender::QCamera *

Holds the currently controlled camera.

Access functions:

Qt3DRender::QCamera * | camera() const
void | setCamera(Qt3DRender::QCamera *camera)

Notifier signal:

void | cameraChanged()

### linearSpeed : float

Holds the current linear speed of the camera controller. Linear speed determines the movement speed of the camera.

Access functions:

float | linearSpeed() const
void | setLinearSpeed(float linearSpeed)

Notifier signal:

void | linearSpeedChanged()

### lookSpeed : float

Holds the current look speed of the camera controller. The look speed determines the turn rate of the camera pan and tilt.

Access functions:

float | lookSpeed() const
void | setLookSpeed(float lookSpeed)

Notifier signal:

void | lookSpeedChanged()

## Member Function Documentation

### QFirstPersonCameraController::QFirstPersonCameraController(Qt3DCore::QNode *parent = nullptr)

Default constructs an instance of QFirstPersonCameraController.

### QFirstPersonCameraController::~QFirstPersonCameraController()

Destroys the instance of QFirstPersonCameraController.