【解决】修改 UI界面渲染层级 的常见误区

开发平台:Unity 2021版本

问题描述


Unity 中管理 UI 上显示元素的前后层级关系大致为以下两种方式:

  • 方式一:修改UI元素队列顺序与层级
  • 方式二 :使用 Canvas 组件中的 Override Sort 属性配置

方式二 对应复杂的 UI 层级关系将常被开发者应用,但同时可是最容易出现忽略的误区 ------ 添加后其下的 Button\Toggle\Slider 的等组件不可用。

问题指出


观察 Unity 默认创建UGUI的GameObject对象。一个 Canvas 对象由以下组件构成:

  • RectTransform:管理 UI 在平面位置
  • Canvas:管理 UI 渲染模式
  • CanvasScaler:管理 UI 呈现分辨率
  • Graphic Raycaster:管理 UI 内交互组件触发

解决方法


补充 Canvas 组件修改层级时,应当同时考虑添加 Graphic Raycaster 组件构建射线触发交互组件的可能。

相关推荐
jtymyxmz1 小时前
《Unity Shader》8.4 透明度混合
unity·游戏引擎
世洋Blog3 小时前
利用<<左移运算符优雅的设计游戏能力的任意组合和判断
游戏·unity·c#
毛甘木14 小时前
Unity MonoPInvokeCallback 使用教程
c++·unity
心疼你的一切14 小时前
Unity开发Rokid应用之离线语音指令交互模型
android·开发语言·unity·游戏引擎·交互·lucene
Sator117 小时前
Unity使用OpenXR时,初始化失败的问题
unity·游戏引擎·vr
雨泽‎1 天前
Unity在URP中开启后处理导致RenderTexture存在背景
unity·游戏引擎·图形渲染
冒泡P2 天前
【Unity】TextMeshPro富文本中使用精灵图集
ui·unity·c#·游戏引擎
世洋Blog2 天前
开发思想-(数据驱动+组合模式)VS 继承
unity·组合模式·数据驱动
B0URNE2 天前
【Unity基础详解】(9)Unity核心:UI系统
ui·unity·游戏引擎
jtymyxmz2 天前
《Unity Shader》7.3 渐变纹理
unity·游戏引擎