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

Posted 陈言必行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 之 Addressable可寻址系统 -- 可寻址系统概念介绍 -- 入门相关的知识,希望对你有一定的参考价值。

可寻址系统面板概念 -- 入门(一)

概述:本片文章带大家了解可寻址系统的相关概念,为大家介绍可寻址系统导入方法和目录介绍。

一,可寻址系统概念介绍

1.1 官方话术

Unity Addressable Asset system 提供了一个可以随着您的项目而增长的系统。您可以从一个简单的设置开始,然后随着项目复杂性的增长和团队规模的扩大而重新组织,您可以通过最少的代码更改来完成所有这些。

也被简称为:AA,aa

例如,您可以从一组可寻址资产开始,Unity 将其作为一组加载。然后,当您添加更多内容时,您可以将资产分成多个组,以便在给定时间仅加载您需要的那些。随着团队规模的扩大,您可以创建单独的 Unity 项目来开发不同类型的资产。这些辅助项目可以生成它们自己的 Addressables 内容构建,您可以从主项目加载这些构建(同样只需最少的代码更改)。

关键特性:
Addressables 系统的一个关键特性是您可以为资产分配地址,并使用这些地址在运行时加载它们。Addressables 资源管理器在内容目录中查找地址以找出资产的存储位置。

而此时的资产可以内置到应用程序中、本地缓存或远程托管。资源管理器加载资产和任何依赖项,如有必要,首先下载内容。


1.2 几个概念

介绍几个Addressables系统管理的相关概念:

  • 资产地址:标识可寻址资产的字符串 ID。您可以使用地址作为加载资产的密钥。
  • 资产引用:可用于支持将 Addressable 资产分配给 Inspector 窗口中的字段的类型。您可以使用 AssetReference 实例作为加载资产的键。AssetReference类还提供了自己的加载方法。
  • 标签:您可以分配给多个资产并用于将相关资产作为一个组一起加载的标签。您可以使用标签作为加载资产的键。
  • 资产位置:描述如何加载资产及其依赖项的运行时对象。您可以使用位置对象作为加载资产的键。
  • Key:标识一个或多个 Addressables 的对象。键包括地址、标签、AssetReference 实例和位置对象。
  • 资产加载和卸载:Addressables API 提供了自己的函数来在运行时加载和释放资产。
  • 依赖项:资产依赖项是一种资产被另一个使用的资产,例如场景资产中使用的预制件或预制件资产中使用的材质。
  • 依赖和资源管理:Addressables 系统使用引用计数来跟踪正在使用的资产和 AssetBundle,包括系统是否应该加载或卸载依赖项(其他引用的资产)。
  • 组:您将资产分配给编辑器中的组。组设置决定了 Addressables 如何将组资产打包到 AssetBundle 中,以及它如何在运行时加载它们。
  • 内容目录:Addressables 使用目录将您的资产映射到包含它们的资源。
  • 内容构建:使用 Addressables 时,您可以在构建播放器之前将内容构建用于整理和打包您的资产作为单独的步骤。
  • 多平台支持:构建系统分离平台构建的内容并在运行时解析正确的路径。
  • Addressables 工具:Addressables 包包含多个窗口和工具,用于组织、构建和优化您的内容。
    默认情况下,Addressables 使用 AssetBundles 来打包您的资产。您还可以实现自己的IResourceProvider类来支持访问资产的其他方式。

二,可寻址系统目录介绍

2.1 导入工程

导入可寻址系统:Window->Package Manager 打开面板后,Packages选择UnityRegistry,然后在搜索框搜索Addressables

AddressablesAddressables.CN(中国版)的区别是:中国版新增了打包加密功能,若需要可以点击查看

官方文档:https://ucgbucket.unitychina.cn/AssetStreaming/AddressablesCN.pdf

PS: 当使用AA的加密功能时,可以将资源保护起来,但是同时也会带来性能上的消耗。消耗主要在解密资源上,同时加密资源内容放在Application.persistentDataPath上,解密过程中不仅占用cpu,也会耗费额外内存空间。

然后选择一个,点击右下角“Install”安装导入工程即可。


2.2 目录介绍

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

它们分别是:GroupsSettingsProfilesEvent ViewerAnalyzeHosting

  • Groups:资源组
    组列表显示项目中的可寻址组。展开列表中的组以显示其包含的资产。您还可以展开复合资源,例如 Sprite 表,以显示它们包含的子对象。
  • Settings:可寻址系统的各种设置
  • Profiles:配置文件
    配置文件包含一组可寻址构建脚本使用的变量。这些变量定义了诸如保存构建工件的位置以及在运行时加载数据的位置等信息。您可以添加自定义配置文件变量以在您自己的构建脚本中使用。
  • Event Viewer:事件查看器
    可寻址系统使用Event Viewer窗口来监控资产的内存管理。此窗口可以显示应用程序何时加载和卸载资产,并显示所有可寻址系统操作的引用计数。此窗口还显示了应用程序帧速率和分配的托管内存总量的大致视图。我们可以使用这些图表来检测可寻址事件(例如加载和释放资产)如何影响应用程序性能,并检测您从未释放的资产。
  • Analyze:分析工具
    分析工具是一种收集有关项目的可寻址布局信息的工具。在某些情况下,Analyze 可能会采取适当的措施来清理您的项目状态。
  • Hosting:托管服务
    托管服务提供了一个集成工具,用于使用可寻址资产配置数据从 Unity 编辑器中将打包内容提供给本地或网络连接的应用程序构建。托管服务可以在测试打包内容时提高迭代速度,还可以为本地和远程网络上的连接客户端提供内容。

TODO:下一篇文章会详细说明可寻址系统各个面板的属性和使用介绍 --> Unity 之 资源加载 – 可寻址系统面板介绍 – 入门(二)

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

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

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

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

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

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

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