The FirstPersonView
class is a subclass of View that describes a camera placed at a provided location, looking towards the direction and orientation specified by viewState
. The behavior is similar to that of a first-person game.
It's recommended that you read the Views and Projections guide before using this class.
import {FirstPersonView} from '@deck.gl/core';
new FirstPersonView({id, ...});
FirstPersonView
takes the same parameters as the View superclass constructor, plus the following:
Projection matrix.
If projectionMatrix
is not supplied, the View
class will build a projection matrix from the following parameters:
Field of view covered by camera, in the perspective case. In degrees. Default 75
.
Distance of near clipping plane. Default 0.1
.
Distance of far clipping plane. Default 1000
.
Modifier of viewport scale. Corresponds to the number of pixels per meter. Default 1
.
To render, a FirstPersonView
needs to be combined with a viewState
object with the following parameters:
longitude
(number, optional) - longitude of the cameralatitude
(number, optional) - latitude of the camera
position
(number[3], optional) - meter offsets of the camera from the lng-lat anchor point. Default[0, 0, 0]
.bearing
(number, optional) - bearing angle in degrees. Default0
(north).pitch
(number, optional) - pitch angle in degrees. Default0
(horizontal).
maxPitch
(number, optional) - max pitch angle. Default90
(down).minPitch
(number, optional) - min pitch angle. Default-90
(up).
By default, FirstPersonView
uses the FirstPersonController
to handle interactivity. To enable the controller, use:
const view = new FirstPersonView({id: 'pov', controller: true});
Visit the FirstPersonController documentation for a full list of supported options.