首页 > Unity3D引擎 > 进阶系列 > 实现粒子与UGUI混合显示
2017
05-29

实现粒子与UGUI混合显示

今天来教大家如何在两个UGUI中显示粒子特效

在这篇文章之前,已经给大家分享过如何使用RenderTexture来完成3d物体或特效与Ugui的混合显示

文章链接:http://www.u3d8.com/?p=1047

那么今天使用另外一种更为便捷的方式来完成粒子和UI的穿插显示。

首先我们看下效果图:

实现粒子与UGUI混合显示 - 第1张  | u3d8技术分享

使用脚本:(当修改的粒子较多时)

实现步骤:

一、设置“Canvas”的“Render Mode”属性为“Screen Space-Camera”,并将主摄像机拖入“Render Camera”

二、完成粒子与UI的布局

实现粒子与UGUI混合显示 - 第2张  | u3d8技术分享

图中“Image”为特效后面显示的背景图片,“Effect”为特效父对象,“Image(1)”为特效上面显示的图片

三、在UI上挂载“Canvas”组件,并设置参数如下:

实现粒子与UGUI混合显示 - 第3张  | u3d8技术分享

其中Order in Layer是该UI的深度,越靠前显示的深度越大。即 将“Image”深度设为0,“Image(1)”深度设为2

四、将“RendererDepth”脚本挂载在粒子父对象上

实现粒子与UGUI混合显示 - 第4张  | u3d8技术分享

 

设置“Order”参数为1,然后点击右面的功能图标,执行SetOrder 就自动将该父对象下面的所有粒子深度都设置为1了。

然后就可以移除“RendererDepth”脚本

五、测试一下,试试是否好用呢~~

备注:第三条使用“RendererDepth”只是快捷改粒子深度的方式,适用于粒子太多,手动改太麻烦的情形。

如果只有几个粒子,也可以直接修改粒子身上的“Particle System”——“Renderer”——“Order in Layer”数值

 

最后编辑:
作者:网虫虫
网虫虫
分享是一种快乐; 分享是一种美德; 分享是一种幸福!

留下一个回复

你的email不会被公开。