U3D熱更新流程

2021-09-11 08:53:34 字數 1851 閱讀 7250

找到安裝目錄下的conf目錄裡面的server.xml檔案,開啟後找到以下**:

connectiontimeout="20000"

redirectport="8443" />

現在看下agame下面的目錄結構:

以平台名為檔名,裡面存放的是乙個version.txt檔案,裡面的內容如下:

這裡用json格式記錄了一些版本資訊,version最新版本號

,forceinstallmaxversion是強制安裝最大版本號,這個版本號之前的都需要更換安裝包,

printlog是否列印日誌到本地,

uploadtoftp

是否上傳日誌到ftp,

openudp

是否開啟udp傳輸日誌。

這裡說一下

version欄位

的含義,目前暫定有5個字段來確定,如下圖所示

五個字段,用字元『.』隔開

現在判斷是否需要熱更就是拿本地檔案的版本號和網上的版本號做對比,現在是先對比bi**ersion然後對比smallversion,不一樣就更新。

這裡我將bundle檔案和資料檔案分開,bundle就是assets檔案,資料檔案包括配置表,ilruntime生成熱更dll,以及其他的一些資料都當成資料檔案放到data資料夾裡面, 可以單獨打包data裡面的資料檔案和bundle下面的資源檔案,也可以兩個一起打。推薦是一起打包,這樣絕對不會錯,單獨打包還要完善,後面會說下單獨打包的一些問題。

打包完後會在agame的同級目錄下面生成乙個publis**件夾,根據打包時候的版本號、打包的平台生成相應的目錄,然後把打包後的assetbundle和data檔案和版本檔案都複製過來。

只需要把1.6.0.1111.0整個檔案拖到tomcat根目錄下面就可以了。

assets資料夾裡面存放的是所有打包後的assetbundle檔案,datafile裡面存放的是專案data資料夾裡面的資料檔案。_versions.bytes存放的就是所有熱更資料資訊了,如下所示:

第三張datafile表,存放的是agame/data目錄下資料檔案。欄位名和assets表的乙個意思。

checkcodepush類就是處理熱更流程。abpath

一開始說能單獨打資源可以會出現問題。如果伺服器上有3個版本,1號版本裡面放的是全部資源的,2號放的只是data資料的,3號放的只是assetbundle資源的,那麼如果有人只更新了1號版本,然後下次再上的時候已經有3號版本了,跳過了2號版本,那麼這個包就更新不到2號版本的資料了。單獨打包的時候只會記錄所打的資源資訊,不會記錄全部的,例如只打data的那麼_version.bytes裡面就只有datafile這個表的資訊,就沒有assets這個表的資訊,反之亦然。所以單獨打無法確保安全。

u3d 關於asset資源熱更新總結

技能的配置是儲存在.asset檔案中,asset檔案對應的類檔案是放在plugins目錄下,我擴充套件了這個這個類,還想在下個版本中熱更出去,所以不得不把這個類從plugings目錄下挪出來,並且進行了重新命名 已經發布的apk包中是有這個類的,不重新命名應該會衝突。後來發現在editor下執行是可...

U3D初學概況

u3d介紹 2004年,英特爾 波音 adobe 3d資料編碼方式。而且傳統的三維檔案就是基於cs結構,本機系統,脫離源程式無法開啟和瀏覽,即使通過特定程式能夠開啟,也是以犧牲大量編輯修改功能作為代價,尤其是三維檔案一般都體積巨大,無法通過網際網路傳播 瀏覽!u3d的目標是結束諸如autodesk ...

U3D支援中文

讓unity的js編輯器sciteg永久支援中文 假如你的 中有中文這個設定是很爽的。以後注釋也可以中文了。方法 1.用記事本開啟c program files unity editor data tools uniscite sciteglobal.properties 2.找到 internat...