1、原理
物体表面反射光线是由三部分组成:环境光 + 漫反射光 + 镜面反射光(高光反射光)
2、Shader 中的环境光
环境光变量其实是可以在Unity中进行设置的
Window——> Rendering——> Lighting
Environment(环境)页签中的Environment Lighting(环境光)
这里可以设置环境光来源
当是Skybox和Color时,我们可以通过 UNITY_LIGHTMODEL_AMBIENT 获取到对应环境光颜色
当是Gradient(渐变)时,通过以下3个成员可以得到对应的环境光
- unity_AmbientSky(周围的天空环境光)
- unity_AmbientEquator(周围的赤道环境光)
- unity_AmbientGround(周围的地面环境光)
3、Phong光照模型的公式
物体表面光照颜色 = 环境光颜色 + 漫反射光颜色 + 高光反射光颜色
其中:
- 环境光颜色 = UNITY_LIGHTMODEL_AMBIENT(unity_AmbientSky、unity_AmbientEquator、unity_AmbientGround)
- 漫反射光颜色 = 兰伯特光照模型 计算得到的颜色
- 高光反射光颜色 = Phong式高光反射光照模型 计算得到的颜色
PS:两个颜色相乘和相加的区别
相乘: 颜色相乘时,最终颜色会往黑色靠拢,计算两个颜色混合时一般用颜色相乘,因为真实世界中多个颜色混在一起最终会变成黑色

最低0.47元/天 解锁文章
1520

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



