three.js FirstPersonControls

2023-02-16 17:49 更新

該類是 FlyControls 的另一個實現(xiàn)。

例子

webgl / geometry / terrain

構(gòu)造函數(shù)

FirstPersonControls( object : Camera, domElement : HTMLDOMElement )

object: 被控制的攝像機(jī)。

domElement: 用于事件監(jiān)聽的HTML元素。

創(chuàng)建一個新的 FirstPersonControls 實例。

屬性

.activeLook : Boolean

是否能夠環(huán)視四周。默認(rèn)為true。

.autoForward : Boolean

攝像機(jī)是否自動向前移動。默認(rèn)為false。

.constrainVertical : Boolean

垂直環(huán)視是否約束在[.verticalMin, .verticalMax]之間。默認(rèn)值為false。

.domElement : HTMLDOMElement

該 HTMLDOMElement 用于監(jiān)聽鼠標(biāo)/觸摸事件,該屬性必須在構(gòu)造函數(shù)中傳入。在此處改變它將不會設(shè)置新的事件監(jiān)聽。

.enabled : Boolean

是否啟用控制器。默認(rèn)為true。

.heightCoef : Number

確定當(dāng)相機(jī)的 y 分量接近 .heightMax 時相機(jī)移動的速度。默認(rèn)值為 1。

.heightMax : Number

用于移動速度調(diào)整的相機(jī)高度上限。默認(rèn)值為 1。

.heightMin : Number

用于移動速度調(diào)整的下攝像機(jī)高度限制。默認(rèn)為 0。

.heightSpeed : Boolean

攝像機(jī)的高度是否影響向前移動的速度。默認(rèn)值為false。 使用屬性 .heightCoef、 .heightMin 和 .heightMax 來進(jìn)行配置。

.lookVertical : Boolean

是否能夠垂直環(huán)視。默認(rèn)為true。

.lookSpeed : Number

環(huán)視速度。默認(rèn)為0.005。

.mouseDragOn : Boolean

鼠標(biāo)是否被按下。只讀屬性。

.movementSpeed : Number

移動速度。默認(rèn)為1。

.object : Camera

被控制的攝像機(jī)。

.verticalMax : Number

你能夠垂直環(huán)視角度的上限。范圍在 0 到 Math.PI 弧度之間。默認(rèn)為Math.PI。

.verticalMin : Number

你能夠垂直環(huán)視角度的下限。范圍在 0 到 Math.PI 弧度之間。默認(rèn)為0。

方法

.dispose () : undefined

若不再需要該控制器,則應(yīng)當(dāng)調(diào)用此函數(shù)。

.handleResize () : undefined

若應(yīng)用程序窗口大小發(fā)生改變,則應(yīng)當(dāng)調(diào)用此函數(shù)。

.lookAt ( vector : Vector3 ) : FirstPersonControls.lookAt ( x : Float, y : Float, z : Float ) : FirstPersonControls

vector - 一個表示目標(biāo)位置的向量。

或者,世界空間位置的x、y、z分量。

確??刂破鲗⑾鄼C(jī)方向朝向到所傳入的目標(biāo)的位置。

.update ( delta : Number ) : undefined

delta: Time delta value.

更新控制器,常被用在動畫循環(huán)中。

源代碼

examples/jsm/controls/FirstPersonControls.js


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號