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,然后改设置。
在这里插入图片描述

  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Unity UI镜头特写是一种让相机对UI进行近距离拍摄的效果。通过使用特定的相机设置和脚本,我们可以实现UI元素在镜头特写下放大显示,增强用户对UI细节的感知。 为了实现UI镜头特写效果,首先需要将相机对准UI元素。可以通过设置相机的位置和旋转来实现,确保UI元素在相机的视野中。接下来,可以通过修改相机的尺寸或视野角度来调整UI元素的显示大小。 在脚本方面,我们可以编写脚本来控制相机和UI元素的交互。例如,当鼠标悬停在UI元素上时,我们可以使相机缓慢向该UI元素移动,并逐渐放大显示,以达到特写效果。当鼠标离开时,相机可以返回初始位置。可以使用Unity的事件系统来监测鼠标事件,并在需要时执行相应的脚本逻辑。 在镜头特写的过程中,我们还可以添加一些动画效果,以增强用户体验。例如,可以在特写中使用淡入淡出的过渡效果,使UI元素的放大显得更加流畅和自然。可以使用Unity的动画系统来实现这些效果。 总的来说,Unity UI镜头特写是一种通过相机设置和脚本逻辑来放大显示UI元素,以增强用户对UI细节感知的效果。通过调整相机的位置、尺寸和视野角度,以及编写脚本来控制相机和UI元素的交互,可以实现鼠标悬停时特写放大效果以及其他动画效果,从而提升用户体验。 ### 回答2: Unity UI镜头特写是指在游戏或应用程序中,将相机聚焦在特定 UI 元素上来展示其细节的一种技术。通过镜头的拉近或移动,可以突出显示 UI 元素的部分细节,以增强用户体验或提供更直观的交互。 在 Unity 中,可以通过以下步骤实现 UI 镜头特写。 首先,需要在场景中添加一个相机对象。可以使用Unity编辑器内置的相机,或者创建自己的相机。 然后,需要创建一个用于 UI 镜头特写的脚本。这个脚本应该包含相机的位置和旋转信息,以及相机的缩放比例。 接着,在代码中,可以使用相机的变换属性来设置该相机的位置和旋转,使其聚焦在需要进行特写的 UI 元素上。可以使用相机的放大功能,通过改变其缩放比例,将特定的 UI 元素放大到合适的比例。可以通过计算 UI 元素的位置和大小来确定相机的最佳位置和缩放比例。 最后,在游戏或应用程序的适当时机,可以通过调用脚本中的方法来触发 UI 镜头特写。这可以通过用户的交互操作、特定事件的触发或通过代码控制来完成。 总结起来,Unity UI 镜头特写利用相机聚焦和缩放功能,通过代码控制相机的位置和旋转,从而将用户的焦点放在特定的 UI 元素上,以增强用户体验和改善交互效果。 ### 回答3: Unity UI镜头特写是指通过调整相机的位置、角度和视角,使得UI元素可以处于整个屏幕的最前方,并且将其放大显示。镜头特写可以在特定情景下突出显示重要的UI元素,增强用户对其的注意力和体验。 使用镜头特写可以使得UI元素更加突出,增强其可视性和易用性。当某个UI元素具有重要功能或需要用户优先关注时,可以通过镜头特写来突出显示其细节和重要性。这种特写可以用来显示用户任务进度、目标达成情况、玩家角色状态等等。 镜头特写的实现需要调整相机的位置和视角。通过改变相机的位置,使得UI元素处于屏幕最前方;通过调整相机的视角,放大UI元素的显示,让用户更容易看清楚细节。可以使用脚本控制相机的位置和视角,也可以使用Unity中的Camera组件进行调整。 镜头特写可以结合其他特效一起使用,提升用户体验。比如结合逐渐放大的动画效果,让用户在进入某个场景或界面时,UI元素逐渐放大显示,吸引用户的注意力。还可以结合光影效果,增加UI元素的层次感和质感。 总之,Unity UI镜头特写是一种通过调整相机位置和视角,突出显示重要UI元素,提升用户体验的技术手段。通过合理运用镜头特写,可以使得UI元素更加突出,提高用户对其的注意力和易用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值