Three.js光线(三)

  多种光源同时存在于场景之中,对物体颜色的影响:可以把这种情况想成两种光源同时作用于物体,它产生的情况,和每种光源分别作用于物体,然后将两者的结果相加,是一样的效果。

一、环境光与方向光

function initLight() {
    light = new THREE.AmbientLight(0x00FF00);
    light.position.set(100, 100, 200);
    scene.add(light);

    // 方向光
    light = new THREE.DirectionalLight(0xFF0000);
    light.position.set(0, 0,1);
    scene.add(light);
}

当只有环境光时,效果如图所示:

只有方向光时:效果如图所示:

环境光和方向光混合效果如图所示:

总结一下:

1.首先方向光,是如图箭头的方向着色到物体的。而环境光由于与位置没有关系,方向又是任何方向都可以照射的,所以我们不管光的方向。

2、图中绿色的部分,是由环境光造成的。由于方向光根本照射不到绿色的部分,所以,这部分只有环境光对其影响。

3、图中黄色的部分是由环境光和方向光共同作用而成的,其实是两种光源颜色的简单相加,

0x00FF00 + 0xFF0000 = 0xFFFF00,oxFFFF00 就是黄色。

【注】:一个面分前后两个面的,只有被光源照射的那个面才能够被看到。

猜你喜欢

转载自www.cnblogs.com/shenjie0507/p/9077077.html