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

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

image.png
从而实现了模拟模型法线向上的部分天空光线照射到物体上,法线向下的部分接收来自于地面的反射环境光。
半球光不能投射阴影。
HemisphereLight类构造:
skyColor - (可选参数) 天空中发出光线的颜色。 缺省值 0xffffff。
groundColor - (可选参数) 地面发出光线的颜色。 缺省值 0xffffff。
intensity - (可选参数) 光照强度。 缺省值 1。
HemisphereLight类属性:
position,设置半球光的中心点位置
半球光虽然Unity里面没有,但个人觉得还是比较有用的,可以取代环境光提亮场景,类似于一个简易的环境球,还能区分细节(地面光通常比较暗)。
Unity中通常在shader中使用简单的半兰伯特来模拟类似的效果。
本文介绍了Unity中缺失的半球光概念及其原理,包括从下往上的平行光和从上半球向中心点的光的组合,用于模拟物体受到天空和地面光线的影响。半球光不投射阴影,适合用作环境光提升场景亮度,区分地面上的光影细节。在Unity中,可以通过自定义Shader使用简单的兰伯特模型来实现类似效果。
934

被折叠的 条评论
为什么被折叠?



