遊戲UI框架設計 一 架構設計理論篇

2022-01-10 18:16:26 字數 1522 閱讀 3893

遊戲ui框架設計(一)

---架構設計理論篇

前幾天(2023年2月)看到一篇文章,國內王健林、馬雲等大咖們看好的未來十大最有「錢途」產業中,排名第一的就是「泛娛樂」。 所以我們發現最近幾年無論是bat企業還是萬達等,都紛紛投資遊戲、電影、動漫等泛娛樂產業。

隨著人們物質生活的不斷提高,遊戲(包含端遊/手遊/vr/ar等遊戲形式)產業只會越來越繁榮。但是問題來了,我們一線的遊戲研發人員面對越來越複雜與規模龐大的遊戲開發需求(策劃文稿),越來越多的開發人員就更加重視與強調優良開發框架的使用,以期進一步增強遊戲開發效率與**質量!

本篇就基於unity遊戲引擎ugui為基礎,對ui介面遊戲架構做一些有益探索與研究。首先我們來研究一下大型遊戲專案中,沒有ui框架容易導致與出現的問題:

問題1;

以arpg為例,多個場景會反覆出現相同的「ui窗體」,造成多個場景中反覆載入相同的ui窗體。

解決思路:

「ui框架」 需要快取專案(例遊戲專案)中常用的「ui窗體"。

問題2:

開發商業複雜專案時,各個ui(ui指令碼)之間傳值,容易出現「緊耦合」的情況,容易導致專案的「可復用性」降低。

解決思路:

各個ui的生成、銷毀、切換,都是通過框架(manger)實現,各個ui之間不直接聯絡(傳值),開發類似「訊息傳遞中心」的機制來負責所有「ui窗體」或者ui指令碼之間的傳值。

問題3:

卡牌、rpg等遊戲型別專案,很多情況下會出現多個「彈出窗體」 疊加的現象,開發人員需要「手工」維護窗體中間的層級關係。

解決方案:

設計ui框架系統,使用「棧」的資料結構,儲存與控制當前所有需要顯示的「ui窗體」的層級關係。

問題4:

商業專案中多個「ui窗體」 疊加出現時,保持「ui窗體」的「模態顯示」非常重要(即: 彈出子視窗時,不允許玩家操作父窗體),否則容易出現各種誤操作。

解決方案:

設計的框架本身,需要對當前顯示的窗體做「遮擋處理」,即:不允許使用者繞過當前「ui窗體」直接操作底層窗體,或者誤操作點選專案中的3d遊戲物件等。

當然還有很多其他的問題,諸如:語言的國際化、「窗體預設」自動載入的管理等。但是設計ui框架乙個總的核心原則是:盡量讓框架本身完成與具體業務無關的事務性工作,讓開發人員只需要專注遊戲業務邏輯的開發本身即可。(這個原則同樣適用於其他框架的設計中)

為了解決以上商業開發遇到的各種問題,因此筆者設計如下ui窗體架構的「功能設計圖」:

相應的類圖設計如下:

為了更好的描述整個框架系統,筆者對整個框架分如下六個部分作詳細描述:

最簡版本設計

窗體的層級管理

模態窗體管理

配置管理與應用

訊息傳遞中心

資源國際化技術

先寫到這裡,下篇來講解「遊戲ui框架設計(二):「最簡版本」設計篇

MMO遊戲設計三 架構設計

首先要說明,這裡談的架構,並不是說遊戲伺服器由哪些功能伺服器搭建而成,而是想重點談談乙個好的遊戲架構,應該具備哪些特質。對網遊來說,玩家所操作的客戶端資料,往往是服務端針對該玩家資料的映象。打個比方,客戶端儲存了本角色的a的hp,mp等資料,服務端同樣也儲存了角色a的hp,mp。另外,當a的hp,m...

UI架構設計 一

在開發了不少只能穿戴類的手錶後,做上層的ui應用開發,系統的總結和規劃了一下ui顯示架構,足夠使用普通的手錶ui應用開發。下面來介紹乙個ui架構的乙個結構體,也是貫穿全程的重要節點!activity page.h 檔案裡面的各種定義 include include include include i...

智慧型家居通用管理平台 一 架構設計理念

物聯網之智慧型家居,早就存在多少年了。但直到2014年,智慧型家居的元年才真正到來。谷歌 蘋果 微軟 三星等世界一流企業,在2014年上半年,紛紛踏足這片市場廣闊的行業。來勢之猛,投入之大,真是前所未有。收購智慧型家居裝置廠商 制定行業標準 推出各類穿戴裝置 移動裝置,各種報道新聞充斥著人們的耳目。...