
- Unity教程
- Unity - 首頁
- Unity - 簡介
- Unity - 安裝和設定
- Unity - 建立精靈
- Unity - 修改精靈
- 變換和物件父子關係
- Unity - 內部資源
- Unity - 儲存和載入場景
- Unity - 基本移動指令碼
- Unity - 理解碰撞
- Unity - 剛體和物理
- Unity - 自定義碰撞邊界
- 理解預製體和例項化
- Unity - 遊戲物件銷燬
- Unity - 協程
- Unity - 控制檯
- Unity - 音訊簡介
- Unity - UI入門
- Unity - 按鈕
- Unity - 文字元素
- Unity - 滑塊
- Unity - 材質和著色器
- Unity - 粒子系統
- Unity - 使用資源商店
- Unity 有用資源
- Unity - 快速指南
- Unity - 有用資源
- Unity - 討論
Unity - UI入門
在本節中,我們將學習Unity中使用者介面或UI元素的設計過程。這包括基本設定,以及Unity自帶的常用元素概述。
在Unity中設計UI的工作流程與我們之前所經歷的流程略有不同。首先,UI元素不是標準的遊戲物件,不能像遊戲物件那樣使用。UI元素的設計方式不同;如果設定不正確,在4:3解析度下看起來正確的選單按鈕,在16:9解析度下可能會看起來拉伸或變形。
Unity中的UI元素不會直接放置到場景中。它們始終作為名為畫布的特殊遊戲物件的子物件放置。畫布就像場景中UI的“繪圖紙”,所有UI元素都將在其中渲染。在沒有現有畫布的情況下從建立上下文選單建立UI元素將自動生成一個畫布。

現在讓我們看看畫布遊戲物件,瞭解一些新的元件:

頂部的矩形變換似乎有很多標準遊戲物件的Transform沒有的新屬性。
這是因為,雖然普通遊戲物件的Transform描述了3D空間中的一個虛點,但RectTransform定義了一個虛矩形。這意味著我們需要額外的屬性來精確定義矩形的位置、大小和方向。
我們可以看到矩形的一些標準屬性,如高度和寬度,以及兩個名為錨點的新屬性。錨點是畫布上其他實體可以“鎖定”到的點。這意味著,如果一個UI元素(例如,一個按鈕)錨定到畫布的右側,調整畫布大小將確保按鈕始終位於畫布的相對右側。
預設情況下,您將無法修改畫布區域的形狀,它將在您的場景周圍形成一個相對巨大的矩形。

接下來是畫布元件。這是主元件,它包含一些關於如何繪製UI的通用選項。

我們看到的第一個選項是渲染模式。此屬性定義用於將畫布繪製到遊戲檢視中的方法。
在下拉列表中,我們有三個選項。讓我們在後續章節中瞭解這些選項。
螢幕空間 - 疊加
此模式對於選單、HUD等是最標準的模式。它在場景中所有其他內容的頂部渲染UI,完全按照其排列方式,並且沒有例外。它還在螢幕或遊戲視窗大小發生變化時很好地縮放UI。這是畫布中的預設渲染模式。
螢幕空間 - 相機
螢幕空間 - 相機建立一個虛投影平面,該平面與相機保持一定距離,並將所有UI投影到該平面。這意味著場景中UI的外觀在很大程度上取決於相機使用的設定;這包括透視、視野等。

世界空間
在世界空間模式下,UI元素的行為就像放置在世界中的普通遊戲物件一樣。然而,它們類似於精靈,因此通常用作遊戲世界的一部分,而不是用於玩家,例如遊戲內監視器和顯示器。由於這種性質,您可以在此模式下直接修改畫布RectTransform的值。
畫布縮放器是一組選項,允許您以更明確的方式調整UI元素的比例和外觀;它允許您定義當螢幕大小發生變化時UI元素如何調整大小。例如,UI元素可以保持相同的大小,而不管螢幕大小如何以及與螢幕大小的比例,或者它們可以根據參考解析度進行縮放。
圖形射線投射器主要處理UI元素的射線投射(指向Unity文件中射線投射的連結),並確保使用者發起的事件(如點選和拖動)正常工作。