Unity 之 UGUI 图片 和 粒子特效显示层级关系调整

2,619 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

遇到问题

通常我们使用UGUI时都是通过调整UI的先后顺序或者父物体的层级关系,可是当我使用到粒子特效和Image一起的时候发现光修改层级关系是达不到目的的。


解决办法

  1. 首先要确定的是渲染相机,Canvas画布的渲染模式为了相机渲染:

    在这里插入图片描述

  2. 将使用的Image修改为Sprite,并且将Sprite的Order in Layer 调整为比粒子特效的层级要高一些。(放到下面显示就放的低一些),大小要调整到100,才和Image大小显示的一致: 在这里插入图片描述

  3. 粒子特效的层级关系设置:

    在这里插入图片描述

--

其他问题

  1. 如果要解决ui上的一个图片在粒子上面,一个在粒子下面该如何解决?

在图片上加上Canvas组件,调整orderinlayer这个参数,让这个参数和粒子特效绑定的ParticalDepth的order对应,调整这两个参数,即可达到ui和粒子之间相互遮罩的问题。

  1. 加了个canvas发现,UI界面上的按钮点击没反应了,什么情况?

在添加Canvas组件的节点上,挂上一个GraphicRaycaster组件,然后将其中的BlockingMask设置为UI即可。


这样既可以达到设置显示的目的,若大家还有什么其他的方法或者有什么发现坑的地方,欢迎留言评论。