📜  三个js环境光 - Javascript(1)

📅  最后修改于: 2023-12-03 15:06:10.320000             🧑  作者: Mango

三个 JS 环境光

在计算机图形学中,环境光是常见的一种光照效果,它是指场景中所有物体受到的来自各个方向的散射光。在 JavaScript 中,我们可以使用三个不同的环境光来模拟不同的场景效果:Ambient Light、Hemisphere Light 和 Directional Light。

Ambient Light

Ambient Light(环境光)是一种均匀的光照模型,它模拟了场景中的全局光照效果。在 Three.js 中,我们可以通过以下代码创建一个环境光:

const ambientLight = new THREE.AmbientLight(color, intensity);

其中,color 指定了环境光的颜色,可以是一个 CSS 颜色字符串或者一个十六进制数值;而 intensity 则指定了环境光的强度,通常为 0 到 1 之间的数值。

Hemisphere Light

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

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);

其中,colorintensity 分别指定了定向光的颜色和强度,而 position 则指定了定向光的位置。

以上就是 JavaScript 中三种不同的环境光模拟效果,根据不同的场景需要,我们可以选择适合的环境光效果来模拟真实的光照效果。