Unity3d开发(十九)调整SortingOrder解决UGUI中粒子层级问题

本文介绍了如何在Unity3D中调整SortingOrder以解决UGUI界面与粒子系统的层级冲突问题。通过设置粒子和UI元素的SortingOrder,可以避免粒子穿插并确保正确的遮挡关系。案例展示了具体的操作步骤,强调减少Canvas数量以优化DrawCall,并提醒在设计阶段考虑UI分层的重要性。
摘要由CSDN通过智能技术生成

为了做出更酷炫的的UI效果,通常要在UI中加入粒子效果。但与纯2D的UI动画或Spine不同,粒子在场景中制作,会存在与UI的穿插问题。本文探讨如何更改特效或UI的SortingOrder避免穿插。

前提条件

首先,Canvas的类型是一切的基础,我使用的Canvas是Screen-Space ,所有UI通过一个正交摄像机照出来。制作UI通常使用这种模式,本文不讨论其他情况。

核心原理

通过更改渲染的顺序来改变遮挡关系。一方面UGUI会根据Hierarchy中的控件顺序进行排序。因此对于Animation或Spine制作的UI动画,只要顺序正确,就可以保证遮挡关系正确。对于使用ParticleSystem制作的特效,它是使用Render进行渲染,因此需要找到一个能够同时影响Render和UI控件渲染层次的方法。这个方法就是更改SortLayer或SortingOrder。这两种方法原理一样,先排序,再渲染。这个排序通过SortingOrder更改,而排序和排序之前可以通过SortLayer来分隔。以我目前的经验,使用SortingOrder足够,还没有用到SortLayer。

案例

为了说的更清楚我制作了个简单的例子,效果如下图所示:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值