博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【小松教你手游开发】【unity实用技能】NGUI Depth探索
阅读量:6352 次
发布时间:2019-06-22

本文共 542 字,大约阅读时间需要 1 分钟。

首先做个测试项目

【小松教你手游开发】【unity实用技能】NGUI Depth探索
每个子节点节点的东西基本是一样的
【小松教你手游开发】【unity实用技能】NGUI Depth探索
这里的TestDepth脚本只做一件事
【小松教你手游开发】【unity实用技能】NGUI Depth探索

获取RenderQueue。输出。

不过在每个父节点上有个UIPanel。

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

通过设置不同UIPanel和不同UISprite的Depth值来测试NGUI是怎么区分深度的。

通过脚本输出RanderQueue可以看到

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

看最后的数字。

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

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

如果刚好夹在两个UIWidget中间,尝试插个空白的不同Drawcall的UIWidget来隔开。

转载于:https://blog.51cto.com/13638120/2084886

你可能感兴趣的文章
android viewpager 无限左右滑动
查看>>
linux下SSH远程连接服务慢解决方案
查看>>
利用mic visual studio 2010 编译器执行wincap获取网络适配器的代码
查看>>
HTML
查看>>
CENTOS7下编译安装PHP-5.4以及配置phpMyAdmin
查看>>
磁盘显示无法访问拒绝访问,里面的资料怎样找到
查看>>
Java之品优购课程讲义_day07(5)
查看>>
Java的新项目学成在线笔记-day3(八)
查看>>
路由简单的实验
查看>>
好程序员web前端教程分享js reduce方法使用教程
查看>>
零基础学习大数据Hadoop需要什么准备?Hadoop如何发展起来的?
查看>>
前端程序员需要具备的几个软实力,你具备了吗
查看>>
RHEL系列网络配置2015083101
查看>>
c# 基本值类型及其默认值
查看>>
服务器端解决JS跨域调用问题
查看>>
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
查看>>
雨巷-戴望舒
查看>>
OpenCms创建网站过程图解——献给OpenCms的初学者们
查看>>
C++ 异常处理机制的实现
查看>>
Freebsd的ports命令
查看>>