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的不同項,會出現不同的屬性供設置。
Canvas的"Graphic Raycaster(Script)"用來調整射線。