天天看点

Unity 粒子特效被NGUI遮挡的问题Unity 粒子特效被NGUI遮挡的问题

Unity 粒子特效被NGUI遮挡的问题

最近使用NGUI做界面时候,加粒子效果的时候一直被NGUI的界面遮盖住。后来仔细研究发现问题的根源:因为粒子系统的渲染顺序列默认为3000,而NGUI的渲染顺序默认也是从3000开始,当有嵌套的panel时或者Depth更高的panel时,GUI的渲染顺序会高于3000

Unity 粒子特效被NGUI遮挡的问题Unity 粒子特效被NGUI遮挡的问题

有三个解决方法:

1.修改Ngui中的UIPanel脚本中的默认的RenderQueue

2.使用另外一个摄像机,显示特效。但是在UI窗口相互切换时,不太好控制。

3.修改粒子特效的Shader中的RendererQueue值。

个人觉得第一种方法最实用也最简单,第二种方法有点小题大做,而第三种方法不太建议,下面我来介绍一下第一种方法:

找到UIPanel下的 AdvancedOptions

Unity 粒子特效被NGUI遮挡的问题Unity 粒子特效被NGUI遮挡的问题

把Audomaitc改成 StartAT 并把数值改成3000以下的数字

Unity 粒子特效被NGUI遮挡的问题Unity 粒子特效被NGUI遮挡的问题

这样粒子效果就出来了~

Unity 粒子特效被NGUI遮挡的问题Unity 粒子特效被NGUI遮挡的问题

继续阅读