Version:

扫描目录

进入资产管道的入口是将源资产放入扫描目录。扫描目录由资产处理器监控,以查找新的和更新的源资产和资产依赖关系。

扫描目录的系统路径取决于您的项目和 O3DE 配置及安装。下面的目录列表按优先级降序排列。项目目录中的源资产优先于具有相同相对路径的 Gems 和 Engine 目录中的源资产。

默认情况下,资产处理器监控以下扫描目录:

  1. Project - 项目根目录和子目录包含项目专用的源资产。

  2. Gems - 已添加到项目中的 Gems 目录可能包含源资产,包括示例资产和关键资产。

  3. Engine & Editor - 引擎和编辑器的根目录和子目录包含的资产通常被标记为关键资产,是运行 O3DE EditorLauncher 所必需的。

  4. Intermediate Assets - 其他源输出的中间资产的根目录。 这些文件应与资产缓存一样处理,它们是生成的文件,不应被修改,也无需通过源控制进行跟踪。

可以通过注册表键值添加额外的扫描目录。在大多数情况下,最好使用 Gems 将源资产存储到其他位置,而不是通过注册表键值添加扫描文件夹。

扫描目录位置

引擎、项目和单个 Gems 可以安装在用户机器上任何可访问的位置。对于同一项目的多个贡献者来说,这些位置甚至可能不一样。例如,一个用户可能会选择将项目、引擎和所有 Gems 安装在同一个驱动器(C 盘)上。另一个贡献者可能会选择将它们混合安装在多个驱动器上,将项目安装在 C 驱动器上,将引擎安装在 D 驱动器上,将一些 Gems 安装在 E 驱动器上,将更多的 Gems 安装在 F 驱动器上。

扫描目录中的文件

扫描目录为 资产生成器 提供了读取文件作为源资产的入口点,以便在资产缓存中生成产品资产。

扫描目录中的文件不会自动成为源资产。源资产是扫描目录中已为其创建任务的文件。否则,这些文件称为非资产源文件。非资产源文件没有 UUID 标识,只能通过路径引用。

引用扫描目录中的文件

在开发过程中,有三个核心点可能需要引用并可能加载扫描目录中的文件。

在所有情况下,都必须确保所有资产的 依赖 都准确无误。

来自资产创建器

在创建 资产创建器 时,加载构建器使用的主要源资产非常简单。创建作业和处理作业功能都有一个参数,其中包含相关源资产的路径。

有时可能需要在这些构建器中加载主源资产以外的其他文件。有关处理这些情况的详细信息,请参阅 本文档关于加载其他文件

来自外部工具

在许多情况下,将被放置到扫描文件夹中的源资产文件是由 O3DE 外部工具创建的。在某些情况下,这些文件可能是由许多不同的外部工具生成的标准、可移植的文件格式,如 FBX 文件。在其他情况下,这些文件可能仅由特定工具生成。无论在哪种情况下,资产创建器作者都可能无法修改源文件格式。

在建立流水线时,最好能设计源资产文件格式,以避免与其他文件的相对路径或绝对路径。

如果无法做到这一点,例如使用现有的文件格式(如 FBX 文件)引用材质中的纹理,则需要在资产创建过程中以某种方式解决这些路径问题。有时,这些路径是来自生成源资产的机器的绝对路径。有时它们是相对路径,只能在生成源资产的机器上正确解析。如何处理这个问题通常取决于所编写的资产生成器的具体情况,但最常见的解决方案是忽略引用资产的所有路径信息(文件名和扩展名除外),然后在与正在处理的资产相同的目录中搜索与之匹配的文件,如果在该目录中找不到引用文件,则完全放弃引用。

来自编辑器内工具

在大多数情况下,在制作可读取和写入源资产的编辑器内工具时,文件格式可由作者完全控制。在这种情况下,当引用另一个资产时,作者应注意一个资产引用另一个资产时可能出现的路径问题。在其他情况下,如果编辑器内工具加载的是无法修改的已有文件格式,请参阅前面关于处理来自外部工具的文件引用的章节。