Unity3D開發基礎元件提取總結

2022-08-16 11:12:10 字數 2171 閱讀 3730

在遊戲開發過程中,除了邏輯功能的開發之外,還有非常多基礎的模組。這些模組,對大部分手機網路遊戲來說都是一樣的。所以,在上個遊戲已經上線運營大半年之際,我認為有必要將這些模組整理出來。讓後面其它遊戲的開發,能夠不用從0開始。該遊戲client採用unity3d開發,那麼我們這裡抽取的基礎元件也就是針對unity3d引擎來的。

簡單的梳理之後,我發現主要有下面一些模組,能夠獨立抽取出來,當然各個模組之間也有乙個依賴關係。比方日誌模組,差點兒是全部模組都須要依賴的。

1、日誌模組

遊戲開發中,我們避免不了日誌列印,由於有些時候。我們須要輸出一些資訊或者進行一些除錯。

所以。乙個方便的日誌元件能夠事半功倍。當然,你也能夠直接使用unity自有的debug.log。

可是我們希望抽象出來一套日誌介面。為了更方便的控制和擴充套件。

2、資源讀取模組

遊戲開發中。我們有非常多的資源。包含lua指令碼,遊戲配置表,assetbundle等。

在研發的過程中,資源的改變是常事。所以,在研發的過程中,我們直接讀取本地的資源。這樣假設資源進行改變之後。裡面就能夠反映在unity編輯器中。上線或者內部提供的debug版本號,我們採用資源更新的方式,同一時候,我們會將資源碎檔案打包到乙個歸檔檔案(mpq)檔案裡。然後遊戲須要資源的時候,會從mpq歸檔檔案裡讀取。

所以,我們的資源讀取模組,主要提供乙個統一的資源讀取介面,呼叫者不用考慮當前資源是從本地檔案還是mpq歸檔檔案裡讀取到的。

3、資源更新模組

4、本地資源解壓模組

5、ui狀態管理

網路遊戲中。有非常多ui時。我們須要對開啟的ui和ui跳轉進行管理。

我們能夠採用一種相似狀態機的方式來管理ui。以及完畢ui介面的切換

6、socket/http通訊元件。以及協議相關元件

網路遊戲,自然少不了和server的通訊。如今我們一般採用socket長鏈結的方式。當然。如今手機遊戲的開發。也有非常多採用http的方式,也有非常多遊戲中兩種方式都存在。

7、lua整合

如今為了做熱更新,一般遊戲邏輯,我們採用lua來開發。

所以。我們須要繼承lua。如今整合lua能夠有非常多選擇。什麼ulua。kopielua,slua等。這裡都是大同小異,看自己的選擇吧。關鍵能夠做乙個簡單的封裝,讓lua邏輯的編寫採用統一的格式。

8、ui控制項事件的封裝,方便lua中使用

依據你選擇的lua外掛程式,能夠對ui中的事件做一些簡單的封裝。使得事件和**在lua中能夠更方便的處理

9、mpq資源打包和讀取元件

之前。我們說過。為了降低碎檔案。我們在公布增量更新的資源的時候,我們首先將全部須要增量更新的資源。打進乙個mpq歸檔檔案裡。

所以,我們須要兩個元件。乙個是mpq打包工具,另乙個c#中mpq檔案讀取元件。

10、多語言文字檔案處理

隨著遊戲的火熱,我們對海外渠道的支援,也是能夠預見的發展。

所以。我們在開發的時候,就須要想好多語言的支援。這裡除了unity本身模型和紋理等的支援,我們另一模擬方遊戲中各種tip提示等,也須要做多語言支援。 

11、渠道sdk統一api

國內大環境是上線時有n個渠道sdk須要接入。這裡我們在unity中抽象出一套統一的呼叫介面。遮蔽android和ios等平台的差異,然後提供android平台的支援,和ios平台的支援。至於sdk本身的接入。和渠道包的打包等我們採用u8sdk的方式來做。

12、物件池

手機遊戲對於使用者體驗有著較高的要求,所以我們在遊戲開發過程中,須要採用一定的技術來快取一些經常使用的元件,讓遊戲的效能體驗更加完好。

這裡。方案之中的乙個就是採用物件池技術。

物件池本身的實現和詳細的遊戲無關,能夠獨立成乙個元件

13、assetbundle管理

遊戲中,之前我們說過。我們是將資源打包成assetbundle。然後通過熱更新下來。

所以,遊戲中我們須要從assetbundle中完畢資源的讀取和例項化。

所以。為了更方便更好地讀取資源。我們能夠對assetbundle進行統一的管理

遊戲開發中還有非常多其它經常使用的輔助函式等,我們也能夠提取出來。 比方unity單例,多執行緒同步。md5。io操作等。

後面。我會將各個元件的實現大概說一下,也當給自己做乙個紀錄。這套東西。後面隨著時間的推移和經驗的積累,可能還會增加很多其它的功能。

Unity3D開發(九) Unity3d流光效果

遊戲開 壇 hello game 遊戲開發群 201276069 之前曾經注意過material 中紋理的屬性都有 tiling 和offset 但沒有深究過其用途,今天才知道竟然可以利用 offset做uv 動畫,從而完成各種有趣的動畫,比如流光效果!流過效果即通常一條高光光在物體上劃過,模擬高光...

Unity3D遊戲開發

入門級unity安裝教程 一 unity五大面板 unity3d的介紹 1 介面 選單 面板 元件 unity5.x 編輯器介紹 unity開啟篇 一 滑鼠右鍵 wsadeq前後左右上下移動 shift加速移動 滑鼠右鍵旋轉檢視 滑鼠中鍵移動檢視 alt 右鍵縮放 alt 左鍵旋轉物體視角 q移動場...

unity3D 查詢基礎

1.查詢全部語句 select from score 2.查詢部分資料 select id,name from users where name 張三 select id,name from users where name 張三 3.去掉重複字段查詢記錄 select distinct name ...