本文仅作学习笔记与交流,不作任何商业用途
本文包括但不限于unity官方手册,唐老狮教程知识,引用会标记,如有不足还请斧正
目录
先看看官方怎么说
你可能需要搞清楚的一个概念:
层级窗口中的Canvas只是一个游戏对象
真正赋予这个游戏对象功能的是Canvas组件
1.定位与属性
画布组件表示进行 UI 布局和渲染的抽象空间
所有 UI 元素都必须是附加了画布组件的游戏对象的子对象
大致预览
你需要切换render mode才能看到一部分其他参数
关于此组件最最重要的就是渲染模式,本文将详解下面三个功能
2.渲染模式( Render Mode)
渲染模式是指UI的呈现方式
2.1屏幕空间覆盖模式
顾名思义就是UI在任何物体前
基本参数
更完美的像素:画面品质更好
渲染层级:数字越大越遮盖别人
目标显示器:分屏用的功能决定在哪一个display显示什么ui
额外着色器通道:定义额外的着色器通道的:着色器通道可以用于传递额外的数据到着色器,例如颜色、法线、切线等。这个选项可能允许你选择哪些额外的数据被传递到着色器
顶点颜色控制:控制顶点颜色是否总是被包含在渲染数据中:顶点颜色是一个可以用于各种目的的数据,例如改变物体的颜色、控制着色器效果等。这个选项可能允许你控制顶点颜色是否总是被包含在渲染数据中
2.2屏幕空间相机模式
就是物体可以在ui前面
基本参数
说过的我们不再赘述,其中Render Camera-渲染摄像机是用来专门渲染ui的
可以创建一个额外的专门渲染ui的摄像机拖进去,并按照如下选项设置第渲染UI摄像机
Layer = UI , Clear Flags =Depth only
这样你的gameobjcet物体和ui就不会发生莫名其妙的互相遮盖问题了:
注意我的物体和画布是卡在一起的,但是用两个摄像机分别渲染后,只看到了ui层。
2.3 世界空间模式
就是3D模式,物体和ui可以“穿模”
此模式将 UI 视为场景中的平面对象进行渲染。但是,与 Screen Space - Camera 模式不同,该平面不需要面对摄像机,可以根据喜好任意定向。画布的大小可以使用矩形变换来设置,但画布在屏幕上的大小将取决于摄像机的视角和距离。其他场景对象可以位于画布后面、穿透画布或位于画布前面