W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
光線從一個點沿一個方向射出,隨著光線照射的變遠,光線圓錐體的尺寸也逐漸增大。
該光源可以投射陰影。
// white spotlight shining from the side, modulated by a texture, casting a shadow
const spotLight = new THREE.SpotLight( 0xffffff );
spotLight.position.set( 100, 1000, 100 );
spotLight.map = new THREE.TextureLoader().load( url );
spotLight.castShadow = true;
spotLight.shadow.mapSize.width = 1024;
spotLight.shadow.mapSize.height = 1024;
spotLight.shadow.camera.near = 500;
spotLight.shadow.camera.far = 4000;
spotLight.shadow.camera.fov = 30;
scene.add( spotLight );
color - (可選參數(shù)) 十六進制光照顏色。 缺省值 0xffffff (白色)。
intensity - (可選參數(shù)) 光照強度。 缺省值 1。
distance - 從光源發(fā)出光的最大距離,其強度根據(jù)光源的距離線性衰減。
angle - 光線散射角度,最大為Math.PI/2。
penumbra - 聚光錐的半影衰減百分比。在0和1之間的值。默認為0。
decay - 沿著光照距離的衰減量。
創(chuàng)建一個新的聚光燈。
公共屬性請查看基類Light。
從聚光燈的位置以弧度表示聚光燈的最大范圍。應該不超過 Math.PI/2。默認值為 Math.PI/3。
此屬性設置為 true 聚光燈將投射陰影。警告: 這樣做的代價比較高而且需要一直調整到陰影看起來正確。 查看 SpotLightShadow 了解詳細信息。 默認值為 false
燈光沿燈光距離變暗的量。默認值為 2。在物理正確渲染的上下文中,不應更改默認值。
如果非零,那么光強度將會從最大值當前燈光位置處按照距離線性衰減到0。 缺省值為 0.0。
只讀標志,用于檢查給定對象是否屬于 SpotLight 類型。
聚光錐的半影衰減百分比。在0和1之間的值。 默認值 — 0.0。
假如這個值設置等于 Object3D.DefaultUp (0, 1, 0),那么光線將會從上往下照射。
光功率在 physically correct 模式中, 表示以"流明(光通量單位)"為單位的光功率。 缺省值 - 4Math.PI。
該值與 intensity 直接關聯(lián)
power = intensity * 4π
修改該值也會導致光強度的改變。
SpotLightShadow用與計算此光照的陰影。
聚光燈的方向是從它的位置到目標位置.默認的目標位置為原點 (0,0,0)。注意: 對于目標的位置,要將其更改為除缺省值之外的任何位置,它必須被添加到 scene 場景中去。
scene.add( light.target );
這使得屬性target中的 matrixWorld 會每幀自動更新。
它也可以設置target為場景中的其他對象(任意擁有 position 屬性的對象), 示例如下:
const targetObject = new THREE.Object3D();
scene.add(targetObject);
light.target = targetObject;
完成上述操作后,聚光燈現(xiàn)在就可以追蹤到目標對像了。
用于調制光顏色的紋理。聚光燈顏色與該紋理的 RGB 值混合,其比率對應于其 alpha 值。使用像素值 (0, 0, 0, 1-cookie_value) 再現(xiàn)類似 cookie 的掩蔽效果。警告:如果 castShadow : SpotLight 為 false,則 map : SpotLight 被禁用。
公共方法請查看基類 Light。
將所有屬性的值從源 source 復制到此聚光燈光源對象。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: