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组件。