three.js FlyControls

2023-02-16 17:49 更新

FlyControls 啟用了一種類似于數(shù)字內(nèi)容創(chuàng)建工具(例如Blender)中飛行模式的導(dǎo)航方式。 你可以在3D空間中任意變換攝像機(jī),并且無任何限制(例如,專注于一個(gè)特定的目標(biāo))。

例子

misc / controls / fly

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

FlyControls( object : Camera, domElement : HTMLDOMElement )

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

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

創(chuàng)建一個(gè)新的 FlyControls 實(shí)例。

事件

change

當(dāng)相機(jī)已被控件轉(zhuǎn)換時(shí)觸發(fā)。

屬性

.autoForward : Boolean

若該值設(shè)為true,初始變換后,攝像機(jī)將自動(dòng)向前移動(dòng)(且不會(huì)停止)。默認(rèn)為false。

.domElement : HTMLDOMElement

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

.dragToLook : Boolean

若該值設(shè)為true,你將只能通過執(zhí)行拖拽交互來環(huán)視四周。默認(rèn)為false。

.movementSpeed : Number

移動(dòng)速度,默認(rèn)為1。

.object : Camera

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

.rollSpeed : Number

旋轉(zhuǎn)速度。默認(rèn)為0.005。

方法

.dispose () : undefined

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

.update ( delta : Number ) : undefined

delta: 時(shí)間增量值。

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

源代碼

examples/jsm/controls/FlyControls.js


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)