📅  最后修改于: 2023-12-03 15:06:10.320000             🧑  作者: Mango
在计算机图形学中,环境光是常见的一种光照效果,它是指场景中所有物体受到的来自各个方向的散射光。在 JavaScript 中,我们可以使用三个不同的环境光来模拟不同的场景效果:Ambient Light、Hemisphere Light 和 Directional Light。
Ambient Light(环境光)是一种均匀的光照模型,它模拟了场景中的全局光照效果。在 Three.js 中,我们可以通过以下代码创建一个环境光:
const ambientLight = new THREE.AmbientLight(color, intensity);
其中,color
指定了环境光的颜色,可以是一个 CSS 颜色字符串或者一个十六进制数值;而 intensity
则指定了环境光的强度,通常为 0 到 1 之间的数值。
Hemisphere Light(半球光)是一种较为真实的光照模型,它模拟了一种天空和地面互相反射的光照效果。在 Three.js 中,我们可以通过以下代码创建一个半球光:
const skyColor = new THREE.Color(0x00aaff);
const groundColor = new THREE.Color(0xffaa00);
const intensity = 1;
const hemisphereLight = new THREE.HemisphereLight(skyColor, groundColor, intensity);
其中,skyColor
指定了天空的颜色,groundColor
指定了地面的颜色,而 intensity
则指定了半球光的强度。
Directional Light(定向光)是一种模拟太阳光线的光照模型,它通过指定光线的方向和强度来模拟阳光的照射效果。在 Three.js 中,我们可以通过以下代码创建一个定向光:
const color = new THREE.Color(0xffffff);
const intensity = 1;
const directionalLight = new THREE.DirectionalLight(color, intensity);
directionalLight.position.set(x, y, z);
其中,color
和 intensity
分别指定了定向光的颜色和强度,而 position
则指定了定向光的位置。
以上就是 JavaScript 中三种不同的环境光模拟效果,根据不同的场景需要,我们可以选择适合的环境光效果来模拟真实的光照效果。