ThreeJS-聚光等衰减(二十一)

聚光灯可以联系到现实中的手电筒

ThreeJS-聚光等衰减(二十一)_第1张图片

衰减分为:距离衰减和边缘衰减

ThreeJS-聚光等衰减(二十一)_第2张图片

.decay : Float(控制的是灯光自身的亮度)

The amount the light dims along the distance of the light. Default is 2.
In context of physically-correct rendering the default value should not be changed.

.distance : Float(距离衰减)

如果非零,那么光强度将会从最大值当前灯光位置处按照距离线性衰减到0。 缺省值为 0.0

.penumbra : Float(边缘衰减)

聚光锥的半影衰减百分比。在0和1之间的值。 默认值 — 0.0。

距离衰减

关键代码:

            //灯光有效距离,默认0表示不衰减
            directionalLight.distance = 0;
            gui.add(directionalLight, 'distance').min(0).max(100).step(1).name("灯光有效距离");

完整代码:

效果图:

灯边缘衰减

关键代码:

//边缘衰减

gui.add(directionalLight, 'penumbra').min(0).max(1).step(0.01).name("灯光边缘衰减");

完整代码:

效果图:

衰减量(属于距离衰减,衰减量越大,距离越近)

 关键代码:

            //灯光衰减量控制
            directionalLight.decay = 2;
            gui.add(directionalLight, 'decay').min(-5).max(5).step(1).name("灯光衰减量");
            //需要渲染器开启物理渲染
            render.physicallyCorrectLights =true;

完整代码:

效果图:

ThreeJS-聚光等衰减(二十一)_第3张图片

你可能感兴趣的:(前端,html,java)