前言
实际生活中物体表面的明暗效果是会受到光照的影响,three.js中有多种类型的光源可用于场景渲染。
光源类型
以下是一些常用的光源类型:
- AmbientLight(环境光):均匀地照亮整个场景,没有特定的方向和位置。它不会产生阴影效果。
- DirectionalLight(平行光):具有明确定义的方向,类似于太阳光。它照射到场景中的所有物体,产生明暗的效果,并可以生成阴影。
- PointLight(点光源):从一个点向所有方向发射光线,类似于灯泡。它可以产生明暗的效果,并可以生成阴影。
- SpotLight(聚光灯):类似于点光源,但具有限定的照射范围和方向。它可以产生明暗的效果,并可以生成阴影。
- HemisphereLight(半球光):类似于环境光,但具有两个不同的颜色,用于模拟天空光照效果。它不会产生阴影效果。
- RectAreaLight (矩形区域光)是一种特殊类型的光源,它模拟了一个矩形区域发射光线。与其他光源不同, 它不是从一个点或方向发射光线,而是从一个矩形区域发射光线,类似于一个面光源。
RectAreaLight
光源可以用于模拟矩形区域的光照效果,例如窗户或屏幕的光照。但这个不支持阴影效果
AmbientLight(环境光)
PointLight(点光源)
DirectionalLight(平行光)
SpotLight(聚光灯)
HemisphereLight(半球光)
RectAreaLight (矩形区域光)
总结
光源在three.js中的存在意义是为了增强场景的真实感、提供视觉导向、突出物体细节、创造氛围和情感,并实现特定的视觉效果。它们是模拟真实世界光照的重要工具,为场景增添了更多的视觉魅力。