Unity Addressables 简介
Addressables overview
可寻址资产系统(即,可寻址资产)是一个统一编辑器和运行时资产管理系统,它改进了对具有复杂实时内容交付需求的大型生产团队的支持。系统使用异步加载来支持从具有任何依赖项集合的任何位置加载。通过更有效地打包资产包并减少迭代时间,Addressables提供了一种使游戏更具动态性的简单方法。
可寻址解决了开发人员面临的挑战,如迭代时间、依赖关系管理、内存管理和内容打包。
The Addressables workflow
一旦资产(例如预制件)被标记为“可寻址”,它就会生成一个可以从任何地方调用的地址。无论资产位于何处(本地或远程),系统都将找到它及其依赖项,然后返回它。资产是用于创建游戏或应用程序的内容。资源的常见示例包括预设、纹理、材质、音频剪辑和动画。
Addressables抽象资产包,使内容管理更加高效,同时包含资产及其所有底层数据。
在可寻址工作流中,请求首先通过目录系统。系统将地址解码为一个位置,该位置由构建期间生成的关于资产是什么、其依赖关系、是本地还是远程等的数据组成。
从目录中,请求通过提供程序系统。一个或多个提供商使用这些位置查找内容,然后将其返回到设备。
在可寻址中,运行时是异步的。这使您能够在需要资产时灵活地检索资产,而无需更改游戏代码,无论资产在何处–其位置可能会根据您所处的开发阶段而变化。
Addressables Groups
当您将某物标记为可寻址时,它将成为可寻址组的一部分,可寻址组是可寻址资产及其数据的容器。您可以在“组”窗口中可视化组,该窗口是可寻址项的主基地。组可以确定该资产是在设备本地还是在服务器上。
可寻址组上的数据保存在模式中,即数据契约。其中一个模式侧重于如何将资产和内容构建到捆绑包中。构建路径和加载路径是更有用的设置之一,允许您通过从下拉菜单中选择变量将内容设置为本地或远程。
在Addressables概要文件系统中,为Addressables组创建概要文件,然后为给定概要文件定义希望变量计算的内容。这允许您在组上设置数据并远程更改,而无需重新编码该组的任何部分。
Production
为了最大限度地利用可寻址内容,它有助于根据您希望如何发布游戏的方式来可视化您的数据。您不必对结构进行承诺,因为在开发过程中很容易更改概要文件变量,但您应该有一种组织捆绑包的通用方法。
例如,如果您希望在游戏中附带远程内容,但希望该内容在开发过程中是本地的,则可以创建一个配置文件,其中远程路径指向流媒体资产。通过这种方式,您可以将所有远程内容全局更改为本地内容,而无需触摸组的代码。
Editor Hosting
有时,您需要在服务器上承载内容。您可以设置远程路径,使用托管服务定义的变量,而不是指向实际URL。
启用托管时,托管服务将在编辑器中设置HTTP主机。您可以将设备或播放器连接到此主机,以便进行测试。
编辑器托管的一个强大功能是,您可以将所有内容设置为远程。这对内容开发人员和艺术家特别有用,因为您可以在继续迭代内容的同时构建播放器并将其部署到设备上。您不必重新部署播放机,也不必担心将内容从一台设备移动到另一台设备。请查看我们的文档,了解有关创建和配置可寻址主机服务的更多信息。
Customizing your build
Addressables包有三个构建脚本,用于创建播放模式数据,以帮助您加快应用程序开发。脚本包括使用资产数据库、模拟组和使用现有构建。
使用资产数据库脚本。这让你在内容上进行迭代时可以进入和退出播放模式;您可以在游戏流程中快速运行游戏。它直接通过资产数据库加载资产,以进行快速迭代,而无需进行分析或创建资产包。
模拟组在不创建资产捆绑包的情况下分析布局和依赖关系的内容。要查看捆绑包在游戏过程中何时加载或卸载,请在可寻址事件查看器窗口(窗口>资产管理>可寻址>事件查看器)中查看资产使用情况。此模式可帮助您模拟加载策略并调整内容组,以找到生产版本的正确平衡。
Ref: https://unity.com/de/how-to/simplify-your-content-management-addressables