Unity粒子特效UI层级问题

1.使用shader解决

使用shader解决

2.用unity自带组件处理粒子特效层级问题

可以先了解下相关知识。
Unity中Depth、SortingLayer、Order in Layer和RenderQueue的讲解
通过给UI添加Canvas组件然后调整Order In Layer实现层级区分,如果UI没添加Canvas的话默认和父级Canvas中的Order In Layer保持一致。Order In Layer越大就显示在越上层。
粒子特效中也有Order In Layer选项,根据具体情况调整即可。

举个例子,有Image A和B,还有粒子特效C。需求是C要显示在A前面B后面。如果父级中Canvas的Order In Layer为0的话,那我们就可以把B的Order In Layer调为2,C的Order In Layer调为1。

要注意添加了Canvas组件的UI如果需要接收点击事件需要添加GraphicRaycaster组件。
在这里插入图片描述

要在Unity UI中创建水圈波纹的粒子特效,可以按照以下步骤进行操作: 1. 在Unity中创建一个新的UI Image,命名为“WaterCircle”。 2. 在UI Image的“Material”设置中,选择一个支持透明的粒子材质。 3. 在UI Image的“Rect Transform”设置中,将其大小和位置调整为需要添加水圈波纹的位置和大小。 4. 在UI Image的“Canvas Renderer”设置中,将其“Material”设置为刚才选择的粒子材质。 5. 在UI Image的“Mask”组件中,选择一个支持透明的遮罩材质。 6. 在UI Image的“Particle System”组件中,创建一个新的粒子系统,命名为“WaterCircleParticles”。 7. 在粒子系统的“Renderer”设置中,将“Render Mode”设置为“Billboard”;将“Material”设置为刚才选择的粒子材质。 8. 在粒子系统的“Shape”设置中,将“Shape”设置为一个圆形的Emitter,调整“Radius”和“Angle”来控制圆形的大小和方向。 9. 在粒子系统的“Emission”设置中,将“Rate over Time”设置为一个较小的值,例如0.5,使得粒子系统每秒钟只会发射一定数量的粒子。 10. 在粒子系统的“Texture Sheet Animation”设置中,将“Tiles”设置为2x2,将“Frame over Time”设置为一个较小的值,例如0.1,使得粒子系统中的每个粒子可以播放水波纹的动画。 11. 在粒子系统的“Color over Lifetime”设置中,将粒子的颜色从白色渐变到透明,以使得水波纹逐渐消失。 12. 最后,在场景中将UI Image放置在需要添加水圈波纹的位置,并调整其大小和方向即可。 以上是一种简单的创建水圈波纹粒子特效的方法,可以根据具体需求进行调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我寄人间雪满头丶

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值