原文:http://docs.unity3d.com/Manual/UISystem.html
Canvas
所有的UI都應該放在Canvas里面(子層)。Canvas是一個帶有Canvas組件的Game Object。
所有的UI都應該是Canvas的孩子(子層;子節點)
創建一個新的UI元素,比如用菜單欄的GameObject>UI>Image創建一個Image(圖片),如果在Scene上沒有Canvas,將會自動創建一個Canvas,這個UI元素(例子中這里指的圖片)會作為Canvas的子層被創建。
在Scene View(場景視圖)中,Canvas將顯示成矩形.這將使得定位UI變得很容易,而不需要運行游戲觀看。
Canvas使用EventSystem(事件系統)對象去幫助通知系統(畫面更新的機制)
Draw order of elements(元素繪制的順序_上下關系)
UI元素繪制順序和在Hierarchy(層級視圖)中的順序。后面的將在更早的上面繪制。
改變元素的層級關系(繪制順序,上下關系),可以通過拖拽,進行簡單的排序。也可以通過腳本:使用使用Transform組件上的方法:SetAsFirstSibing,SetAsLastSibing和SetSiblingIndex。
Render Modes(渲染模式)
1.在screen空間中渲染
2.在world空間中渲染
Screen Space-Overlay
在這個渲染模式中,UI元素將在場景的上面。如果場景改變大小或改變分辨率,Canvas將自動改變大小去適配。
Screen Space-Camera
這和Screen Space-Overlay類似,但是在這個模式中,這個Canvas放置在了給定距離的攝像機的前面。這些UI元素都是通過攝像機繪制的。這意味着攝像機影響UI的外觀。如果攝像機設置為Perspective(透視視角),UI元素將會通過透明視角渲染,通過攝像機可視區域控制。
如果屏幕改變大小或改變分辨率,或攝像機frustrum改變,Canvas將自動改變大小去適配。
World Space
在這個繪制模式中,Canvas將和場景中的其他對象一樣顯示。Scene可以通過手動設置Rect Transform 來控制大小。在場景中,UI元素將繪制在其他基於3D放置的對象的錢前面或后面。對於UI作為世界的一部分是有用的。也被稱為”diegetic interface”。