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或更高版本才有)

    1. Build Addressables content on Player Build: 在构建时始终构建AA包内容

    2. Do not Build Addressables content on Player Build: 在构建时不自动构建AA包,选择此模式若需要更新,则需构建之前手动构建AA

    3. 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:是否加载之前验证包的完整性

    1. Disable:禁用,从不校验
    2. Enabled,Including Cached:启用,包括缓存;始终在加载前进行校验
    3. 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里如何为资源命名

    1. Full Path:用完整路径
    2. Filename:资源的文件名
    3. GUID:用GUID串
    4. Dynamic:可寻址系统根据组内的资产选择最小的内部命名。
  • Cache Clear Behavior:什么时候清理缓存

    1. Clear When Space Is Needed In Cache:空间不足时清理
    2. Clear When When New Version Loaded:是有新版本时清理
  • Bundle Mode:打包模式

    1. Pack Together:组内资源打一个Bundle包
    2. Pack Separately:组内资源每一个创建一个Bundle包
    3. Pack Together By Label:组内资源根据设置标签打Bundle包
  • Bundle Naming Mode:创建bundle的名字

    1. Filename:文件名是从组名派生的字符串
    2. Append Hash to Filename:文件名+哈希值
    3. Use Hash of AssetBundle:使用AssetBundle的哈希值
    4. Use Hash of Filename:使用文件名哈希值
  • Asset Load Mode:资源加载模式

    1. Requested Asset and Dependencies:加载请求的资源和依赖(通常使用)
    2. All Packed Asset And Dependencies:加载所有打包的资源和依赖项
  • Asset Provider:定义 Addressables 使用哪个 Provider 类从该组生成的 AssetBundle 加载资产。将此选项设置为来自 Bundles ProviderAssets,除非有自定义 Provider 实现来提供来自 AssetBundle 的资产。

  • Asset Bundle Provider :定义 Addressables 使用哪个 Provider 类来加载从该组生成的 AssetBundle。将此选项设置为AssetBundle Provider,除非您有自定义 Provider 实现来提供 AssetBundle


以上是关于Unity 之 Addressable可寻址系统 -- 可寻址系统面板介绍 -- 入门的主要内容,如果未能解决你的问题,请参考以下文章

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

Unity 之 Addressable可寻址系统 -- 可寻址系统概念介绍 -- 入门

Unity 之 Addressable可寻址系统 -- 可寻址系统概念介绍 -- 入门

Unity 之 Addressable可寻址系统 -- 可寻址系统概念介绍 -- 入门

Unity 之 Addressable可寻址系统 -- 可寻址系统使用介绍 -- 入门

Unity 之 Addressable可寻址系统 -- 可寻址系统使用介绍 -- 入门