Three.js光源梳理4——半球光(HemisphereLight)

半球光是一个比较有意思的光,Unity中是没有这种光的,半球光的图示如下:

Three.js光源梳理4——半球光(HemisphereLight)_第1张图片
半球光

半球光的原理由两部分组成,一部分是从下往上的平行光,一部分是从上半球往中心点的光。如下:

Three.js光源梳理4——半球光(HemisphereLight)_第2张图片
image.png

从而实现了模拟模型法线向上的部分天空光线照射到物体上,法线向下的部分接收来自于地面的反射环境光。

半球光不能投射阴影。

HemisphereLight类构造:
skyColor - (可选参数) 天空中发出光线的颜色。 缺省值 0xffffff。
groundColor - (可选参数) 地面发出光线的颜色。 缺省值 0xffffff。
intensity - (可选参数) 光照强度。 缺省值 1。

HemisphereLight类属性:
position,设置半球光的中心点位置

半球光虽然Unity里面没有,但个人觉得还是比较有用的,可以取代环境光提亮场景,类似于一个简易的环境球,还能区分细节(地面光通常比较暗)。

Unity中通常在shader中使用简单的半兰伯特来模拟类似的效果。

你可能感兴趣的:(unity,shader,unity3d,反射,webgl)