最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity框架設(shè)計(jì):架構(gòu)師必備開(kāi)源框架:3天打造大廠商用框架

2023-01-14 18:13 作者:博毅創(chuàng)為  | 我要投稿

現(xiàn)在Unity的相關(guān)技術(shù)已經(jīng)都非常常熟了,如果你的技術(shù)能力與閱歷夠,搭建一個(gè)商用的游戲框架,你只需要3天的時(shí)間。今天給大家分享一個(gè)Unity老鳥(niǎo)3天能搭建一個(gè)自己的商用框架的幾個(gè)必備的開(kāi)源庫(kù),方便大家學(xué)習(xí)與使用,同時(shí)學(xué)習(xí)這些有前途的開(kāi)源庫(kù)也能讓你在公司里面游刃有余。

?

1: 搭建商用Unity框架必須要考慮的幾個(gè)點(diǎn)

?

首先我們做商用的Unity游戲開(kāi)發(fā)框架要考慮一些點(diǎn),做一些取舍,來(lái)做好技術(shù)選型,主要考慮以下幾個(gè)方面:

1:采用什么樣的技術(shù)來(lái)做熱更新,目前主流的熱更新方案有: Lua解決方案, ILRuntime解決方法,TypeScript的puerts解決方案, IL2CPP的解決方案, 目前強(qiáng)烈推薦大家使用IL2CPP的解決方案huatuo/HybirdCLR。因?yàn)檫@個(gè)方案是性能最好的,不會(huì)改變?nèi)魏蜺nity開(kāi)發(fā)方式的最好的一種熱更方案,也將會(huì)是Unity方案的主流。

2:選擇一個(gè)好的資源管理技術(shù)方案,資源管理技術(shù)方案是游戲開(kāi)發(fā)中最重要代碼量最多的方案之一。資源管理主要是要考慮開(kāi)發(fā),發(fā)布,打空包,資源熱更新,打包增量與更新, 多平臺(tái)多渠道多版本管理等需求。

3: 其它一些小模塊與游戲制作相關(guān)的工具,比如配置表,UI框架,時(shí)間管理,定時(shí)器,IO,Debug模塊等。

4: 采用什么樣的開(kāi)發(fā)模式來(lái)組織業(yè)務(wù)邏輯代碼, Unity是基于組件化開(kāi)發(fā)模式的,很多游戲框架也會(huì)做一些小的改動(dòng)來(lái)定義項(xiàng)目中的開(kāi)發(fā)模式,比如有些框架用狀態(tài)機(jī)作為流程切換與管理的主線(xiàn),有些用傳統(tǒng)的方式來(lái)做流程與管理的主線(xiàn),具體可以根據(jù)自己要做的游戲類(lèi)型, 開(kāi)發(fā)習(xí)慣,與團(tuán)隊(duì)成員的技術(shù)能力等來(lái)分析與選擇。

?

搞清楚了主要的這些點(diǎn)以后,我們就開(kāi)始針對(duì)這些來(lái)列舉一些開(kāi)源的框架,方便大家來(lái)學(xué)習(xí)與使用,讓你快速的搭建一個(gè)自己的框架出來(lái),做框架不再是一個(gè)很高級(jí)的事情,按照自己的想法來(lái)定義一個(gè)開(kāi)發(fā)模式,讓自己后期開(kāi)發(fā)游戲舒服快樂(lè)即可。我不主張直接用一個(gè)商用的整體框架, 比如GameFramework等, 除非他們和你的項(xiàng)目管理與組織方式非常貼近,否則要根據(jù)自己的項(xiàng)目實(shí)際來(lái)定制一個(gè)適合自己的開(kāi)發(fā)模式與工作流。但是不可否認(rèn),GameFramework, MotionFramework,ET等游戲開(kāi)發(fā)框架里面還是有很多值得學(xué)習(xí)的設(shè)計(jì)理念與習(xí)慣,所以作為開(kāi)發(fā)者我們也要學(xué)習(xí)相關(guān)的一些架構(gòu)設(shè)計(jì)與原則方式。

?

2: 商業(yè)框架必備: 當(dāng)前流行的開(kāi)源模塊

?

我們不給大家推薦整體的框架,因?yàn)檫@個(gè)和你的游戲類(lèi)型與管理方式,技術(shù)儲(chǔ)備等相關(guān)。我給搭建推薦幾個(gè)主要的模塊框架,這些模塊能很好的處理游戲開(kāi)發(fā)中的特定問(wèn)題,同時(shí)這些框架模塊也是在商業(yè)項(xiàng)目中經(jīng)過(guò)驗(yàn)證的。

首先是熱更新,現(xiàn)在只要是新項(xiàng)目,我都推薦大家使用基于IL2CPP vm的熱更方式huatuo/HybirdCLR, huatuo現(xiàn)在是途游開(kāi)源的,HybirdCLR團(tuán)隊(duì)之前在途游,后來(lái)做了一個(gè)類(lèi)似的框架HybirdCLR, 所以他們應(yīng)該是同文同種,都可以用,具體用哪個(gè),可以自己判斷,

我把兩個(gè)項(xiàng)目的github地址都放出來(lái):

Huatuo: 途游開(kāi)源,

https://github.com/tuyoogame/

HybirdCLR: focus creative games(代碼哲學(xué))開(kāi)源:

https://github.com/focus-creative-games

熱更新基于huatuo/HybirdCLR來(lái)進(jìn)行項(xiàng)目組織與構(gòu)建。選擇huatuo/HybirdCLR最大的好處幾乎不會(huì)影響到正常的Unity開(kāi)發(fā),你正常的使用Unity開(kāi)發(fā)就可以了,熱更新偷偷的就可以給你處理了。

?

選好了熱更新模塊以后,接下來(lái)就是資源管理模塊,我推薦大家使用途游開(kāi)源的YooAsset框架, YooAsset框架目前在很多項(xiàng)目中在用,因?yàn)橐彩峭居谓?jīng)過(guò)了商業(yè)驗(yàn)證后開(kāi)源出來(lái)的,能幫我們節(jié)省很多的開(kāi)發(fā)時(shí)間,同時(shí)用起來(lái)也非常的方便,他有Edtior模擬器運(yùn)行模式,單機(jī)運(yùn)行模式,聯(lián)機(jī)運(yùn)行模式。

項(xiàng)目仍然來(lái)自于途游開(kāi)源:

https://github.com/tuyoogame/

熱更框架與資源管理框架一確定,你的游戲開(kāi)發(fā)框架基本上都不會(huì)太差,能達(dá)到商用級(jí)別。而且這兩個(gè)都來(lái)自于途游的大廠開(kāi)源,可以放心的使用。

?

接下來(lái)就是游戲數(shù)據(jù)配置表框架,這里的話(huà)給大家推薦的是luban與FlashExcel。luban更完善與強(qiáng)大,能處理好{excel(csv,xls,xlsx)、json、bson、xml、yaml、lua、unity ScriptableObject} => {binary、json、bson、xml、lua、yaml、erlang、 custom format}等格式,F(xiàn)lashExcel專(zhuān)門(mén)處理配置表格。分別給到大家他們的項(xiàng)目地址:

FlashExcel:

https://github.com/nizhenchao/FlashExcel

luban來(lái)自與focus creative games(代碼哲學(xué))開(kāi)源:

https://github.com/focus-creative-games/luban

3 如何能定制好自己的游戲框架

?

前面我們講過(guò)游戲框架的核心就是定義一種針對(duì)某種類(lèi)型項(xiàng)目的開(kāi)發(fā)的協(xié)作與管理的方式。作為架構(gòu)師如何能夠定制好自己的游戲框架,我覺(jué)得重要的有幾點(diǎn):

(1) 掌握基本的原理原則與處理方式。雖然很多東西不用我們寫(xiě),但是基本的原理原則和使用方式我們要知道,比如打空包,技術(shù)原理是如何做的,比如增量更新技術(shù)原理是如何做的,比如熱更新的技術(shù)原理如何等,這些能夠幫助我們更好的使用與閱讀維護(hù)別人寫(xiě)的底層的庫(kù)。為什么很多小伙伴自己用庫(kù),怎么都用不好,看不懂,其實(shí)就是知識(shí)的儲(chǔ)備量不夠,如果你能了解主流的解決方案與思路,再去看別人寫(xiě)的源碼,你會(huì)發(fā)現(xiàn)開(kāi)源庫(kù)的好處就是別人花了大量的時(shí)間做了你要做的工作,而且還不用自己親自動(dòng)手,前提是你有和作者接近的知識(shí)儲(chǔ)備,所以我們要注重我們的基礎(chǔ)知識(shí)與基本原理原則的學(xué)習(xí)與積累。

(2) 搭建商用游戲框架還有重要的一個(gè)點(diǎn)就是先學(xué)習(xí)別人搭建的游戲開(kāi)發(fā)框架是如何組織管理項(xiàng)目的,它們的設(shè)計(jì)的優(yōu)點(diǎn)與缺點(diǎn)是什么?適合哪些游戲,哪些項(xiàng)目。很多人可能在公司用GameFramework/MotionFramework等,雖然我不建議大家在沒(méi)有搞懂自己的游戲類(lèi)型與開(kāi)發(fā)管理方式是否與這類(lèi)框架本身的理念符合時(shí)就盲目的使用開(kāi)源的游戲框架,而不是自己定制,但是我還是推薦大家學(xué)習(xí)一些游戲開(kāi)發(fā)框架的組織方式與設(shè)計(jì)理念,為定制你自己的開(kāi)發(fā)流做好一些設(shè)計(jì)準(zhǔn)備。

?

今天的分享就到這里了,關(guān)注我,下一節(jié)分享”Unity如何基于狀態(tài)機(jī)來(lái)組織驅(qū)動(dòng)游戲邏輯”。

附:視頻教程

https://www.bycwedu.com/promotion_channels/2146264125?

Unity框架設(shè)計(jì):架構(gòu)師必備開(kāi)源框架:3天打造大廠商用框架的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
江孜县| 万盛区| 新竹县| 密山市| 奎屯市| 德令哈市| 桦川县| 斗六市| 松原市| 丹棱县| 响水县| 岗巴县| 呼图壁县| 宜黄县| 项城市| 澎湖县| 蒙城县| 东城区| 盖州市| 克什克腾旗| 嘉祥县| 兴文县| 湖南省| 济南市| 嘉黎县| 苗栗县| 古交市| 松溪县| 蓝田县| 靖宇县| 扶绥县| 景东| 葫芦岛市| 凌云县| 沽源县| 南投县| 达拉特旗| 武强县| 长乐市| 萍乡市| 福建省|