【Unity】环境光探究,在shader中如何计算 : Ambient Color, Sky Color, Equator Color, Ground Color

环境光

接触过光照模型的小伙伴肯定对环境光不陌生,比如phong光照模型,渲染结果就是下面几项的线性叠加:
环境光+漫反射+高光
而一般情况我们在Shader中计算环境光也是简单的不能再简单了,直接可以从Unity的宏定义中拿到环境光颜色值: UNITY_LIGHTMODEL_AMBIENT.xyz
他的定义是这样的

#define UNITY_LIGHTMODEL_AMBIENT (glstate_lightmodel_ambient * 2)

接下来就是设置环境光并进行测试.

设置

通过Window->Rendering->Lighting Settings打开Lighting面板
在这里插入图片描述
美术同学应该比较熟悉,通过可以方便的调整整个场景的色调,而且不是额外加入点光源的方式,也能省下不少开销. 这里有三种模式可选,Skybox 和 Color 都只支持单一颜色,面板如下:
在这里插入图片描述在这里插入图片描述

计算与测试

先对这两种进行测试,建立一个场景,放置两个球,一个使用StandardSha

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值