<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <base href="../../../" /> <script src="page.js"></script> <link type="text/css" rel="stylesheet" href="page.css" /> </head> <body> <h1>[name]</h1> <p class="desc"> This class is an alternative implementation of [page:FlyControls]. </p> <h2>Import</h2> <p> [name] is an add-on, and must be imported explicitly. See [link:#manual/introduction/Installation Installation / Addons]. </p> <code> import { FirstPersonControls } from 'three/addons/controls/FirstPersonControls.js'; </code> <h2>Examples</h2> <p>[example:webgl_geometry_terrain webgl / geometry / terrain ]</p> <h2>Constructor</h2> <h3>[name]( [param:Camera object], [param:HTMLDOMElement domElement] )</h3> <p> [page:Camera object]: The camera to be controlled. </p> <p> [page:HTMLDOMElement domElement]: The HTML element used for event listeners. </p> <p> Creates a new instance of [name]. </p> <h2>Properties</h2> <h3>[property:Boolean activeLook]</h3> <p> Whether or not it's possible to look around. Default is `true`. </p> <h3>[property:Boolean autoForward]</h3> <p> Whether or not the camera is automatically moved forward. Default is `false`. </p> <h3>[property:Boolean constrainVertical]</h3> <p> Whether or not looking around is vertically constrained by [[page:.verticalMin], [page:.verticalMax]]. Default is `false`. </p> <h3>[property:HTMLDOMElement domElement]</h3> <p> 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. </p> <h3>[property:Boolean enabled]</h3> <p> Whether or not the controls are enabled. Default is `true`. </p> <h3>[property:Number heightCoef]</h3> <p> Determines how much faster the camera moves when it's y-component is near [page:.heightMax]. Default is *1*. </p> <h3>[property:Number heightMax]</h3> <p> Upper camera height limit used for movement speed adjustment. Default is *1*. </p> <h3>[property:Number heightMin]</h3> <p> Lower camera height limit used for movement speed adjustment. Default is *0*. </p> <h3>[property:Boolean heightSpeed]</h3> <p> Whether or not the camera's height influences the forward movement speed. Default is `false`. Use the properties [page:.heightCoef], [page:.heightMin] and [page:.heightMax] for configuration. </p> <h3>[property:Boolean lookVertical]</h3> <p> Whether or not it's possible to vertically look around. Default is `true`. </p> <h3>[property:Number lookSpeed]</h3> <p> The look around speed. Default is `0.005`. </p> <h3>[property:Boolean mouseDragOn]</h3> <p> Whether or not the mouse is pressed down. Read-only property. </p> <h3>[property:Number movementSpeed]</h3> <p> The movement speed. Default is *1*. </p> <h3>[property:Camera object]</h3> <p> The camera to be controlled. </p> <h3>[property:Number verticalMax]</h3> <p> How far you can vertically look around, upper limit. Range is 0 to Math.PI radians. Default is `Math.PI`. </p> <h3>[property:Number verticalMin]</h3> <p> How far you can vertically look around, lower limit. Range is 0 to Math.PI radians. Default is *0*. </p> <h2>Methods</h2> <h3>[method:undefined dispose] ()</h3> <p> Should be called if the controls is no longer required. </p> <h3>[method:undefined handleResize] ()</h3> <p> Should be called if the application window is resized. </p> <h3>[method:FirstPersonControls lookAt]( [param:Vector3 vector] )<br /> [method:FirstPersonControls lookAt]( [param:Float x], [param:Float y], [param:Float z] )</h3> <p> <p> <p> vector - A vector representing the target position. </p> <p> Optionally, the x, y, z components of the world space position. </p> </p> <p> Ensures the controls orient the camera towards the defined target position. </p> </p> <h3>[method:undefined update] ( [param:Number delta] )</h3> <p> <p> [page:Number delta]: Time delta value. </p> <p> Updates the controls. Usually called in the animation loop. </p> </p> <h2>Source</h2> <p> [link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/controls/FirstPersonControls.js examples/jsm/controls/FirstPersonControls.js] </p> </body> </html>