栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

Unity LensFlares(镜头炫光)踩坑以及解决总结

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity LensFlares(镜头炫光)踩坑以及解决总结

镜头光晕 (Lens Flares) 模拟相机镜头内的折射光线的效果,主要作用就是让太阳光/其他光源更加真实。

Build-in

Build-in管线中,可以直接添加Lens Flare组件即可获得效果。

URP(2019)

在Unity2019版本升级为URP管线后仅Scene视图可以看到效果,Game视图没有任何效果,查看文档得知URP不支持Lens Flare了,需要自己进行实现,大概思路就是按照顺序渲染几个面片。
这里有介绍:具体方法(转载)

URP(2021.2)

喜大普奔,Unity意识到了这个问题,并且在2021.2之后进行了完善,更新了URP专属的Lens Flare,需要在光照上添加Lens Flare(SRP),如果不是光照有的就不显示。
(新版本细化了对于每个面片的设置,但是对于图集的处理找不到了,如果采用图集,需要自己分割,一个一个放)

相比Build-in添加很多属性:
Screen Attenuation 主要是涉及随着距离变远,炫光逐渐消失,这里没设置就是不消失。
Occusion 主要是涉及物体遮挡的设置。
具体解释见:Lens Flare(SRP)官网API

遇到问题:

1.Scene视图可以看到,但Game视图没有

网上查了很多,说是在Camera上加Flare Layer,我加了也不好用,后面发现Camera没有打开Post Precessing,因为它底层本质上是后处理,所以需要勾选。

2.Scene视图可以被物体遮挡,但Game视图不行。

同样看下实现原理,遮挡是通过深度缓冲区算的,然后一看Camera,果然没有使用。这里简单的办法是直接把Depth Texture设置为On,当然也可以 Use Pipeline Settings,然后改设置。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/905828.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号