【unity小技巧】一些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 使用前向渲染。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信或者加群找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向宇it

创作不易,感谢你的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值