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