Unity资源热更新--资源管理、Addressable
實習(xí)前理解錯了mentor的意思,任務(wù)沒完成TAT,火速學(xué)習(xí)一下addressable,另外狠狠吐槽北京健康寶彈窗。
資源打包方式
可熱更資源類型:預(yù)制件、材質(zhì)、貼圖、模型、場景、shader、動畫與控制器(除代碼外所有資源)
打包方式:按照標(biāo)簽、按照資源路徑、打包插件(壓縮選項與文版文件)
Addressable?
作用:①對assetbundle的包裝②內(nèi)存管理
支持資源引用計數(shù)
自動資源尋址:指定資源名稱不用關(guān)心放在哪里,一個可尋址的引用,無論資源在云端還是本地。
遠(yuǎn)程/本地?zé)岣聦﹂_發(fā)者透明,
菜單欄 window assets management --addressable- group 打開,添加拖拽即可,可以在其中重命名,默認(rèn)的組為本地,遠(yuǎn)端則需要修改組設(shè)置: remoteloadpath為上傳網(wǎng)址
制作AssetBundle
?三種測試模式:不打包 模擬打包 真正打包
第三種 每次修改都需要重新打包才能生效
第一種和在本地類似
第二種模擬打包便于測試
加載資源時如場景,不能用LoadScene,要使用異步的API:
?
獲取要下載資源的大小:
Addressables.GetDownloadSizeAsync(levelReferences[index].RuntimeKey)下載資源:?
Addressables.DownloadDependenciesAsync();顯示下載的百分比,因為每一幀都要顯示 百分比故使用攜程,下載資源的api上面提到的,返回的時AsyncOperationHandle,包括資源以及相關(guān)的狀態(tài)信息途徑信息過程信息,有關(guān)Async的方法都返回 AsyncOperationHandle。
在下面BundleMode中可以選擇打包到一起還是分開打包(示例中的Remote group中的資源)?
?
?打包資源:在測試模式選擇旁邊的build,即可完成打包,打包后將資源上云等方式存儲,將URL保存,打開addressable groups在測試模式旁邊的tools-window-profiles 更改remoteloadpath路徑為保存資源的網(wǎng)址。
后面遇到了許多問題,比如服務(wù)器跨域,參考了下面的解決:
Unity Webgl版本客戶端處理跨域不能訪問的問題_yiqiweichi的博客-CSDN博客_unity webgl 跨域
另外,發(fā)現(xiàn)資源云分發(fā),使用unity CCD+adressableasset 非常方便,由unity幫你解決這些麻煩,教程b站上有官方的,?后續(xù)可以寫個教程,并且匯總一些這段時間打包webgl出現(xiàn)的問題。
總結(jié)
以上是生活随笔為你收集整理的Unity资源热更新--资源管理、Addressable的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工作室神器:迈拓维矩键盘鼠标同步操作器
- 下一篇: 在线python开发手册