Unity3D之UGUI學習筆記(一):UGUI介紹以及Canvas


UGUI是Unity3D4.6官方提供的UI系統,支持2D和3D UI的開發。

Unity3D UI史

OnGUI

在Unity4.6之前,官方提供的是OnGUI函數來開發UI界面,當然問題也比較多,首先不支持可視化開發,其次UI始終位於所有3D對象的上方,無法實現在UI上添加3D模型的效果。

現在一般這套系統多用來在Unity編輯器中開發界面或者快速搭建一些調試界面時使用。

NGUI

大名鼎鼎的NGUI是可以看做是開發Unity游戲必備的插件,支持可視化開發,同時也支持2D和3D UI的開發,想在UI上顯示3D模型和粒子也沒問題。

我也有一套NGUI的學習筆記,還在完善中,詳情可以點擊:http://www.cnblogs.com/hammerc/p/4481597.html

UGUI

首先這套官方的UI系統就是被Unity請去的NGUI作者開發的,所以在操作上兩者大體一致,同時UGUI是開源的系統,大家可以在下面的連接中獲得UGUI的源碼:

https://bitbucket.org/Unity-Technologies/ui/src

官方案例

大家可以下載一下官方提供的UGUI案例:

https://www.assetstore.unity3d.com/en/#!/content/25468

Canvas

在UGUI中,其根容器為Canvas,我們發現無論添加任何UI到場景中,都會默認生成Canvas以及EventSystem。

所有的UI都必須作為Canvas的子級進行添加。

我們接下來詳細的看看Canvas的一些設置:

Canvas

Render Mode:渲染模式,如下

  1. Screen Space - Overlay:2DUI,始終顯示在屏幕最前方。
  2. Screen Space - Camera:2D及3DUI,綁定到指定攝像機,可顯示3D內容,同時UI可以進行3D方面的旋轉,UI可以獲得3D效果。
  3. World Space:3DUI,存在3D空間中的UI。

Pixel Perfect:是否已像素的方式來顯示UI。

Sort Order:不同Canvas之間的前后顯示排列設置。

Canvas Scaler

Ui Scale Mode:UI縮放模式,如下:

  1. Constant Pixel Size:像素大小始終不變,即一個100*100的圖片在任何的分辨率下都占用100*100的像素。一般PC上會使用這種方式,因為PC端分辨率差異並不大。
  2. Scale With Screen Size:不關心圖片的實際像素大小,而只關心Width及Height值,這個值如果是1000,那么100高度的圖片在任何分辨率下都只占用屏幕1/10的尺寸。一般移動端會使用這種方式,因為移動端分辨率差異較大。
  3. Constant Physical Size:根據物理單位來進行縮放。

Graphic Raycaster

場景中的射線調整,用於交互事件的配置。

EventSystem

我們簡單看下EventSystem,后面會有筆記詳細記錄EventSystem的使用方法:

這里綁定了3個腳本,可以發現除了本身的EventSystem外,還添加了關於標准輸入(即鼠標鍵盤)和觸摸輸入兩個輸入腳本。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM