U4S4L9——Packed Assets 打包资源数据配置
U4S4L9——Packed Assets 打包资源数据配置
打包资产配置的作用
Packed Assets 翻译过来的意思是 打包资产(资源),它的作用是确定如何处理组中的资源
比如:你可以指定生成AB包的位置和包压缩相关的等等设置
对于我们来说 关于组的设置参数
我们必须要掌握的就是可以为每一个组设置打包和加载的路径
远程加载还是本地加载,都在组中进行设置
打包资产参数讲解
组设置的作用是确定如何在内容中处理组中的资源 比如:你可以指定生成AB包的位置和包压缩相关的设置
-
Build & Load Paths:配置文件路径对
定义可寻址构建系统在哪个路径为此组创建内容,
以及可寻址系统在运行时在何处加载这些内容选择Custom就会自定义加载路径
-
Build Path:打包路径
- LocalBuildPath - 本地路径
- RemoteBuildPath - 远程路径
-
Load Path:加载路径
- LocalLoadPath - 本地路径
- RemoteLoadPath - 远程路径
-
Path Preview:路径预览
-
-
Advanced Options:高级选项
-
Asset Bundle Compression:AB包的压缩方式
默认为LZ4,它通常是最有效的选项,建议使用
- Uncompressed:不压缩,包较大,不推荐
- LZ4:压缩,相对LZMA大一点点,建议使用,
用什么解压什么,内存占用低 - LZMA:压缩最小,解压慢,用一个资源要解压所有
-
Include In Build:包含在构建中,是否在内容生成中包含此组中的资源(一般不会取消勾选)
如果取消勾选,那么在选择打包时,不会打包该组内容
-
Force Unique Provider:强制唯一提供者
Addressable是否对此组使用资源提供程序类的唯一实例。
如果您有此组中的资产类型的自定义提供程序实现,
并且这些提供程序的实例不能在组之间共享,则启用此选项。 -
Use Asset Bundle Cache:使用AB包缓存,是否缓存远程分发包
-
Asset Bundle CRC:是否在加载前验证AB包的完整性
- Disabled:永远不检查完整性
- Enabled,Including Cached:检查完整性,包括缓存也检查
- Enabled,Excluding Cached:检查完整性,但不检查缓存的包
-
Use UnityWebRequest for Local Asset Bundle:
加载AB包时,
使用UnityWebRequestAssetBundle.GetAssetBundle
而不是AssetBundle.LoadFromFileAsync
-
Request Timeout:下载远程包时超时的间隔时间
-
Use Http Chunked Transfer:下载包时是否使用HTTP/1.1块传输编码方法,在2019.3+中被废弃和忽略
-
Http Redirect Limit:下载包时允许重定向的次数。无限制设置为-1
-
Retry Count:重试失败下载的次数
-
Include Addresses in Catalog:是否将地址字符串包括在目录中
如果不使用地址字符串在组中加载资产,则可以通过不包括它们来减小目录的大小。
-
Include GUIDs in Catalog:是否在目录中包含GUID字符串
您必须包含guid字符串才能使用资产参考。如果不使用AssetReferences或GUID字符串在组中加载资产,则可以通过不包括它们来减小目录的大小。
-
Include Labels in Catalog:是否在目录中包含标签字符串
如果不使用标签在组中加载资产,则可以通过不包括这些资产来缩小目录的大小。
-
Internal Asset Naming Mode:如何在内部命名目录中的资源
- Full Path:全路径
- FileName:文件名
- GUID:资源的Guid字符串
- Dynamic:Addressables根据组中的资源选择最小的内部名称
-
Internal Bundle Id Mode :确定如何构造资产绑定的内部ID
例如,当您设置群GUID选项,
Addressables通过将组名与包guid字符串组合来创建包ID- Group Guid:组的Guid
- Group Guid Project Id Hash:组的ID和工程ID的哈希
- Group Guid Project Id Entries Hash:组的ID和工程ID项的哈希
-
Cache Clear Behavior:确定安装的应用程序何时从缓存中清除AB包
- Clear When Space Is Needed In Cache:在缓存中需要空间时清除
- Clear When When new Version Loaded:加载新版本时清除
-
Bundle Mode:打包模式,如何将此组中的资产打包到包中
- Pack Together:创建包含所有资产的单个包
- Pack Separately:为组中的每个主要资产创建一个包。
如精灵图片中的精灵图片被包装在一起。
添加到组中的文件夹中的资产也打包在一起 - Pack Together by Label:为共享相同标签组合的资产创建一个包
-
Bundle Naming Mode:如何构造AB包的文件名
- Filename:文件名
- Append Hash to Filename:将哈希附加到文件名
- Use Hash of AssetBundle:使用AB包的哈希
- Use Hash of FileName:使用文件名的哈希
-
Asset Load Mode:资源加载模式
- Requested Asset And Dependencies:请求的资源和依赖项
- All Packed Assets And Dependencies:所有包中的资源和依赖项
-
Asset Provider:资源提供者
定义提供程序类Addressable用于从该组生成的AssetBundles加载资产。将此选项设置为Bundles供应商的资产除非您有一个自定义提供程序实现来从资产绑定中提供资产
- Content Catalog Provider:内容目录提供器
- AssetBundle Provider:AB包提供器
- Assets from AssetDatabase Provider:资源来自资源数据库提供器
- Sprites from Atlases Provider:精灵来自图集提供器
- Assets from bundles provider:资源来自绑定提供器
- Json Asset Provider:Json资源提供器
- Assets from Legacy Resources:资源来自遗留的Resources提供器
- Text Data Provider:文本数据提供器
- Virtual AssetBundle Provider:虚拟AB包提供器
- Assets from Virtual Bundles:资源来自虚拟绑定
-
Asset Bundle Provider:AB包提供器
定义由该组生成的提供程序类Addressable用于加载AssetBundles。
将此选项设置为资产束提供者除非您有一个自定义提供程序实现来提供资产绑定。
-
-
Content Update Restriction:内容更新限制
- Can Change Post Release:
可以改变发行后内容,该模式不移动任何资源,
如果包中的任何资源发生了更改,则重新构建整个包 - Cannot Change Post Release:
无法改变发布后内容,如果包中任何资源已经改变,则[检查内容更新限制]工具会将其移动到为更新创建的新组中。
在进行更新构建时,从这个新组创建的AssetBundles中的资产将覆盖现有包中的版本。
- Can Change Post Release:
-
Add Schema(添加模式)
你可以将任意数量的架构模式分配给一个组
- Content Packing Loading:内容打包加载相关
- Content Update Restriction:内容更新限制 Resources and
- Built In Scenes:在内置数据中显示哪些类型的内置资源,可以选择是否显示 资源和内置场景
我们甚至可以通过继承
AddressableAssetGroupSchema
以定义自己的架构模式
创建自定义的配置
在Project窗口右键或者点击+号
Create(创建) ——> Addressables(可寻址) ——> Group Templates(组模板) ——> Blank Group Template(空白组模板)
我们可以自己设置新模板上的内容
之后,就可以在创建分组时,选择新的模板