var renderer = new v3d.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var scene = new v3d.Scene();
var camera = new v3d.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 10000);
var controls = new v3d.OrbitControls(camera);
//controls.update() must be called after any manual changes to the camera's transform
camera.position.set(0, 20, 100);
controls.update();
function animate() {
requestAnimationFrame(animate);
// required if controls.enableDamping or controls.autoRotate are set to true
controls.update();
renderer.render(scene, camera);
}
domElement: (optional) The HTML element used for event listeners. By default this is the whole document,
however if you only want to the controls to work over a specific element (e.g. the canvas) you can specify that here.
How fast to rotate around the target object if # .autoRotate : Booleanis true. Default is 2.0, which equates to 30 seconds
per rotation at 60fps. Note that if # .autoRotate : Booleanis enabled, you must call .update
() in your animation loop.
The HTMLDOMElement used to listen for mouse / touch events. This must be passed in the constructor; changing it here will
not set up new event listeners. Default is the whole document.
Whether to enable damping (inertia), which is used to give a sense of
weight to the controls. Default is true.
Note that if this is enabled, you must call .update () in your
animation loop.
Enable or disable horizontal and vertical rotation of the camera. Default is true.
Note that it is possible to disable a single axis by setting the min and max of the
polar angle or azimuth angle to the same value,
which will cause the vertical or horizontal rotation to be fixed at that value.
This object contains references to the keycodes for controlling camera panning. Default is the 4 arrow keys.
controls.keys = {
LEFT: 37, //left arrow
UP: 38, // up arrow
RIGHT: 39, // right arrow
BOTTOM: 40 // down arrow
}
See this page for a full
list of keycodes.
This object contains references to the mouse buttons used for the controls.
controls.mouseButtons = {
ROTATE: v3d.MOUSE.LEFT,
ZOOM: v3d.MOUSE.MIDDLE,
PAN: v3d.MOUSE.RIGHT
}
Defines how the camera's position is translated when panning. If true, the
camera pans in screen space. Otherwise, the camera pans in the plane
orthogonal to the camera's up direction. Default is true.
An Object3D which position in the world space acts as the focus point of
the controls, the .object orbits around this. It can be updated
manually at any point to change the focus of the controls.
toPosition -- The new position of the camera.
toTarget -- The new target point.
time -- The length of the tween animation.
finishCb -- A callback to be called after the tween animation ends.
movementType -- The movement interpolation. Can be
v3d.TweenLinear (default) or v3d.TweenSpherical.
Change the camera's current position and target point to the specified new
position and target smoothly over the specified time.
Update the controls. Must be called after any manual changes to the camera's transform,
or in the update loop if .autoRotate or .enableDamping are set.
Source
For more info on how to obtain the source code of this module see this page.