2.使用SpriteRenderer和SortingGroup制作地图上的复数物体

书接上回,上一篇文章介绍了使用UGUI下的Image组件处理时,使用SpriteAtlas降低Drawcall的招数;然后这种做法依然存在一些问题,比如物体的排序依赖于UI组件之间在Hierarchy中的层级顺序,这样显然不太利于我们组织起比较复杂的2D物体,故这里我们采用SpriteRenderer和SortingGroup制作地图上的复数物体:

这里根物体的OrderInLayer 值为0,其上的Square 值为1,显示在根物体前,Bg_icon的值为-1,可以显示在根物体后(即使它在Hierarchy中的层级在根物体下面):

最后我们给根物体添加SortingGroup并且使它们处于同一个层级:

同样的,我们要将使用到的Sprite放入同一个SpriteAtlas中以降低Drawcall,看看效果,除开背景消耗了一次Drawcall以外,我们的复数个物体只用了一次DrawCall,并且渲染顺序正确:

最后,SortingGroup如果忘记添加的话,可能会出现一些比较诡异的渲染顺序,下面是关掉SortingGroup时可能会出现的现象,能看到同一个Body下面的组件会出现穿插的现象:

参考知识内容:2D 排序 - Unity 手册

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值