【小松教你手游开发】【unity实用技能】NGUI Depth探索

来源:互联网 发布:阿里云备案客服电话 编辑:程序博客网 时间:2024/05/23 01:20
首先做个测试项目
每个子节点节点的东西基本是一样的
这里的TestDepth脚本只做一件事
获取RenderQueue。输出。

不过在每个父节点上有个UIPanel。
通过设置不同UIPanel和不同UISprite的Depth值来测试NGUI是怎么区分深度的。

通过脚本输出RanderQueue可以看到

看最后的数字。
以前我以为是按一定系数相乘再相加。
其实是根据UIPanel的个数排序。排最先的UIPanel的第一个UIWidget从3000开始。
根据同一个UIPanel下的UIWidget排序。Depth最先的RenderQueue最小。逐个网上加一
这个UIpanel的算完以后算下一个的,也是继续加一。
这就是NGUI的Depth控制深度的原理,控制RenderQueue,通过UICamera,UIPanel,UIWidget的顺序一个个往上加一,不产生间断。

所以如果想在某一个UIWidget上挂粒子,找到这个UIWidget的RenderQueue,往上加一就可以了~

如果刚好夹在两个UIWidget中间,尝试插个空白的不同Drawcall的UIWidget来隔开。
0 0
原创粉丝点击