Unity Addressables资源管理 资源组设置

Addressables资源管理总目录

1.Schema

翻译为:模式,计划。
目前理解为每个组的打包设置。

默认设置是只有两个
Content Update Restriciton 

Content Packing& Loading 

2.Content Update Restriction 内容更新方式

 

Can Change Post Release(动态资源)默认】: 发布后可更改。
全量更新,后续更新资源会直接替换旧资源。
如果这个Bundle内的资源变化了, 整个bundle都会被重新打包。
(比较适合作为远程动态更新资源)

Cannot Change Post Release(静态资源): 发布后不可更改。
增量更新,后续更新资源不改变旧资源包,使用新增量资源包加载改变的内容。
旧资源会一直占用缓存,新资源如果一直按照静态资源包在更新则会形成依赖长链。


如果这个Bundle内的资源变化了,工具就会将这些资源移到新的分组。
(Unity建议所有本地资产作为静态资源)

3.检测生成静态包的增量包

生成静态包后,并改变了静态包的内容,这时可以点击检测生成增量包

选择检测文件

详细流程:
先将默认组设置成了静态打了个资源包
然后修改了预制体图片的大小
再点击 Check for Content Update Restrictions 
选择要检测的 addressables_content_state.bin 文件

注意 必须保存好最 终发布版本 addressables_content_state.bin 文件,
因为后面每次更新构建都需要与这个文件进行对比。

 新生成的增量包则是默认为远程包。

4.Content Packing & Loading

Build and Load Paths

这个决定了资源构建路径和加载路径。

 

 Advanced Options

机翻

1.Asset Bundle Compression 当前组资源的打包压缩方式。
2.Include In Build 当前组的资源是否参与打包.
3.Force Unique Provider

是否让Addressables为该组提供独特的

Resource Provider Class。

如果有自定义的Provider实现,则需要勾选,

但是这个自定义Provider不能再组和组之间共享。

4.Use Asset Bundle Cache

是否缓存远程的资源

(不缓存则每次都重新下载)

5.Asset Bundle CRC

在加载的时候是否验证Bundle的完整性
- Disabled:不验证

- Enabled, Including Cached【默认】 总是验证

- Enabled, Excluding Cached:只验证,正在下载的那部分

6.Use UnityWebRequest for Local Asset Bundles

在该分组的资源加载中使用

UnityWebRequestAssetBundle.GetAssetBundle 接口

代替

AssetBundle.LoadFromFileAsync接口

去加载本地资源。

7.Request Timeout 下载远程包的超时时间
8.Use Http Chunked Transfer

下载的时候是否使用HTTP/1.1 chunked-transfer编码方法

(在Unity2019.3+已经被废弃)

9.Http Redirect Limit 下载资源包时允许的重定向次数,-1代表无限制
10.Retry Count 下载失败的重试次数
11.Include Addresses in catalog

是否将地址写进catalog,

如果这个组内的资源不需要通过地址加载,

可以取消该项来减少catalog的体积。

12.Include GUIDs in Catalog

是否将GUID写进catalog。

如果使用了AssetReferences,则必须勾选该选项。

如果没有使用AssetReferences的方式或者用GUID作为key去加载,

则可以取消勾选来减少catalog的大小。

13.Include Label in Catalog 是否将Label写进catalog。
14.Internal Asset Naming Mode

在catalog里如何为资源命名
- Full Path【默认】:用完整路径

- Filename:  资源的文件名

- GUID:        用GUID串

- Dynamic:   Addressables根据组内的资产选择最小的内部命名

15.Internal Bundle Id Mode

决定如何去构建Internal ID

- Group Guid:将组名字和GUID组合起来命名,

        也就是说这个名字不会改变。

- Group Guid project id hash【默认】

        使用组GUID和云项目Id的组合(如果启用了云服务)。

        如果项目绑定到不同的云项目Id,则会发生变化。

        当在多个项目之间共享资产时,建议使用这种模式,

        因为在项目之间构造的id是确定的且惟一的。

- Group Guid Project Id Entries Hash: 

        使用组GUID、云项目Id(如果启用了云服务)和

        组中的资产条目的组合。

        注意:使用这种模式很容易导致包缓存版本问题。

        添加或删除条目会产生不同的散列。

16.Cached Clear Behaviour

决定什么时候清理缓存

- Clear When Space Is Needed In Cache【默认】空间不足时清理

- Clear When When New Version Loaded:有新版本时清理

17.Bundle Mode

如何打包进Bundles
- Pack Together【默认】将组内资源打包成一个Bundle

- Pack Separately:

        为组中的每一个资源创建一个Bundle

        如精灵表中的精灵会被打包在一起。

        添加到组中的第一层文件夹也打在一起。

- Pack Together by Label:按照Label划分Bundle

18.Bundle Naming Mode

如何创建bundle的名字

- Filename:使用组名字符串。

- Append Hash to Filename【默认】使用组名+包内容的哈希值。

- Use Hash of AssetBundle: 使用包内容的哈希值命名

- Use Hash of Filename:使用组名字符串计算出来的哈希值。

19.Asset Load Mode

资产加载方式

-Requested asset and ependencies【默认】 

        是否在请求时单独加载资产

-All Packed Assets And Dependencies

        总是同时加载组中的所有资产。

20.Asset Provider

定义用哪一个Provider 类去加载组内的资源

-Assets from Bundles Provider【默认】

21.Asset Bundle Provider

定义用哪一个Provider 去加载这个组生成的Bundle

-AssetBundle Provider【默认】

猜你喜欢

转载自blog.csdn.net/qq_40346899/article/details/128321996