【Unity】Unity Particle 粒子系统 被UI层覆盖——解决

1,772 阅读1分钟

Unity Particle 被 UI层覆盖 问题解决


版本:unity2018.4.36f1
看了网上很多资料,都是使用Screen Camera模式。于是自己想到两个Canvas直接叠加就好了,交互的放在一个Canvas,图片和Particle放在另一个Canvas。这样即保证了交互正常,又看到了Particle。
  • 1、测试Particle

先讲一下Particle System基本的几个用法:

1

新建的Particle系统选中了上图这三项。

选项名称作用
Emission播放使得ParticleSystem得以显示(不必修改)
Shape形状即粒子生成的范围
Renderer渲染更改粒子贴图

值得一提的是,更改Renderer的贴图,实际上是使用材质球(Martial),新建后拖入到Renderer中的Material即可。如果发现有一个不透明的方框,那么直接将Material的Shader改变成 Spriter/Diffuse即可:

2 3

调整完毕后下一步~



  • 2、新建Button(此为交互层的Canvas)

此时Scene中还没有Canvas,直接新建一个Button会新建一个。

4

此时这个Canvas如下:

4

  • 3、新建Canvas(此为BackGround层的Canvas)

将之前创建的Particle放入第二个Canvas中。

新建一个Image作为背景样例,锚点设置成全覆盖的

然后更改Canvas组件的参数: 5

注意右下角的Order in Layer的数值是0

下一步打开Particle的Renerer,设置其Order in Layer的数值为1

这样就保证了Paricle在Canvas_BG之前渲染

6


效果

7