https://unity3d.com/cn/learn/tutorials/topics/best-practices/fundamentals-unity-ui?playlist=30089
理解组成Unity UI系统的各个部分很重要。一些基础的类和组件一起组成了这个系统。这一章节介绍一些的这系列文章所用到的术语,然后讨论一些Unity UI 关键系统的底层行为。
术语
Canvas是Unity的一个内部组件(native-code Unity Component)。由Unity渲染系统使用,可以提供将在游戏世界空间中绘制的分层几何图形。
Canvas负责把它们上面几何体合并成批次,生成合适的渲染指令,发送给Unity的图像系统。所有这些都是Unity 本地C++代码实现的,被称作rebatch 或者 batch build。当一个Canvas被标记为包含需要被rebatch的几何图形,那这个Canvas被认为dirty。
几何图形通过 Canvas Render 组件传递给Canvas。
一个 Sub-canvas 是一个嵌套在另一个Canvas下的Canvas。Sub-canvas 是它的子级和它们的父级隔离:一个dirty的子级不会强制它的父级去重新生成几何图形,反之亦然。(一个canvas是一个重绘单位)[1]