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

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

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

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

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

我們運行這個md5工具,如下


選擇我們的Resources文件夾,然后點擊生成,會生產一個校驗文本,會讓你選擇生產目錄如下


我們還選擇Resources文件夾下,然后點擊保存,如下


這時,我們校驗文本就生成了,我們來看一下


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

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


這時我們運行我們的Tomcat,如下

服務器,這面的工作就做好了,接下來,就到重點了,在Unity里編寫我們的更新校驗代碼啦。

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


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

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


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


進行檢測了,里面我做了一些網絡的東西,斷網提示和短線重連一類的,大家可以忽略。



第一次,更新進行對比,本地文件加載用的www,服務請求用的UnityWebRequest


繼續(xù)貼代碼






貼完了,接著我們運行一下看看,


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

有需要幫助的可以加我扣扣:95106197(因為工作比較忙,不是免費的晚餐哦),驗證附加:MD5資源熱更

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容