Unity_UI學習(UGUI)

目錄

 

01.Canvas對象和EventSystem對象

02.Canvas組件

03.RectTransform組件

04.Image組件

05.Button組件

06.Text組件

07.ScrollRect組件、Mask組件


01.Canvas對象和EventSystem對象

Canvas對象

所有遊戲節目裏的UI元素(紋理、圖像、按鈕、滑動條等)都必須位於Canvas對象下成爲其子物體,Canvas又叫做畫布

一個場景裏可以存在多個Canvas,也可以將其他的Canvas對象作爲當前Canvas對象的子節點。

在場景裏面創建一個Canvas時,會自動生成一個EventSystem對象。

Canvas的RectTransform組件的屬性不可直接修改,系統會根據畫面的大小自動設置

EventSystem對象

EventSystem對象可將系統中發生的鍵盤、遊戲搖桿、觸摸屏等傳入的信息傳遞給Canvas包含的UI元素。

除了上面兩個組件外,Event System也包含TouchInputModule組件等

02.Canvas組件

Canvas組件可以將遊戲所需要的各種UI元素放置到畫面上,並進行渲染。根據渲染模式的不同,UI元素的畫面配置方式也不同。

Screen Space - Overlay

默認值,UI元素都位於最頂層,可以根據畫面分辨率的設置自動調節位置。

Screen Space - Camera

與前一個類似,但可以設置渲染UI的相機。這樣就可以製作有透視感的UI界面等效果。

但是要注意修改UI相機的設置,避免與場景內主相機衝突。

World Space

可以向場景內其他遊戲物體直接添加UI對象,如製作HUD。此時Canvas不再受RectTransform組件的影響,而受相應遊戲物體位置的影響。

03.RectTransform組件

UI元素必須擁有的一個組件,類似於其他遊戲物體的Transform組件

RectTransform組件包含錨點(Anchors)、樞紐(Pivot)、大小(W、H)、位置(PosX、PosY、PosZ)、旋轉、比例等信息。

用一個Panel來舉例說明

Panel中心的圓形(黃圈裏的)爲其正中心,是佈局、排列UI元素時參考的基準位置,這個圓圈也是旋轉軸心。

拖拽Panel的四個角(綠圈裏的)可以調節Panel的大小,點擊鼠標並按Alt拖拽可以同時調整4邊的大小,按住Shift拖拽可以按當前Panel的比例進行大小調節

在Panel的周圍有四個白色的小三角(紅圈裏的)是以Panel的父對象爲基準的定位點(錨點)。UI對象的定位點都是以其父對象爲基準的。

Anchor Preset(預設值)

Anchor Preset可將各UI元素的排列與大小等設置定義爲預設。

按鍵盤上的Shift鍵和Alt鍵會出現不同的選項:

不按任何鍵:默認錨點預設

按Alt鍵:將當前選定UI移動到選擇的預設位置進行排列

按Shift鍵:只改變錨點和UI元素的中心點位置不移動UI

按Alt+Shift鍵:將UI元素的中心移動到與錨點相同的位置

注意:在移動錨點或是中心點時要將模式切換至如下,否則會無法移動

AnchoredPosition屬性

RectTransform屬性頂端的PosX、PosY、PosZ是以相應的錨點爲基準顯示當前UI元素的位置。

Width、Height顯示相應UI元素的寬、高

當改變UI元素的錨點設置後這幾個屬性值的名字會有所變化

Anchor屬性

通過Anchor屬性可設置調整UI元素的大小和對其方式。Min(X,Y)和Max(X,Y)是錨點的位置,取值均爲0.0f ~ 1.0f

其他屬性

04.Image組件

Image組件可以爲畫面添加紋理,但必須在Unity中將紋理轉換爲Sprite格式

Image組件的屬性

Image的4種顯示方式

Simple

用於固定圖像長寬比例,主要適用於裝飾畫面的圖片

固定原圖像長寬比例的選項

Sliced

即使調整圖像的大小,其邊框外圍部分的圖像也不會變形,只有中間切片的圖像纔會隨着調整的大小而縮放。

適用此選項要注意先將圖片在Sprite Editor中進行設置。

 

Fill Center屬性:勾選:顯示原圖像九宮格切片的中間圖像

不勾選:只顯示輪廓

Tiled

讓圖片不斷重複鋪滿整個畫面,不受Image大小影響

Filed

可以使圖片沿特定方向逐漸顯示直至填滿,可以用來製作血量條和技能冷卻的UI

RawImage組件

與Image相似,但主要是用於設置UI界面的靜態背景。

05.Button組件

主要屬性

Transition屬性

爲Button的狀態變換設置外觀上的變化。

Button狀態:默認、獲取焦點、按下、禁用

變化方式:顏色、圖片、動畫

注意:選擇動畫方式後點擊AutoGenerateAnimation按鈕,Unity會自動爲Button生成一個動畫控制器

當UI界面裏有多個Button時,Navigation用於設置如何通過鍵盤按鈕移動當前焦點。

Explicit:顯示指定,可以直接指定焦點要移動到的下一個Button

途中黃色的線條表示焦點移動的路徑。

如果不想通過移動焦點選定某個按鈕,可以設置Button的Visualize屬性(相當於開關)

ButtonEvent

點擊事件的觸發,Unity可以爲一個Button設置多個點擊事件。

06.Text組件

基本屬性

Text Effects

通過Outline組件可以爲文字添加陰影等效果。

07.ScrollRect組件、Mask組件

ScrollRect組件區域內的UI元素可以滾動,需要進行滾動的UI元素作爲ScrollRect所在對象的子物體存在

主要屬性

Mask組件

Mask組件相當於一個遮罩,可以將ScrollRect顯示以外的地方隱藏

Mask組件通常是與Image組件一同使用時纔有效果

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章