需要修改預設的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坐标,這個對于界面而言就麻煩了。是以這種方法還是不合适。