Canvas

Canvas 组件在 Unity UI 系统中表示画布,任何 UI 元素都是基于这一张画布,通过不同的 UI Widget 组合,设计出一个漂亮的 UI。下面我们来认识这一组件。

Render Mode

Unity4.6 发布的 New GUI 有三种渲染模式,下面一一介绍:

  1. ScreenSpace-Overlay 通常这种模式下,我们不需要相机,也可以讲 UI Widget 渲染在屏幕上面。它好像在我们的摄像机上面添了一层薄薄的膜,也就是说,在这种模式下,当场景中存在其他物体时,首先看到的将是 UI 上面的 Widget。

  2. ScreenSpace-Camera 通常在这种模式下,我们可以使得 3D 场景中的物体夹在摄像机 和 我们的 UI 之间,这样我们可以将场景中的物体,比如一些特效之类的渲染在 UI 的上面,使得画面更炫。
    当我们设置为 Camera 模式时,我们需要指定一相机,这样 Unity 系统会通过该相机来渲染与之相关的 UI 和场景中的 GameObject. 另外,我们发现相机 和 我们的 Canvas 保存固定的相对位置,当改变 Camera 位置时,Canvas 的坐标也跟着变化,而 Canvas 中的 UI Widget 和 Canvas 保持相对位置不变。

  3. WorldSpace 这时 UI 是相对于世界空间的,和其他场景里的物体一样有世界位置、遮挡关系。此时相机为透视投影模式,UI 离摄像机越远,则越小,反之越大。

Canvas 有三个组件:Canvas 组件,Canvas Scaler 组件,Graphic Raycaster 组件


to be continued…