Unity两个NGUI Panel 中间夹粒子特效

本文介绍了如何解决Unity中粒子特效位于两个NGUI Panel之间的问题。关键在于调整Panel的Render Queue和粒子系统的Order in Layer,确保粒子在所需位置渲染。当NGUI Panel的Sort Order高于粒子的Order in Layer时,粒子会被遮挡。解决方案包括将粒子Layer添加到NGUI相机的Culling Mask,并适当设置Particle Systems和Panels的渲染顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

目前这个粒子是在panel后面。要想使粒子在两个NGUIPanel中间首先需要解决的问题:

NGUI的Panel的渲染层级顺序

默认NGUI中panel的Render Queues从3000开始往上增加。你可以通过Render Q来修改。如果你想在两个panel中间增加粒子,只要修改两个panel的render queue一个高于粒子,一个低于粒子即可。如果想要让所有的draw call使用和NGUI 2.x版本的渲染方式一样,使用z轴而不是depth。那么给panel的Render Q指定为Explicit。

 

粒子系统渲染层级

粒子系统的渲染顺序列默认为3000。

 

问题根源:

因为粒子系统的渲染顺序列默认为3000,而NGUI的渲染顺序默认也是从3000开始,当有嵌套的panel时或者Depth更高的panel时,GUI的渲染顺序会高于3000。

修改Panel的Sort Order数值使其大于粒子的Order in Layer即可。

解决办法:

【仅适用于NGUI的相机能看到粒子,并且粒子Sorting Layer为默认情况。不考虑多相机渲染不同的粒子情况。】

NGUI的相机要能渲染粒子,需要把粒子的Layer添加到相机的Culling Mask里。然后就可以选择panel_1的Sort Order低于粒子的 Order in Layer。另一个panel_2高于粒子层即可。

虽然我的RenderQ是自动的,其实默认的还是以3000开始的,如果选择Start At就会发现他们都是3

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值