現(xiàn)在主流項目中基本上都是NGUI和UGUI,那么到底選哪個,我們先來做個比較
圖集處理功能比較
NGUI需要使用工具手動拼接圖片成圖集。
UGUI開發(fā)期間可以直接使用圖片作為元素,打包時會自動拼接成圖集。
圖集的alpha拆分功能,NGUI可以通過增加工具類和shader來做,UGUI有自帶的alpha拆分功能方便許多。
組件支持功能比較
NGUI組件比較多,比較常用的有
- Localization System – 多語言組件
- UIScrollView – 滾動視圖
- UIButton – 按鈕
- UIToggle – 切換選擇組件
- UIScrollBar – 滾動條
- UIProcessBar – 進度條
- UIPopupList --下拉列表菜單
- UIInput – 輸入框
- UIKeyBinding – 快捷鍵綁定
- UIKeyNavigation – 導(dǎo)航綁定
- UIGrid – 排列
- UITable – 表格排列
- UIPlayAnimation – UI動畫
- UIAnchor – 錨點
- UICamera – UI攝像頭
- UIDragXXX – 拖拽攝像頭,元素,視圖等
- UIFont – UI字體
- UILabel – 文字組件
- UIPanel – 繪制面板
- UIPlaySound – 聲音播放
- UITexture – 貼圖
等等等等…還有很多
UGUI組件比較少,比較常用的有
- Text – 文字
- Image – 貼圖(圖集中的元素)
- RawImage – 貼圖(單張圖),可用于制作游戲小地圖
- Button – 按鈕
- Toggle – 切換與選擇
- Slider – 大小滑動塊
- Scrollbar – 滑動條
- Dropdown – 下拉框
- Input Field – 輸入框
- Canvas – 畫布
- Panel – 一大塊元素
- Scroll View – 滑動視圖
- Mask – 遮擋塊
可定制程度
NGUI和UGUI比較
NGUI有源碼,可以隨時隨地修改滿足特殊需求
UGUI源碼c#開源,可修改,但不是那么方便,需要重新打成dll后再替換原來的
輸入事件處理
NGUI通過攝像頭發(fā)出射線碰撞,接受輸入事件,并通過碰撞順序來處理層級。
UGUI根據(jù)輸入點的位置RaycastTarget,判斷事件應(yīng)該交給哪個UI元素。
層級顯示控制
NGUI依靠Panel depth、RenderQueue來控制層級。
UGUI可以依靠距離攝像機的前后位置來控制層級,也可以用sort order排序設(shè)置前后順序。
字體制作
NGUI不支持dynamic font。
UGUI支持dynamic font,可直接使用字體文件
社區(qū)完善程度
NGUI商業(yè)運營,氛圍良好
UGUI官方自運營,后臺強大
性能
NGU據(jù)很多測試網(wǎng)站統(tǒng)計,性能尚可
UGUI同樣,據(jù)很多測試網(wǎng)站統(tǒng)計,性能良好
好了,以上列出的是從幾個方面對NGUI和UGUI的比較。
從圖集工具來看,NGUI有更多的自主選擇權(quán),而UGUI更多的自動化的便利,
從組件支持度來看NGUI更適合快速原型,而UGUI更多的是需要自己編寫適合自己的組件。
從UI底層可定制度上看,兩者都是可定制的,但NGUI更加方便。
從輸入事件處理上看,NGUI混合了物理系統(tǒng),而UGUI有一套自己獨立的事件系統(tǒng)。
從層級顯示上看,NGUI概念有點混淆,而UGUI層級概念清晰干凈。
從字體制作上看,NGUI麻煩了點,而UGUI更加方便。
從社區(qū)完善上看,NGUI更加商業(yè)化,而UGUI有官方支持后臺強大。
從性能上比較看,NGUI臃腫了點但尚可,而UGUI更加良好。
綜合來看,NGUI和UGUI都各自有各自的特點,沒有絕對好,也沒有絕對的差,都各自有各自的特點,和擅長的領(lǐng)域。針對不同的人群和項目可以有不同的選擇。
如何選擇適合你的GUI
適不適合,并不是絕對的,根據(jù)人和項目來分,上面分析過程中看,NGUI和UGUI都各自有自己的特點,對每個人每種情況來說都是不一樣的。我的建議是選擇你熟悉的,嘗試你不熟悉的比較后再做決定。
Unity3D 4.x的項目通常會選擇NGUI,因為Unity3D 4.x對UGUI支持的并不好。而如今新項目都會選擇使用最新版本的Unity3D,所以選擇UGUI的會多一點。我們需要與時俱進跟隨潮流,所以如果你沒有嘗試過UGUI,熟悉UGUI應(yīng)該是遲早的事。鐵了心要做一個決定是用NGUI還是用UGUI,我的建議是,新項目啟用UGUI,老項目繼續(xù)使用NGUI。文章來源:http://www.zghlxwxcb.cn/news/detail-797095.html
但也不一定是一個套路用到底,比如有些人就是喜歡把控源碼,希望在源碼基礎(chǔ)上進行更多的自定義的修改,然后完善成自己的系統(tǒng)框架,更好的服務(wù)于游戲邏輯,或者擁有更好的性能定制,那么最好的選擇就是NGUI。不過UGUI也有源碼開放,只是不能隨意定制,只是在此基礎(chǔ)上擴展和重載。文章來源地址http://www.zghlxwxcb.cn/news/detail-797095.html
到了這里,關(guān)于【Unity入門】NGUI和UGUI比較的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!