1. 程式人生 > >Unity3D中Canvas畫布的建立和使用

Unity3D中Canvas畫布的建立和使用

Canvas是所有ui元素的父物體。

當新增一個Button型別的GameObject後,在"Hierarch"視窗中自動添加了一個Canvas,以及EventSystem。

在Canvas的Render Mode中有三個選擇:

1、Screen Space - Overlay 螢幕最上層,主要是2D效果。
2、Screen Space - Camera 繫結攝像機,可以實現3D效果。
3、World Space 世界空間,讓UI變成場景中的一個物體。

如果選擇"Screen Space - Overlay", Canvas的"Rect Transform"項被鎖定,此時,螢幕有多大,Canvas就有多大。

另外在還可以讓在Canvas中的Button自適應。選中Button,在"Inspector"視窗中的"Rect Transform",通過按著alt鍵把Button固定在相對於Canvas的某個位置,當Scene視窗大小變化,Canvas也隨著變化,其中的Button也始終固定在Canvas的某個區域,呈現出自適應的效果。

勾選"Pixel Perfect",在Canvas中的模糊效果消失,變得相對清晰。

"Sort Order"的值用來決定不同的Canvas的層級效果。

如果選擇"Screen Space - Camera",UI跟著攝像機走。

把"Hierarchy"中的"Main Camera"拖動到"Render Camera"屬性框上。

選中Button,能實現一些三維效果,而看到三維顯示效果的前提是:Main Camera的"Projection"的屬性值是"Perspective"。

如果選擇"World Space",Canvas就被作為Game Object,成為場景中的一個物體。利用這一點,可以很方便地新增跟隨物體的UI。

在Canvas的"Canvas Scaler(Script)"中, Dynamic Pixels Per屬性用來調整字型的大小,Reference Pixels Per用來調整邊框的粗細。選擇Ui Scale Mode的不同項,會出現不同的屬性供設定。