原創:【uGUI】Canvas - 畫布_Unity3d 開發技術http://blog.csdn.net/ios_song/article/details/52181763 想看圖片對比,可以去這個博客里面看!
??Unity 中有一個能夠直觀并且快速構建用戶界面的 UI 系統,我們叫它 uGUI。
uGUI
??在 uGUI 中,Canvas 是一個掛載了 Canvas 組件的游戲物件,它劃定了一個區域,用來容納所有的 UI 元素,并且這些 UI 元素必須是 Canvas 的子物件。
??當我們創建一個新的 UI 元素時,如果場景中還沒有 Canvas,就會自動創建出一個 Canvas。
??Canvas 會在 Scene 視圖中顯示出一個矩形區域,這就可以使我們在不運行專案的情況下,直接在 Scene 視圖中可視化地定位 UI 元素。
元素的繪制順序
??Canvas 中 UI 元素的繪制順序,和它們在層級視圖中出現的順序相同。Canvas 下第一個子物件會最先被繪制,接著是第二個子物件,以此類推。如果兩個 UI 元素重疊了,那么后繪制的元素會覆寫掉先繪制的元素。
??要想改變某個 UI 元素的繪制順序,只需要通過拖動重新在層級視圖中排列元素就可以了。繪制順序也能夠通過腳本來控制,需要用到 Transform 組件的三個方法:SetAsFirstSibling、SetAsLastSibling 和 SetSiblingIndex。
Render Mode - 渲染模式
??Canvas 中的 Render Mode 設定,用來決定它以螢屏空間進行渲染還是以世界空間進行渲染,有三種設定方式。
1、Screen Space - Overlay
??這種渲染模式將螢屏上的 UI 元素渲染在場景的最頂層。如果螢屏的大小或者解析度發生了變化,Canvas 也會自動改變大小,和螢屏的保持一致。
Screen Space - Overlay
2、Screen Space - Camera
??這個渲染模式和 Screen Space - Overlay 相似,在這種模式下,Canvas 會處于指定攝像機的前方,距離可以調整。UI 元素通過這個攝像機來渲染,攝像機的設定會影響 UI 的外觀。如果攝像機設定為了透視,UI 元素也會以透視呈現,并且透視的形變數可以通過攝像機的 Field of View 來控制。如果螢屏的大小或者解析度發生了變化,或者攝像機的視錐發生了變化,Canvas 同時也會改變大小,和螢屏保持一致。
Screen Space - Camera
3、World Space
??在這種渲染模式下,Canvas 就和場景中的其他游戲物件一樣。Canvas 的大小能夠手動地通過 RectTransform 來設定,并且 UI 元素會根據在 3D 場景中的放置位置,來決定渲染在場景中其他物件的前面還是后面。當我們想讓 UI 成為世界場景的一部分時非常有用。這也被稱作“敘事化界面(Diegetic Interface)”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/130007.html
標籤:Unity3D
上一篇:NGUI上加的粒子特效被遮擋
