Unity NGUI对特效的显示范围进行控制

    xiaoxiao2021-03-25  234

    效果如下:

    (这是前几天师父发给我的效果图,我问他怎么实现的,笑而不语...)

    做个小demo,尽解其招!

    首先打开空项目,导入NGUI。打开一个示例,我选的是example 7。然后给ScrollView中的第一个添加一个粒子特效。

    调整好父子关系和缩放以后再调整所在层级,确保NGUI的摄像机会渲染粒子所在层级,会发现游戏界面中看不到这个粒子,继续调整粒子的sort order,调到2的时候发现游戏画面中出现了这个粒子。

    第一步准备工作完成。看效果:

    发现NGUI的panel的遮挡对于粒子特效并没有起什么作用。调了半天发现并没有什么卵用。

    进入正题,怎样限制住特效的显示范围。

    道理很简单,添加一个遮罩层,我使用的是2DSprite,就是使用ColorMask。ColorMask设置为0,即忽略所有RGB颜色。然后设置渲染顺序,保证

    底层<遮罩<特效

    还要保证与摄像机的距离关系

    底层<特效<遮罩

    仅此而已!

    完活。

    上效果:

    道理很简单,就不上代码了。有效代码就那么一两行。关键就是保证好渲染顺序。

    如果看不懂,那么你需要去补充一下渲染队列的知识,在这个demo里还要了解控制渲染顺序的各个层级,比如摄像机的depth,order layer,order sort...

    转载请注明原文地址: https://ju.6miu.com/read-1134.html

    最新回复(0)