Java教程

使用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坐标,这个对于界面而言就麻烦了。所以这种方法还是不合适。

 

这篇关于使用z坐标控制ugui和Render的层级显示的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!