Unity资源热更新--资源管理、Addressable

实习前理解错了mentor的意思,任务没完成TAT,火速学习一下addressable,另外狠狠吐槽北京健康宝弹窗。

资源打包方式

可热更资源类型:预制件、材质、贴图、模型、场景、shader、动画与控制器(除代码外所有资源)

打包方式:按照标签、按照资源路径、打包插件(压缩选项与文版文件)

Addressable 

作用:①对assetbundle的包装②内存管理

支持资源引用计数

自动资源寻址:指定资源名称不用关心放在哪里,一个可寻址的引用,无论资源在云端还是本地。

远程/本地热更新对开发者透明,

菜单栏 window assets management --addressable- group 打开,添加拖拽即可,可以在其中重命名,默认的组为本地,远端则需要修改组设置: remoteloadpath为上传网址

制作AssetBundle

 三种测试模式:不打包 模拟打包 真正打包

第三种 每次修改都需要重新打包才能生效

第一种和在本地类似

第二种模拟打包便于测试

加载资源时如场景,不能用LoadScene,要使用异步的API:
 

Addressables.LoadSceneAsync(。。。);//加载
Addressables.UnLoadSceneAsync(。。。);//返回

获取要下载资源的大小:

Addressables.GetDownloadSizeAsync(levelReferences[index].RuntimeKey)

下载资源: 

Addressables.DownloadDependenciesAsync();

显示下载的百分比,因为每一帧都要显示 百分比故使用携程,下载资源的api上面提到的,返回的时AsyncOperationHandle,包括资源以及相关的状态信息途径信息过程信息,有关Async的方法都返回 AsyncOperationHandle。

在下面BundleMode中可以选择打包到一起还是分开打包(示例中的Remote group中的资源) 

 

 打包资源:在测试模式选择旁边的build,即可完成打包,打包后将资源上云等方式存储,将URL保存,打开addressable groups在测试模式旁边的tools-window-profiles 更改remoteloadpath路径为保存资源的网址。

后面遇到了许多问题,比如服务器跨域,参考了下面的解决:

Unity Webgl版本客户端处理跨域不能访问的问题_yiqiweichi的博客-CSDN博客_unity webgl 跨域

另外,发现资源云分发,使用unity CCD+adressableasset 非常方便,由unity帮你解决这些麻烦,教程b站上有官方的, 后续可以写个教程,并且汇总一些这段时间打包webgl出现的问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值