Addressables 资源管理全解二

接着上一篇文章我们继续讲…

一、使用Label为资源分包

1 . Addressables Group 窗口中,选择资源 Label 下的选择 Manage Labels 可以点击打开资源标签管理窗口

在这里插入图片描述

2.选择+号可以添加新的标签
在这里插入图片描述

3.再回到 Addressables Group 窗口中就可以为资源指定标签了
在这里插入图片描述

4.我们将上面提及的 Bundle Mode 改为 Pack Together By Label 则,之后打包则会按标签划分AB包。
在这里插入图片描述

5.标签可以设置多个标签,但不建议使用。
6.当加载了某个带标签的资源时,相同标签的资源将一同被加载。

二、批量加载 Label 下的所有资源

1.比如我们将这两个资源的 Label 同样设置为 LabelA
在这里插入图片描述

2.使用以下代码进行加载

AssetLabelReference textureLabel = new AssetLabelReference();
textureLabel.labelString = "LabelA";
Addressables.LoadAssetsAsync<GameObject>(textureLabel, (res) =>
{
    Debug.Log("加载了一个资源: " + res.name);
});

3.我们可以发现回调执行了两次,把下面两个资源都进行了加载
在这里插入图片描述

三、Content Update Restriction 内容更新方式

在这里插入图片描述

1.Can Change Post Release(动态资源)

发布后可更改
全部更新,后继更新的资源会替换旧资源,如Bundle有变化将整个bundle重新打包
于远程动态更新资源

2.Cannot Change Post Release(静态资源)

发布后不可更改
增量更新,后续的资源不改变原先资源包。用新增量资源改变内容。
新资源会一直按这个方式更新会形成依赖长链,旧资源会一直占缓存。
用于本地静态资源

如Bundle内资源变化了,会将其移动到新的分组。

四、Advanced Options 下内容讲解

在这里插入图片描述

名称简介作用说明
Asset Bundle CompressionAB包压缩方式当前资源组打包方方式
Include In Build加入构建中当前资源组是否参与
Force Unique ProviderForce 唯一提供商是Addressable否为该组提供独立的Resource Provider Class.
自定义的Provider需要勾选,但它不能与其他组共享。
Use Asset Bundle Cache使用资源缓存是否使用资源缓存,不用的话每次都重新下载
Asset Bundle CRC是否校验Bundle包完整性:1.Disabled 不验证
2.Enabled,Including Cached 总是验证
3.Enabled,Excluding Cached 只验证正常下载的部分
Use UnityWebRequest for Local Asset Bundles使用UnityWebRequest为本地资产该组的资源会使
UnityWebRequestAssetBundle.GetAssetBundle
代替
AssetBundleLoadFormFileAsync接口去加载本地资源
Request Timeout请求超时时间下载远程资源包的超时时间
Use Http Chunked Transfer使用Http分块传输下载时是否使用HTTP/1.1 chunked-transfer编码方式(2019.3以后已弃用)
Http Redirect LimitHttp重新定向次数下载资源时允许重新定向的次数,-1表示无限
Retry Count重试次数下再资源包失败后重试的次数
Include Addresses in catalogcatalog是否记录Addressable是否将Addressable地址写入catalog,
如不需要地址加载则不勾选,减少catalog体积
Include GUIDs in Catalogcatalog是否记录GUID是否将GUID写入catalog
如使用AssetReferences则为必选, 否则可取消以较少体积
Internal Asset Naming Mode在catalog里如何为资源命名Full Path : 使用完整路劲
Filename : 使用文件名
GUID : 使用GUID串 Dynamic : Add动态使用
Internal Bundle Id Mode如何构建内部Bundle的IDGroup Guid:
将组和GUID祝贺起来,即名字不变
Group Guid project id hash:
使用GUID和云项目ID组合(如有云服务)如项目绑定不同的云项目,则会发生变化因其在项目间构建的ID是确定且唯一的,因而在多个项目中共享资源时,推荐使用。
Grup Guid Project Id Entries Hash:
使用GUID和云项目ID组合(如有云服务)和组里的资源条目进行组合。注意:这种模式容易导致包缓存版本问题。
Cached Clear Behaviour缓存清理时机Clear When Space is Needed in Cache:
光空间不时进行清理
Clear When When new Version Loaded:
当有新版本时进行清理
Bundle Mode分包方式Pack Together: 整个打成一个AB包
Pack Separately: 每个Gorup分别打成一个AB包
Pack Together By Label : 将相同Label的资源打成一个AB包
Bundle Naming Mode如何创建Bundle名称Filename : 使用组名
Append Hash to Filename : 使用组名 加 包内容哈希值
Use Hash of AssetBundle : 使用内容的哈希值命名
Asset Load Mode资源加载方式Requested asset and ependencies:
是否在请求时单独加载资源
All Packed Assets And Dependencies:
同时加载组内所有资源
Asset Provider定义哪个Provider类去加载资源
Asset Bundle Provider定义哪个Provider去加载组产生的Bundle
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小盖子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值