Unity | UI系統(tǒng)

User Interface (UI)系統(tǒng)是應(yīng)用與用戶交互的窗口,合理地設(shè)置UI 可以讓用戶獲得更好的體驗(yàn)。

文 / 丁建雄
圖 / Mary Anna

小白是單純?yōu)榕d趣而寫作的獨(dú)立創(chuàng)作人,如果您喜歡小白的文章,歡迎關(guān)注、交流、分享(引用請鏈接到本文)。

寶貝
  1. unity 使用UGUI 作為自帶的UI 編輯器。
  2. 所有UI 元素都必須作為Canvas 的子對象存在,一個(gè)Canvas 可以掛載多個(gè)子對象,一個(gè)場景中可以存在多個(gè)Canvas 對象。
  3. Event System 的作用是用于處理場景中的交互事件。
  4. Canvas 的三種渲染模式(render mode):
    Screen Space-Overlay:默認(rèn)渲染模式,優(yōu)先級最高,不會(huì)被其他任何對象覆蓋,大小由Game 視圖大小決定。
    Screen Space-Camera:這種渲染模式基本和上一個(gè)一致,而由于是相機(jī)跟隨,如果屏幕尺寸改變,Canvas 會(huì)自動(dòng)重新適應(yīng)屏幕尺寸。
    World Space : VR項(xiàng)目必須以這種模式,這種模式下Canvas 對象會(huì)跟其他所有2D對象一樣存在于場景中。
  5. 在Canvas 內(nèi)部,位于下方的組件會(huì)優(yōu)先于上方的組件顯示在場景視圖的前面而發(fā)生遮擋。
  6. 交互元素包括:Button(按鈕),Toggle(開關(guān)),Slider(滑動(dòng)條)等,通過這些控件,可以響應(yīng)簡單的交互效果??梢酝ㄟ^設(shè)置一個(gè)UIController 對象來統(tǒng)一控制UI 交互的邏輯。
  7. 布局屬性理解:布局在新版本的UI系統(tǒng)中有很不錯(cuò)的改動(dòng),引入了Anchor(錨點(diǎn))和Pivot(軸點(diǎn)),關(guān)于這兩個(gè)屬性的理解,不少人都很迷糊,網(wǎng)上找了很多博客文章,寫得也是含糊不清。這里附上官方文檔:
    https://docs.unity3d.com/Manual/UIBasicLayout.html
    其實(shí),很好理解,恰如其名:錨點(diǎn)就是固定相對位置不動(dòng)的點(diǎn),如果父節(jié)點(diǎn)(屏幕)產(chǎn)生尺度縮放,子節(jié)點(diǎn)能保證與anchor 的距離保持不變,以此保證適配不同的屏幕;軸點(diǎn)就是旋轉(zhuǎn)中心,旋轉(zhuǎn)以此為中心而非幾何中心。
    這篇中文博客講解還行:https://blog.csdn.net/duotemplar/article/details/76644035,可以用于輔助理解。

結(jié)束語

UI 先簡單了解一下,具體到要用到某塊知識的時(shí)候再具體學(xué)習(xí)一下。其實(shí),由于主要處理3D物體,Unity 開發(fā)中可能沒有基于界面的應(yīng)用那么依賴UI,更多的是通過設(shè)置UI 的屬性來設(shè)置功能性的效果。廣義上講,整個(gè)場景其實(shí)就是一個(gè)巨大的UI(User Interface)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容