gl-movable-camera v1.0.1
gl-movable-camera
A camera that can easily be moved and turned.
The camera is defined by the three vectors
up, which is always the vector(0,1,0)viewDir, the viewing direction, which can be controlled through the API.right, which is the cross product ofupandviewdir
Demo
A demo is provided: http://erkaman.github.io/gl-movable-camera/
The camera in the demo is controlled as follows:
- Keys
WandSare used to walk forward and backward. - Keys
AandDare used to stride left and right. - Keys
OandLare used to fly up and down. - Hold down the key
Mto speed up the camera. - Hold down the left mouse button and move the mouse to turn the camera.
Install
npm install gl-movable-cameraAPI
var createMovableCamera = require('gl-movable-camera')Constructor
var camera = createMovableCamera([opts])
Creates a movable camera. The optional arguments are
opts.positionInitial position of the cameraopts.viewDirInitial viewing direciton of the camera.
Methods
camera.view(view)
Yields the view matrix of the camera.
camera.turn (head, pitch)
Rotates the viewing direction head radians around up, and
rotates the viewing direction pitch radians around right.
camera.walk(walkForward)
If walkForward is true, walk velocity units in the direction of
viewDir. Else, walk backward.
camera.stride(strideRight)
If strideRight is true, stride velocity units in the direction of
right. Else, stride in the opposite direciton.
camera.fly(flyUp)
If flyUp is true, fly velocity units in the direction of
up. Else, fly down in the opposite direciton.
camera.velocity
By setting this variable, you can control the movement speed of the camera.
camera.turning
By setting this variable, you can control the turning velocity of the camera.
