其他分享
首页 > 其他分享> > 使用z坐标控制ugui和Render的层级显示

使用z坐标控制ugui和Render的层级显示

作者:互联网

需要修改默认的shader, 像UI-Default, Sprite-Default, 他们默认都没有开启深度测试, 也就是z坐标不参与层级显示(实际调了z坐标偶尔会有效果, 但那个是随机的, 不可靠),

所以需要先修改他们

# 去unity官网下载对应unity版本的buildin_shaders, 然后copy到项目下, 开启深度测试

UI-Default.shader

Sprite-Default.shader

 

 

# Image, Sprite, MeshRender分别使用不同的z坐标后,可以看到他们的层级可以正确显示

 

 

 

 

 

【开启了深度测试, 对合批有没影响?】

# ugui间还是可以合批

# ugui和SpriteRender的话本身就没法合批

 

【RectMask2D裁剪有影响吗?多个界面间的层级会乱掉吗?】

# 可以裁剪,但是多个界面间的层级会乱掉,这就要求自己去控制所有节点的z坐标,这个对于界面而言就麻烦了。所以这种方法还是不合适。

 

标签:层级,Sprite,Render,Default,shader,坐标,ugui
来源: https://www.cnblogs.com/sailJs/p/15733776.html