找回密码
 立即注册
查看: 335|回复: 0

Unity 之 Addressable可寻址系统 -- 可寻址系统面板介绍 ...

[复制链接]
发表于 2023-2-11 13:00 | 显示全部楼层 |阅读模式
概述:本篇文章带大家了解可寻址系统的目录和各个设置面板的属性介绍。若需要了解如何导入可寻址系统和可寻址系统的相关概念,可点击链接查看上一篇文章。
一,可寻址系统目录介绍

1.2 创建分组

工程到导入后就会在Window->Asset Management->Addressables看到可寻址系统的几个工具目录:


选择Groups,会弹出Addressables Groups面板:


单击上面的“创建”按钮,即可开始使用可寻址系统。
<hr/>1.2 目录介绍

创建后,会在工程Assets目录下面生成一个AddressableAssetsData资源文件夹,其中存储设置文件和用于跟踪你的 Addressables 设置的其他资产。




<hr/>二,可寻址系统设置介绍

其中最常修改的是AddressableAssetSettings - 可寻址资产设置:


<hr/>2.1 Profile - 配置文件

配置文件设置:可下拉选择可以使用的配置文件列表选择配置文件。


点击Manager Porfiles按钮可以跳转到,Addressables Profiles面板,进行设置配置文件内容。


一般可用于测试服和正式服的环境切换,这样正式服和测试服配置信息就各自独立。
<hr/>2.2 Catalog - 目录

目录设置:可寻址目录相关的设置,此设置可将资产的地址映射到其物理位置。



  • Player Version Override: 播放器版本覆盖 覆盖用于指定远程目录名称的时间戳,若不设置,则默认使用时间戳。
  • Compress Local Catalog: 压缩本地目录 减少目录的存储大小,但增加了构建和加载目录的时间。
  • Optimize Catalog Siz: 优化目录大小 通过为内部 ID 创建查找表来减小目录的大小。可以增加加载目录所需的时间。
<hr/>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: 加载路径 若使用配置文件中路径就在配置文件中设置,若使用自定义路径则选择可用的加载目录即可。
<hr/>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: 禁用可见子资产表示 如果您不直接使用子对象(精灵、子网格等),启用此选项可缩短构建时间。
<hr/>2.6 Build and Play Mode Scripts

构建和播放模式脚本:配置项目中可用的IDataBuilder脚本。如果您创建自定义构建或播放模式脚本,则必须先将其添加到此列表中,然后才能使用它。


Addressables 包包含一些构建脚本,它们处理默认构建过程并提供在 Play 模式下访问数据的不同方式。您可以在 AddressableAssetData/DataBuilders文件夹中找到这些脚本。
要添加自定义脚本,请单击+按钮并从文件面板中选择代表所需脚本的 ScriptableObject 资产。
<hr/>2.7 Asset Group Templates - 配置的组模板



定义可用于创建新组的模板列表。创建新模板时,必须先将其添加到此列表中,然后才能使用它。
Addressables包包含一个模板,其中包含默认构建脚本使用的模式。您可以在 AddressableAssetData/AssetGroupTemplates 文件夹中找到该模板。
<hr/>2.8 Initialization object list - 初始化对象列表



为项目配置初始化的对象。这些对象都是ScriptableObject的对象,需要实现IObjectInitializationDataProvider接口。可以通过创建这些对象在Addressables初始化的时候传递数据。
<hr/>2.9 Cloud Content Delivery - 云内容交付




  • Enable Exerimental CCD Features:勾选则启用基本CCD功能
<hr/>三,可寻址系统资源组设置

在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。
<hr/>TODO:上一篇 --> Unity 之 Addressable可寻址系统 -- 可寻址系统概念介绍 -- 入门(一)
TODO:下一篇 --> Unity 之 Addressable可寻址系统 -- 可寻址系统使用介绍 -- 入门(三)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-16 08:42 , Processed in 0.091607 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表