Unity3d灯光与渲染

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

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。

你可能感兴趣的:(Unity3d灯光与渲染)