Unity - UI入門



在本節中,我們將學習Unity中使用者介面或UI元素的設計過程。這包括基本設定,以及Unity自帶的常用元素概述。

在Unity中設計UI的工作流程與我們之前所經歷的流程略有不同。首先,UI元素不是標準的遊戲物件,不能像遊戲物件那樣使用。UI元素的設計方式不同;如果設定不正確,在4:3解析度下看起來正確的選單按鈕,在16:9解析度下可能會看起來拉伸或變形。

Unity中的UI元素不會直接放置到場景中。它們始終作為名為畫布的特殊遊戲物件的子物件放置。畫布就像場景中UI的“繪圖紙”,所有UI元素都將在其中渲染。在沒有現有畫布的情況下從建立上下文選單建立UI元素將自動生成一個畫布。

Canvas

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

Canvas GameObject

頂部的矩形變換似乎有很多標準遊戲物件的Transform沒有的新屬性。

這是因為,雖然普通遊戲物件的Transform描述了3D空間中的一個虛,但RectTransform定義了一個虛矩形。這意味著我們需要額外的屬性來精確定義矩形的位置、大小和方向。

我們可以看到矩形的一些標準屬性,如高度和寬度,以及兩個名為錨點的新屬性。錨點是畫布上其他實體可以“鎖定”到的點。這意味著,如果一個UI元素(例如,一個按鈕)錨定到畫布的右側,調整畫布大小將確保按鈕始終位於畫布的相對右側

預設情況下,您將無法修改畫布區域的形狀,它將在您的場景周圍形成一個相對巨大的矩形。

Gigantic rectangle

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

Canvas Component

我們看到的第一個選項是渲染模式。此屬性定義用於將畫布繪製到遊戲檢視中的方法。

在下拉列表中,我們有三個選項。讓我們在後續章節中瞭解這些選項。

螢幕空間 - 疊加

此模式對於選單、HUD等是最標準的模式。它在場景中所有其他內容的頂部渲染UI,完全按照其排列方式,並且沒有例外。它還在螢幕或遊戲視窗大小發生變化時很好地縮放UI。這是畫布中的預設渲染模式。

螢幕空間 - 相機

螢幕空間 - 相機建立一個虛投影平面,該平面與相機保持一定距離,並將所有UI投影到該平面。這意味著場景中UI的外觀在很大程度上取決於相機使用的設定;這包括透視、視野等。

Screen Space Camera

世界空間

在世界空間模式下,UI元素的行為就像放置在世界中的普通遊戲物件一樣。然而,它們類似於精靈,因此通常用作遊戲世界的一部分,而不是用於玩家,例如遊戲內監視器和顯示器。由於這種性質,您可以在此模式下直接修改畫布RectTransform的值。

畫布縮放器是一組選項,允許您以更明確的方式調整UI元素的比例和外觀;它允許您定義當螢幕大小發生變化時UI元素如何調整大小。例如,UI元素可以保持相同的大小,而不管螢幕大小如何以及與螢幕大小的比例,或者它們可以根據參考解析度進行縮放。

圖形射線投射器主要處理UI元素的射線投射(指向Unity文件中射線投射的連結),並確保使用者發起的事件(如點選和拖動)正常工作。

廣告