MD5校驗(yàn)和資源代碼熱更(U3D)

大家都知道,做為游戲開發(fā),現(xiàn)在公司肯定會問你會不會LUA,會不會熱更新,等。直入主題哈,今天給大家分享一下游戲中MD5校驗(yàn)和資源代碼熱更。當(dāng)然只是從服務(wù)器把資源代碼更新到本地,并不會給大家講解lua,因?yàn)橐齺砺?,一下也講解那么多也消化不了,那就期待,開始吧!

首先,我們開發(fā)引擎是Unity,Windows平臺,用的服務(wù)器為阿里云,在上面布置了TomCat做為我們的資源服務(wù)器。

先來看一下我們的資源,在我們電腦上創(chuàng)建一個Resources文件夾,里面放我們的資源,

這時,我做了一個md5工具,發(fā)布出來了,有需要的可以找我哦(這個不是免費(fèi)的午餐)!不多說了如圖

我們運(yùn)行這個md5工具,如下


選擇我們的Resources文件夾,然后點(diǎn)擊生成,會生產(chǎn)一個校驗(yàn)文本,會讓你選擇生產(chǎn)目錄如下


我們還選擇Resources文件夾下,然后點(diǎn)擊保存,如下


這時,我們校驗(yàn)文本就生成了,我們來看一下


?接下來,我們把我們的資源文件拷貝到我們的服務(wù)器啦。

打開我們的阿里云服務(wù)器,找到我們安裝的的tomcat文件夾下webapps下Root文件夾,把我們的Resources文件夾,拷貝過來,如下


這時我們運(yùn)行我們的Tomcat,如下

服務(wù)器,這面的工作就做好了,接下來,就到重點(diǎn)了,在Unity里編寫我們的更新校驗(yàn)代碼啦。

我們創(chuàng)建一個檢查更新的場景叫做UpdateCheck,創(chuàng)建個空物體CheckDataUpdate,當(dāng)然要創(chuàng)建個c#腳本掛在上面了哦,叫做ResUpdate,如下


,接下來看我們的代碼,講解一下原理呀,就是我們客戶端的md5校驗(yàn)文本和服務(wù)器上的校驗(yàn)文本對比呀,本地沒有的更新,有的不一致的則把本地的替換成從服務(wù)器下載下來的。嗯 就這么簡單。

手機(jī)(Android)的我們把更下的資源放在持久化目錄了,就是Application.persistentDataPath,可讀可寫,PC版本就放在Resource文件夾下了貼代碼


更新對比的文本叫version.txt,第一次,本地沒有會自動從服務(wù)器全更的哦。我們的服務(wù)器地址,跟下的本地地址,要更新文本名稱保存在List集合里。


進(jìn)行檢測了,里面我做了一些網(wǎng)絡(luò)的東西,斷網(wǎng)提示和短線重連一類的,大家可以忽略。



第一次,更新進(jìn)行對比,本地文件加載用的www,服務(wù)請求用的UnityWebRequest


繼續(xù)貼代碼






貼完了,接著我們運(yùn)行一下看看,


提示資源在更新了,并且我打印了更新文件的名字,這時我們可以做進(jìn)度條哦,有興趣的。

有需要幫助的可以加我扣扣:95106197(因?yàn)楣ぷ鞅容^忙,不是免費(fèi)的晚餐哦),驗(yàn)證附加:MD5資源熱更

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容