多种光源同时存在于场景之中,对物体颜色的影响:可以把这种情况想成两种光源同时作用于物体,它产生的情况,和每种光源分别作用于物体,然后将两者的结果相加,是一样的效果。
一、环境光与方向光
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 就是黄色。
【注】:一个面分前后两个面的,只有被光源照射的那个面才能够被看到。