Unity灯光分类
①Directional Light 平行光 用于:太阳光
②Point Light 点光源 用于:局部照明 点缀 发光物体
③Spot Light 聚光灯 用于:车灯 、手电筒、射灯
④Area Light 区域光 只对静态的物体有效果,用于烘培
⑤Reflection Group 反射探针 用于:准确反射周围环境
⑥Light Probe Group 灯光探探针组 用于:记录场景中光照信息,实时影响物体
实际应用
在创建一个新的场景时,首先要将 project setting > player > Color Space 设置成 Linear模式
原因: 这个模式下的模型颜色更为自然,阴影细节更多,颜色更亮。
Linear Space 和 Gamma Space 对比效果:
当你发现烘培的时候,Unity弹出错误:光照贴图和Mesh不符合
操作:选择mesh ,勾选 Generate Lightmap UVs (这样才能把正确的光影信息贴在模型上)
常见的阴影问题
场景里物体没有阴影,可能有以下几种原因:
①灯光没有开阴影
② project setting > quality > Shadowmask Mode > Shadowmaks✔ Distance Shadowmaks ✘
③检查mesh 的Cast Shadows 开启是否产生阴影
④ 透明物体的shader不产生阴影
全局光照GI
Realtime GI 不但预计算了我们在构建场景时,已经设定好的光在该表面中的反射,同时它还计算了任意可能的光,在该表面会造成的反射效果,这就是它和烘焙全局光不同的地方。)
Mixed Lighting混合光照模式:
Lighting Mode 的三种模式:
①Stubtractive 这种模式速度最快,但是质量最差。对于动态物体,只支持一个主灯光,模拟不出高光。
②Shadowmask (不能产生阴影实时影响物体)
③Baked Indirect 效果最好,最耗性能。(可以烘焙出动态为物体的实时阴影信息)
我们在运行游戏场景的时候,可以注意下几个地方:
FBS 帧率 (大于60以上正常)
Batches 批处理(批处理越多,性能越好)
Verts 顶点数
Shadow casters 阴影投射
烘焙光照参数详解
①将Lighting Mode> Shadowmask
②在光照贴图面板下,可以看到三张贴图
③灯光方向贴图的用途
材质法线贴图的计算,跟光源信息位置有关,是根据灯光的方向来显示哪里有凹凸细节。
④Lightmapping Settings
Lightmapper > Enlighten (烘焙灯光跟显卡没关系,是通过CPU处理的)
Lightmap Resolution 烘焙精度 (可以通过改变大小,来节省烘培的时间)
Lightmap Padding 间距 (UV信息的间距,物体的UV没有间距的话,可能显示光照信息不正确)
Lightmap Size 光照贴图尺寸
Compress Lightmaps ✔ 是否压缩关照贴图
Ambient Occlusion 环境光遮蔽,简称AO(增加光影细节)
Final Gather 最后收集(模拟更真实的效果)
Directional Mode > Directional (会烘焙灯光方向贴图) Non-Directional (不烘焙灯光方向贴图)
Indirect Intensity 间接光照强度(如果场景灯光暗,不想改变灯光强度,可以将间接光强度 *5)
Albedo Boost 反照率提高
这些参数都设置好了,想提高烘焙光照的速度,可以通过改变Mesh属性下的Scale In Lightmap的大小,来提供效率,但是会损失一些细节。
灯光探针组
记录场景中的光照信息,实时影响物体。
将游戏物体的运动范围用Light Probe Group包裹起来。如下图所示:在阴影交界处,不同颜色材质的交界处,分别放一组灯光探针组。
Post-processing参数详解
①Antialiasing 抗锯齿 (用来调节远处物体的锯齿)
②Ambient Occlusion 环境光遮罩 (可以调节场景显示的阴影效果)
③Depth Of Field 景深
④Motion Blur 运动模糊
通过调节 Frame Blending 的比率来达到某种模糊的效果。如下图所示
⑤Eye Adaptation 眼部适应 (勾选后场景会变灰)
⑥Bloom 用来做光晕效果
⑦Color Grading 颜色矫正,类似PS里面的可以调节屏幕色彩的饱和度
⑧Chromatic Aberration 色差 配合Vignette 使用可以做出光晕的效果
⑨Grain 噪点
⑩Vignette 晕影
渲染路径
Camera面板 > Rendering Path 渲染路径
①Legacy Vertex Lit 顶点光照 ,只支持光照到达顶点级别,缺失渲染细节,不支持实时阴影,但是速率高。
②Forward 正向渲染 ,支持光照到达像素级别,只支持1个平行光的实时阴影,灯光越多,速度越慢。
③Deferred 延迟渲染,效果最好,支持多盏平时光的实时阴影,但不支持MSAA。