three.js PointLight

2023-02-16 17:42 更新

從一個(gè)點(diǎn)向各個(gè)方向發(fā)射的光源。一個(gè)常見(jiàn)的例子是模擬一個(gè)燈泡發(fā)出的光。

該光源可以投射陰影。

代碼示例

const light = new THREE.PointLight( 0xff0000, 1, 100 );
light.position.set( 50, 50, 50 );
scene.add( light );

例子

lights / pointlights

effects / anaglyph

geometry / text

lensflares

構(gòu)造器(Constructor)

PointLight( color : Integer, intensity : Float, distance : Number, decay : Float )

color - (可選參數(shù))) 十六進(jìn)制光照顏色。 缺省值 0xffffff (白色)。
intensity - (可選參數(shù)) 光照強(qiáng)度。 缺省值 1。
distance - 這個(gè)距離表示從光源到光照強(qiáng)度為0的位置。 當(dāng)設(shè)置為0時(shí),光永遠(yuǎn)不會(huì)消失(距離無(wú)窮大)。缺省值 0.
decay - 沿著光照距離的衰退量。缺省值 2。

創(chuàng)建一個(gè)新的點(diǎn)光源(PointLight)。

屬性(Properties)

公共屬性請(qǐng)查看基類Light。

.castShadow : Boolean

如果設(shè)置為真光將投射動(dòng)態(tài)陰影。警告:這很昂貴并且需要調(diào)整以使陰影看起來(lái)正確。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn) PointLightShadow。默認(rèn)為假。

.decay : Float

燈光沿?zé)艄饩嚯x變暗的量。默認(rèn)值為 2。在物理正確渲染的上下文中,不應(yīng)更改默認(rèn)值。

.distance : Float

如果非零,那么光強(qiáng)度將會(huì)從最大值當(dāng)前燈光位置處按照距離線性衰減到0。 缺省值為 0.0。

.power : Float

光功率在 physically correct 模式中, 表示以"流明(光通量單位)"為單位的光功率。 缺省值 - 4Math.PI。

該值與 intensity 直接關(guān)聯(lián)

power = intensity * 4π

修改該值也會(huì)導(dǎo)致光強(qiáng)度的改變。

.shadow : PointLightShadow

PointLightShadow用與計(jì)算此光照的陰影。此對(duì)象的攝像機(jī)被設(shè)置為 fov 為90度,aspect為1, 近裁剪面 near 為0,遠(yuǎn)裁剪面far 為500的透視攝像機(jī) PerspectiveCamera。

方法(Methods)

公共方法請(qǐng)查看基類 Light。

.copy ( source : PointLight ) : this

將所有屬性的值從源 source 復(fù)制到此點(diǎn)光源對(duì)象。

Source

src/lights/PointLight.js


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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)