Unity 之 Addressable可寻址系统 -- 可寻址系统面板介绍 -- 入门
Posted 陈言必行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 之 Addressable可寻址系统 -- 可寻址系统面板介绍 -- 入门相关的知识,希望对你有一定的参考价值。
可寻址系统面板介绍 -- 入门(二)
概述:本篇文章带大家了解可寻址系统的目录和各个设置面板的属性介绍。若需要了解如何导入可寻址系统和可寻址系统的相关概念,可点击链接查看上一篇文章。
一,可寻址系统目录介绍
1.2 创建分组
工程到导入后就会在Window->Asset Management->Addressables
看到可寻址系统的几个工具目录:
选择Groups
,会弹出Addressables Groups
面板:
单击上面的“创建”按钮,即可开始使用可寻址系统。
1.2 目录介绍
创建后,会在工程Assets目录下面生成一个AddressableAssetsData
资源文件夹,其中存储设置文件和用于跟踪你的 Addressables
设置的其他资产。
二,可寻址系统设置介绍
其中最常修改的是AddressableAssetSettings
- 可寻址资产设置:
2.1 Profile - 配置文件
配置文件设置:可下拉选择可以使用的配置文件列表选择配置文件。
点击Manager Porfiles
按钮可以跳转到,Addressables Profiles
面板,进行设置配置文件内容。
一般可用于测试服和正式服的环境切换,这样正式服和测试服配置信息就各自独立。
2.2 Catalog - 目录
目录设置:可寻址目录相关的设置,此设置可将资产的地址映射到其物理位置。
- Player Version Override: 播放器版本覆盖
覆盖用于指定远程目录名称的时间戳,若不设置,则默认使用时间戳。 - Compress Local Catalog: 压缩本地目录
减少目录的存储大小,但增加了构建和加载目录的时间。 - Optimize Catalog Siz: 优化目录大小
通过为内部 ID 创建查找表来减小目录的大小。可以增加加载目录所需的时间。
2.3 Content Update - 内容更新
内容更新设置:控制远程内容构建和更新的设置。
- Disable Catalog Update on Startup: 在勾选后禁用目录更新
- Content State Build Path: 内容状态构建路径
可以设置默认构建脚本生成的内容状态文件路径。 - Build Remote Catalog: 启用以构建远程目录。
勾选启用,才有后面三项。 - Build & Load Paths: 构建和加载路径
可以选择一个在1.1中配置文件中的路径。 - Build Path: 构建路径
若使用配置文件中路径就在配置文件中设置,若使用自定义路径则选择可用的构建目录即可。 - Load Path: 加载路径
若使用配置文件中路径就在配置文件中设置,若使用自定义路径则选择可用的加载目录即可。
2.4 Downloads - 下载
下载设置:影响目录和AA包的下载处理设置。
- Custom certificate handler: 自定义正式处理类。
- Max Concurrent Web Requests: 最大并发Web请求
系统会将超出此限制的请求排队。建议同时下载2~4个以达到最佳下载速度。 - Catalog Download Timeout: 目录下载超时时间,单位秒。
2.5 Build - 构建
构建设置:可修改所有构建相关设置。
-
Build Addressables on Player Build: Unity构建是是否自动构建AA (Unity 2021.2或更高版本才有)
-
Build Addressables content on Player Build: 在构建时始终构建AA包内容
-
Do not Build Addressables content on Player Build: 在构建时不自动构建AA包,选择此模式若需要更新,则需构建之前手动构建AA
-
Use global Settings (stored in preferences): 使用全局设置(存储在首选项中),在打开Preferences面板下的Addressables系统,如下图:
-
-
Ignore Invalid/Unsupported Files in Build: 忽略构建中的无效/不受支持的文件
若启用则忽略无效和不支持文件,若不启用遇到无效文件则停止构建。 -
Unique Bundle IDs: Bundles包唯一ID
是否在每个构建中为包生成唯一名称。 -
Contiguous Bundles: 连续Bundle包
生成一个更有效的Bundle布局。 -
Non-Recursive Dependency Calculation: 非递归依赖计算
当资源具有循环依赖关系时,启用此选项可缩短构建时间并减少运行时内存开销。 -
Shader Bundle Naming Prefix: 着色器包命名前缀
给Unity着色器生成的包添加前缀。 -
MonoScript Bundle Naming Prefix: MonoScript Bundle 命名前缀
该Bundle包确保 Unity 在任何 MonoBehavior 可以引用它们之前加载所有 Monoscript。它还减少了重复或复杂的 Monoscript 依赖项的数量,从而减少了运行时内存开销。 -
Strip Unity Version From AssetBundles: 从 AssetBundle 中剥离 Unity 版本
是否从包头中删除 Unity 版本。 -
Disable Visible Sub Asset Representations: 禁用可见子资产表示
如果您不直接使用子对象(精灵、子网格等),启用此选项可缩短构建时间。
2.6 Build and Play Mode Scripts
构建和播放模式脚本:配置项目中可用的IDataBuilder脚本。如果您创建自定义构建或播放模式脚本,则必须先将其添加到此列表中,然后才能使用它。
Addressables
包包含一些构建脚本,它们处理默认构建过程并提供在 Play 模式下访问数据的不同方式。您可以在 AddressableAssetData/DataBuilders
文件夹中找到这些脚本。
要添加自定义脚本,请单击+按钮并从文件面板中选择代表所需脚本的 ScriptableObject 资产。
2.7 Asset Group Templates - 配置的组模板
定义可用于创建新组的模板列表。创建新模板时,必须先将其添加到此列表中,然后才能使用它。
Addressables
包包含一个模板,其中包含默认构建脚本使用的模式。您可以在 AddressableAssetData/AssetGroupTemplates
文件夹中找到该模板。
2.8 Initialization object list - 初始化对象列表
为项目配置初始化的对象。这些对象都是ScriptableObject
的对象,需要实现IObjectInitializationDataProvider
接口。可以通过创建这些对象在Addressables
初始化的时候传递数据。
2.9 Cloud Content Delivery - 云内容交付
- Enable Exerimental CCD Features:勾选则启用基本CCD功能
三,可寻址系统资源组设置
在Project
面板或在Addressables Groups
面板选中组,即可在Inspector
面板看到如下设置面板:
3.1 Content Update Restriction - 内容更新限制
- Update Restriction:更新的限制,可以选择:允许在发布后修改和不允许在发布后修改。
一般是远程加载的资源组设置为允许更新,本地加载的设置为不允许更新。
3.2 Context Packing & Loading - 打包和加载
- Bulid & Load Paths:设置此资源组的打包和加载路径,可选择使用配置文件的本地,远程,或自定义路径
Advanced Options:高级选项
-
Asset Bundle Compression:压缩格式
可选格式:LZ4,LZMA和不压缩三种,通常使用LZ4格式进行压缩。(WebGl平台不支持LZMA压缩格式) -
Include In Build:是否在构建中包含此组
默认勾选,不勾选则此组内资源打不进包中。 -
Force Unique Provider:是否为此组使用资源提供者类的唯一实例。
-
Use Asset Bundle Cache:是否缓存远程分发的Bundle包。
-
Asset Bundle CRC:是否加载之前验证包的完整性
- Disable:禁用,从不校验
- Enabled,Including Cached:启用,包括缓存;始终在加载前进行校验
- Enabled,Excluding Cached:启用,不包括缓存;仅在下次时校验
-
Use UnityWebRequest for Local Asset Bundles:使用从该组加载本地
AssetBundle 档案UnityWebRequestAssetBundle.GetAssetBundle代替AssetBundle.LoadFromFileAsync. -
Request Timeout:下载远程包的超时间隔。
-
Use Http Chunked Transfer:下载捆绑包时是否使用 HTTP/1.1 分块传输编码方法。在 Unity 2019.3以及之后的版本都已弃用。
-
Http Redirect Limit:下载资源包时允许的重定向次数,-1 表示没有限制。
-
Retry Count:重试失败下载的次数。
-
Include Addresses in Catalog:是否将地址写进catalog
如果这个组内的资源不需要通过地址加载,可以取消该项来减少catalog的体积。. -
Include GUIDs in Catalog:是否将GUID写进catalog。
如果使用了AssetReferences
,则必须勾选该选项。如果没有使用AssetReferences
的方式或者用GUID作为key去加载,则可以取消勾选来减少catalog的大小。 -
Include Labels in Catalog:是否将Label写进catalog。
-
Internal Asset Naming Mode:在catalog里如何为资源命名
- Full Path:用完整路径
- Filename:资源的文件名
- GUID:用GUID串
- Dynamic:可寻址系统根据组内的资产选择最小的内部命名。
-
Cache Clear Behavior:什么时候清理缓存
- Clear When Space Is Needed In Cache:空间不足时清理
- Clear When When New Version Loaded:是有新版本时清理
-
Bundle Mode:打包模式
- Pack Together:组内资源打一个Bundle包
- Pack Separately:组内资源每一个创建一个Bundle包
- Pack Together By Label:组内资源根据设置标签打Bundle包
-
Bundle Naming Mode:创建bundle的名字
- Filename:文件名是从组名派生的字符串
- Append Hash to Filename:文件名+哈希值
- Use Hash of AssetBundle:使用AssetBundle的哈希值
- Use Hash of Filename:使用文件名哈希值
-
Asset Load Mode:资源加载模式
- Requested Asset and Dependencies:加载请求的资源和依赖(通常使用)
- All Packed Asset And Dependencies:加载所有打包的资源和依赖项
-
Asset Provider:定义
Addressables
使用哪个Provider
类从该组生成的AssetBundle
加载资产。将此选项设置为来自Bundles Provider
的Assets
,除非有自定义Provider
实现来提供来自AssetBundle
的资产。 -
Asset Bundle Provider :定义
Addressables
使用哪个Provider
类来加载从该组生成的AssetBundle
。将此选项设置为AssetBundle Provider
,除非您有自定义Provider
实现来提供AssetBundle
。
TODO:上一篇 --> Unity 之 Addressable可寻址系统 – 可寻址系统概念介绍 – 入门(一)
TODO:下一篇 --> Unity 之 Addressable可寻址系统 – 可寻址系统使用介绍 – 入门(三)
以上是关于Unity 之 Addressable可寻址系统 -- 可寻址系统面板介绍 -- 入门的主要内容,如果未能解决你的问题,请参考以下文章
Unity 之 Addressable可寻址系统 -- 可寻址系统面板介绍 -- 入门
Unity 之 Addressable可寻址系统 -- 可寻址系统概念介绍 -- 入门
Unity 之 Addressable可寻址系统 -- 可寻址系统概念介绍 -- 入门
Unity 之 Addressable可寻址系统 -- 可寻址系统概念介绍 -- 入门