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学习,unity,ui,游戏引擎)