Unity Particle 被 UI层覆盖 问题解决
版本:unity2018.4.36f1
看了网上很多资料,都是使用Screen Camera模式。于是自己想到两个Canvas直接叠加就好了,交互的放在一个Canvas,图片和Particle放在另一个Canvas。这样即保证了交互正常,又看到了Particle。
-
1、测试Particle
先讲一下Particle System基本的几个用法:
新建的Particle系统选中了上图这三项。
| 选项 | 名称 | 作用 |
|---|---|---|
| Emission | 播放 | 使得ParticleSystem得以显示(不必修改) |
| Shape | 形状 | 即粒子生成的范围 |
| Renderer | 渲染 | 更改粒子贴图 |
值得一提的是,更改Renderer的贴图,实际上是使用材质球(Martial),新建后拖入到Renderer中的Material即可。如果发现有一个不透明的方框,那么直接将Material的Shader改变成 Spriter/Diffuse即可:
调整完毕后下一步~
-
2、新建Button(此为交互层的Canvas)
此时Scene中还没有Canvas,直接新建一个Button会新建一个。
此时这个Canvas如下:
-
3、新建Canvas(此为BackGround层的Canvas)
将之前创建的Particle放入第二个Canvas中。
新建一个Image作为背景样例,锚点设置成全覆盖的
然后更改Canvas组件的参数:
注意右下角的Order in Layer的数值是0
下一步打开Particle的Renerer,设置其Order in Layer的数值为1
这样就保证了Paricle在Canvas_BG之前渲染