Unity双Canvas层级问题:如何将背景Canvas置于交互Canvas后方?
Unity中让背景Canvas显示在交互Canvas后方的解决方法
要解决背景Canvas遮挡交互Canvas的问题,核心是调整两个Canvas的渲染层级顺序,具体操作如下:
方法一:通过Sorting Layer区分层级
- 选中你的背景Canvas对象,在Inspector面板找到
Canvas组件 - 点击
Sorting Layer的下拉菜单:- 若已有专门的背景层级(比如
Background),直接选择它; - 若没有,点击下拉菜单里的
Edit Sorting Layers,在弹出窗口中点击+添加Background层,把它拖到列表最底部(层级列表越靠下,渲染优先级越低,显示越靠后),再给交互Canvas分配一个更靠上的层级(比如默认的UI层)
- 若已有专门的背景层级(比如
方法二:同一Sorting Layer内调整Order in Layer
如果两个Canvas在同一个Sorting Layer里,只需调整Order in Layer数值:
- 给背景Canvas设置
Order in Layer = 0 - 给交互Canvas设置
Order in Layer = 1(数值越大,渲染越靠前,会显示在上方)
额外提示
如果你的Canvas使用Screen Space - Camera或World Space模式,除了上述设置,还要确保UI相机的渲染顺序早于背景相机(或同一相机下的层级设置正确),不过手机UI大多用Screen Space - Overlay,用前两种方法就能解决问题。
内容的提问来源于stack exchange,提问作者Ledjoric Libiran
相关产品推荐
相关产品推荐

