问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Unity3D灯光使用与优化完全指南

创作时间:
作者:
@小白创作中心

Unity3D灯光使用与优化完全指南

引用
CSDN
1.
https://blog.csdn.net/qq_36303853/article/details/143672159

本文将详细介绍Unity3D中的灯光使用与优化技巧,包括天空盒反射、太阳耀斑眩光、烘培光照、阴影、全局光照、混合光照模式、环境光遮罩、灯光探针、反射探针技术、自发光材质等。通过图文结合的方式,帮助开发者掌握各种设置和优化方案。

天空盒反射

我们新建一个cube,可以看到它默认收到环境光的影响。

把材质的金属度和平滑度拉满,会发现它会完全反射天空盒。

  • 金属度:表示反射强度,1完全反射
  • 平滑度:表示反射多少天空盒,1就是全反射天空盒

但是你会发现反射的天空盒很模糊,我们可以增加环境反射分辨率,可以看到清晰了。

配置太阳耀斑眩光

效果:

烘培光照

记得勾选需要受到烘培光照影响的物体为静态,点击烘培。

烘培光照时弹出错误,记得勾选模型下面的选择

阴影

项目配置

光源

模型

模型shader的问题

不要使用透明shader。

全局光照

我们注意这个Shadow caster表示阴影数,过多会对性能造成影响。

记得修改要烘培的物体为静态,灯光模式也修改为烘培。

记得勾选烘培全局光照,不勾选烘培光源不会受到间接光源影响,然后烘培。

效果:

烘培好了,灯光我们可以进行删除,也不会影响。

混合光照模式

我们现在在新增一个会动的cube,灯光肯定会有问题,因为前面的灯光我们是烘培出来的。

当然你可以把灯光简单的改为实时灯光,记得再重新进行烘培。

但是可以看到阴影比较暗,记得打开实时全局光照,不勾选实时光源不会受到间接光源影响,再进行烘培,效果:

最好我们选择mixed混合模式,再重新进行烘培。

一般情况下,我们不会同时开启实时和烘培全局光照,这会造成性能的浪费,这里我们取消实时全局光照,重新烘培。

注意,这里新的cube背面是黑色的原因是我关闭了天空盒和环境照明,修改回来就可以了。

混合照明模式

减性照明模式

减性模式最省性能,但是不支持高光且只能渲染一个光照。

Shadowmask照明模式

因为前面选择了减性照明模式,烘培的阴影无法对我们动态物体产生影响就像下面这样:

修改Shadowmask模式改为Distance Shadowmask(距离阴影蒙版)。

把照明模式改为Shadowmask,重新烘培。

效果:

注意这里的阴影距离,表示如果我们的相机距离目标在150以内,会可以看到动态实时的影子,但是如果距离大于150以外,则显示的烘培阴影。

为了方便测试,我把值改成5看看效果:

间接烘焙照明模式

最费性能,影子更加真实。

超过设定的阴影距离,影子会直接消失包括烘培的影子。

环境光遮罩

开启环境光遮罩,点击重新烘培。

开启环境光遮罩之后,主要模型直接拐角处的变化,变得更加真实。

灯光探针

前面的修改Shadowmask模式改为Distance Shadowmask(距离阴影蒙版),虽然可以解决烘培的阴影对我们动态物体产生影响,但是比较耗性能,我们先改回Shadowmask模式。

我们可以使用灯光探针。

编辑探针包裹不同区域。

反射探针技术

让游戏物体有真实的反射效果。

把小球调成全反射。

在小球身上加添加反射探针。

结果全黑,是因为我们的反射探针默认是烘培模式。

我们需要把想要反射的物体设置为静态,并重新烘培。

关闭反射探针

想要关闭反射探针也很简单,选择反射探测器为off。

可以修改反射探针区域大小

如果场景只有一个物体受到反射探针的影响,把反射探针区域大小调节和该物体一样的最好,这样更加节省性能。

没有实时反射

当然前面反射探针我们使用的是烘培模式,所以肯定无法实时反射内容。

我们可以修改反射探针类型为实时,刷新模式为每帧更新。

运行查看反射效果,就可以实时显示效果了。

自发光材质

勾选材质发射,修改材质的HDR颜色。

记得勾选需要光照的物体勾选伪静态,再进行烘培。

效果:

渲染路径

Unity 的内置渲染管线支持不同渲染路径。渲染路径是与光照和阴影相关的一系列操作。不同的渲染路径具有不同功能和性能特征。应根据项目类型以及目标硬件,确定哪种渲染路径最适合您的项目。

可在 Graphics 窗口中选择项目使用的渲染路径,并可为每个摄像机覆盖该路径。

如果运行项目的设备上的 GPU 不支持所选的渲染路径,则 Unity 将自动使用较低保真度的渲染路径。例如,在无法处理延迟着色的 GPU 上,Unity 使用前向渲染。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号