three.js FirstPersonControls
该类是 FlyControls 的另一个实现。
例子
构造函数
FirstPersonControls( object : Camera, domElement : HTMLDOMElement )
object: 被控制的摄像机。
domElement: 用于事件监听的HTML元素。
创建一个新的 FirstPersonControls 实例。
属性
.activeLook : Boolean
是否能够环视四周。默认为true。
.autoForward : Boolean
摄像机是否自动向前移动。默认为false。
.constrainVertical : Boolean
垂直环视是否约束在[.verticalMin, .verticalMax]之间。默认值为false。
.domElement : HTMLDOMElement
该 HTMLDOMElement 用于监听鼠标/触摸事件,该属性必须在构造函数中传入。在此处改变它将不会设置新的事件监听。
.enabled : Boolean
是否启用控制器。默认为true。
.heightCoef : Number
确定当相机的 y 分量接近 .heightMax 时相机移动的速度。默认值为 1。
.heightMax : Number
用于移动速度调整的相机高度上限。默认值为 1。
.heightMin : Number
用于移动速度调整的下摄像机高度限制。默认为 0。
.heightSpeed : Boolean
摄像机的高度是否影响向前移动的速度。默认值为false。 使用属性 .heightCoef、 .heightMin 和 .heightMax 来进行配置。
.lookVertical : Boolean
是否能够垂直环视。默认为true。
.lookSpeed : Number
环视速度。默认为0.005。
.mouseDragOn : Boolean
鼠标是否被按下。只读属性。
.movementSpeed : Number
移动速度。默认为1。
.object : Camera
被控制的摄像机。
.verticalMax : Number
你能够垂直环视角度的上限。范围在 0 到 Math.PI 弧度之间。默认为Math.PI。
.verticalMin : Number
你能够垂直环视角度的下限。范围在 0 到 Math.PI 弧度之间。默认为0。
方法
.dispose () : undefined
若不再需要该控制器,则应当调用此函数。
.handleResize () : undefined
若应用程序窗口大小发生改变,则应当调用此函数。
.lookAt ( vector : Vector3 ) : FirstPersonControls.lookAt ( x : Float, y : Float, z : Float ) : FirstPersonControls
vector - 一个表示目标位置的向量。
或者,世界空间位置的x、y、z分量。
确保控制器将相机方向朝向到所传入的目标的位置。
.update ( delta : Number ) : undefined
delta: Time delta value.
更新控制器,常被用在动画循环中。
源代码
examples/jsm/controls/FirstPersonControls.js
更多建议: