Unity5.3——UI之Canvas


原文: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將自動改變大小去適配。

UI in screen space overlay canvas

Screen Space-Camera

這和Screen Space-Overlay類似,但是在這個模式中,這個Canvas放置在了給定距離的攝像機的前面。這些UI元素都是通過攝像機繪制的。這意味着攝像機影響UI的外觀。如果攝像機設置為Perspective(透視視角),UI元素將會通過透明視角渲染,通過攝像機可視區域控制。
如果屏幕改變大小或改變分辨率,或攝像機frustrum改變,Canvas將自動改變大小去適配。

UI in screen space camera canvas

World Space

在這個繪制模式中,Canvas將和場景中的其他對象一樣顯示。Scene可以通過手動設置Rect Transform 來控制大小。在場景中,UI元素將繪制在其他基於3D放置的對象的錢前面或后面。對於UI作為世界的一部分是有用的。也被稱為”diegetic interface”。

UI in world space canvas


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM