unity 2d 和 NGUI layer

时间:2021-10-24 17:00:27

http://blog.csdn.net/xtxy/article/details/37876825

在使用unity2d开发游戏的时候,使用了NGUI作为界面,本来二者配合得还挺好,但是一个使用场景出现了问题,就是一个ngui的sprite需要放置在unity2d sprite后面显示,也就是用ngui得sprite作为背景,结果发现替换sprite的altas的时候,背景就把unity2d sprite遮挡住了,使用z轴控制不住。

在网上搜索了一下,发现了NGUI适应unity 2d layer的解决方案,记录在此。

1 创建新的sorting layer,增加一个foreground,和background,将background移动到最上面,如下图所示:

unity 2d 和 NGUI layer

2 在ui root下面建立两个pannel,一个存放正常的ui元素,一个存放背景元素;

背景元素的pannel上面更改选项render q,将其设置为explicit,层号为3000,对应上面的background;

unity 2d 和 NGUI layer

ui元素的pannel上面更改选项render q,将其设置为start at,层号为3002,对应上面的foreground;

unity 2d 和 NGUI layer

所有的unity 2d sprite的sorting layer都保持为default,这样就保证了ui在最上层,unity 2d sprite在中间,背景在最下层。