位置: 编程技术 - 正文
推荐整理分享UGUI多个Canvas的渲染先后层次关系设置(unity中canvas怎么调框大小),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:canvas绘制多张图片,unity中canvas,canvas多图层,多个canvas画布合并,多个canvas画布合并,ugui drawcall合并,unity多个canvas,ugui drawcall合并,内容如对您有帮助,希望把文章链接给更多的朋友!
这几天在做游戏的WindowManager,一开始只是想到打开单一窗口和设置窗口并存的问题,一切运行良好。
但是昨天加了一个等待窗口(沙漏加菊花)之后就出现了问题。
首先说明我的Window的结构:
一个空的GameObject
Canvas
所有的UI控件
举例说:
在登录界面,点击登录按钮后向服务器发送登录请求,这个时候会显示转菊花的界面,一切OK。
窗口打开顺序为 登录窗口 --- 等待窗口
下面的大图就是登录窗口,上面的就是沙漏菊花等待窗口。
这个时候如果再弹出一个其它的界面,比如弹出了一个滚动公告,那按照先后顺序来说,滚动公告就会显示在等待界面之上,这是不行的。
我的目的呢,就是要让等待界面显示在最上面!
首先,从MOMO的博文中了解到,貌有一个API可以使用,
就是设置 物体在视图中的顺序。
但是实际使用后得出结论,这个API只能调整在同一个Canvas下的UI控件的渲染顺序。对于多个Canvas的不同的窗口而言,这个API没有用处。
于是百度谷歌之,得到一些苗头:
Unity3d中的渲染顺序如下:
不同Camera的Depth
同Camera的soringLayer
同sortingLayer下面的Z轴
但是没有适合我的。
正准备把所有的窗口都由Canvas来管理的时候,看到Canvas下面有一个Sort Order 。
Sort这个词看起来就比较符合口味,排序嘛!
试着把菊花窗口的Sort修改为,再运行,果然生效!
测试:
先打开等待界面,然后打开登录界面,不设置Sort Order:
可以看到菊花界面无情的被其它界面遮挡住了。
然后
先打开等待界面,再打开其它界面,设置等待界面Canvas的Sort Order为(因为默认是0,这里可以设置为无限大)
这下就OK了,等待界面永远在其它界面之上了,除非你把其它界面的Sort Order设置的比等待界面大!
Vuforia 4.0 beta——Object Recognition (一) Vuforia4.0beta终于出来了,其中有个比较新颖的功能,那就是ObjectRecognition。这个功能对于有些行业是很有帮助的,是这一版本的亮点之一。其他所谓的亮
Vuforia 4.0 beta——Object Recognition (二) Vuforia4.0开发模式有了新的变化,多了一个LicenseManager。申请License有三个步骤:1、需要填写APPname和产品类型2、开发Plan,主要是免费的Developer模式和付费
Vuforia 4.0 beta——Object Recognition (三) 出处:
友情链接: 武汉网站建设