Version:

Asset Processor 界面

资产处理器Open 3D Engine (O3DE)一起启动,并作为后台进程运行。它监控扫描目录,并为资产处理任务创建和管理作业队列。通过资产处理器,您可以查看资产处理任务的结果,并排除资产处理问题。要查看 “资产处理器 “界面,右键单击系统托盘中的资产处理器图标,然后选择Show

Show the Asset Processor UI

Asset Processor 界面

资产处理器用户界面有几个选项卡,可以用来查看资产处理任务的状态,并了解特定任务和资产的详细信息。

Asset Processor UI

  • A: 左上角的状态行显示进程活动信息,包括活动任务数和剩余任务数。
  • B: 右上方显示性能指标,包括最后一次扫描所用时间、最后一次分析所用时间以及处理资产所用时间。
  • C: 选择 帮助图标访问该文档。
  • D: 状态行下方显示项目、引擎根目录以及资产处理器用于与其他进程通信的端口。
  • E: 左侧的按钮选择要在资产处理器用户界面中显示的选项卡。更多信息请参阅下面的 资产处理器选项卡
  • F: 资产处理器显示的信息取决于所选的资产处理器选项卡。有关详细信息,请参阅下面的 资产处理器选项卡

资产处理器选项卡

资产处理器界面左侧的按钮(上图资产处理器用户界面中标有E)选择要显示的选项卡(上图资产处理器用户界面中标有F)。

Jobs

在 “Jobs作业 ”选项卡中,Asset Status资产状态窗格显示资产处理作业的完整列表、作业状态和作业详情,包括完成时间、部署平台、作业关键字(作业的描述性名称)和最后处理作业持续时间。Event Log Details事件日志详细信息*窗格显示资产状态窗格中所选资产的事件日志详细信息。

关键资产的任务在非关键资产之前处理。关键资产是引擎运行所必需的,并由其资产构建者标记为关键资产。

资产处理器支持对尚未处理就被引用的资产进行作业升级。首次启动O3DE 编辑器时,它会等待所有关键资产处理完毕,然后打开 O3DE 编辑器。资产处理器继续在后台处理非关键资产。如果您与 O3DE 编辑器的交互引用了尚未处理的资产,则引用资产的任务会升级,以便快速处理和加载资产。

资产状态列表可按状态、源资产路径、完成时间、部署平台、任务关键字或处理时间排序。右键单击任何列表项,可访问源资产或产品资产,或查看处理任务的日志。

Asset Processor UI jobs tab

状态列

资产状态列表中的任务会显示以下状态:

  • Pending - 任务已创建,但尚未运行。
  • Processing - 任务正在进行中。
  • Completed - Warning - 任务已完成,但发出了警告。
  • Completed - Error - 任务已完成,并已发出错误信息。
  • Completed - 任务已成功完成,没有任何警告、错误或故障。
  • Failed - 任务失败,已发出失败信息。

作业有可能同时发出警告、错误和失败。

在有警告的情况下完成,会生成有效的产品资产,但可能会替换一些数据。假设一项任务正在处理一个生成多个网格产品资产的 .fbx 文件,而 .assetinfo sidecar 文件指定使用自定义法线处理网格。如果.fbx文件中的网格没有自定义法线,资产生成器会生成法线。生成的产品资产有效,但由于无法为网格资产找到自定义法线,因此会发出若干警告。

有错误的完成会生成产品资产,但它可能不适用于所有用例,例如数据不完整。当产品资产所需的数据缺失或无法生成时,就会出现错误。以上面的例子为例,假设 .assetinfo指定应为网格产品资产生成切线,但资产生成器却无法生成切线。最终结果是一个有效的产品资产不包含所有要求的数据。

失败的任务不会生成产品资产。

什么是日志信息、警告、错误和失败,以及系统如何处理这些信息,由每个创建者自行决定。我们的指导原则是:

  • 为任何内容打印日志信息,为内容创建者或创建者日后追踪问题提供有用的线索。
  • 如果出现问题,会发出警告,但大部分情况下都能得到处理,而且您的生成器所能生成的输出与内容创建者的意图相当接近。
  • 如果您的生成器遇到无法正确处理的数据,并且您知道输出的产品资产不会完全正确,则发布错误信息。在可能的情况下,发布错误比发布失败更可取,因为发布失败不会生成任何产品资产,因此其他资产对该资产的引用可能会中断。例如,如果Prefab引用了 FBX 文件中的网格产品资产,FBX 的更新会导致任务失败,那么在任务失败时对Prefab的任何编辑都可能会丢失对网格的引用。
  • 如果您的生成器遇到无法处理的情况,则发布失败,该生成器的处理应结束,生成器不应输出任何内容。这通常被认为是最后的手段,最常见的情况是生成器在处理过程中崩溃。
注意:
最常见的失败原因是资产生成器崩溃。当资产生成器崩溃时,资产处理器会将作业记录为失败,并继续处理作业列表中的资产。当重新启动资产处理器时,它会尝试重新处理任何失败的作业。如果资产处理失败,我们建议你首先检查失败的原因,并通知你的团队,共享任何相关的工件,如日志信息。一旦进入下一步,这些信息可能就会丢失。或者,您可以在 “资产 ”选项卡中找到单个源资产,右键单击资产,然后选择Reprocess File重新运行处理作业。

导致资产创建器在完成任务时出现警告、错误或失败的情况,由资产创建器的执行情况决定,但应遵循上述指导。

按关键字和状态筛选

资产状态列表可通过在过滤框中输入关键字和正则表达式进行过滤。正则表达式 (regex) 是标准的扩展格式 std::regexstd::regex 规则适用。

下面的示例搜索所有以 .png 结尾的文件。句号被转义,因为在 regex 搜索中,. 匹配任何非新行字符。$ 表示匹配应在字符串的末尾,因此不会匹配中间带有 .png 的多个扩展名的文件,例如,不会匹配 myImage.png.assetinfo。

\.png$
注意:
很容易忘记这是基于 regex 的搜索。搜索“.fbx ”实际上并不是搜索这个确切的字符串,而是搜索 fbx 后面的任何字符。“.FBX “会返回 “MyFBXTexture.png"这样的结果,因为它符合给定的搜索条件,‘.’可以匹配任何字符,包括本例中的‘y’。

下面的示例使用 regex 搜索 Actors 子目录下的任何文件。点加号 (.+) 表示 1 次或 1 次以上的任何字符。

/Actors/.+

您可以使用以下任一方法查看具有特定状态的所有资产。

  • 在筛选框中键入状态关键字(例如 “失败”)。

  • 选择 过滤器图标并选择要显示的状态类型。

您应用的筛选器将保持激活状态,直到您将其删除。

行上下文菜单

您可以对资产状态表中的每一行执行操作。在该行上右击,可显示包含以下操作的上下文菜单:

菜单项说明
Show in Asset Browser如果 O3DE 编辑器已打开,则在 O3DE 编辑器的 “资产浏览器 ”中突出显示资产。
View Source Asset切换到 “资产 ”选项卡,并为该任务选择源资产。
View Product Asset…弹出菜单显示此任务创建的所有产品资产。选择一个将切换到资产选项卡并选择该产品资产。
Open in Explorer在系统文件浏览器中打开资产。
Open尝试使用操作系统打开该类型文件的默认界面打开源资产。
Copy复制资产的名称。
Open log file打开资产的最新日志文件(如果存在)。
Open folder with log file打开包含资产日志文件的目录。

Event Log Details

事件日志详细信息表显示资产状态表中所选资产的资产处理信息。该表提供的活动日志显示了资产的处理过程以及处理过程中产生的任何错误或警告。

The Status 栏显示以下信息类型的图标:

  • Information - 有关资产处理的其他辅助信息。
  • Warning - 有关该资产潜在处理问题的其他支持信息。
  • Error - 资产的位置以及试图处理该资产时产生的具体错误。

Source 列表示生成信息的子系统(如资产生成器)或通用类型,如警告或错误。

Message 栏显示与所选资产的处理细节相关的信息。

注意:
信息 “栏有时会在 ”错误 “前加上 E:,在 ”警告 “前加上 W:

Event Log Details 表格还具有一个上下文菜单,可将详细信息复制到剪贴板。右键单击行,右键菜单会显示以下操作:

菜单项说明
Copy Line复制所选日志行。
Copy Line With Details复制选中的行以及Event Log Line Details表中显示的任何相关详细信息。
Copy All复制每个项的所有日志行和任何隐藏的详细信息。

如果事件日志详细信息表中所选行有任何附加信息,则会自动显示事件日志行详细信息表。只有在调试特定资产的问题时,详细信息和附加信息才会有用。

事件日志行详细信息表还有一个上下文菜单,可将详细信息复制到剪贴板。右键单击行,可显示包含以下操作的上下文菜单:

菜单项说明
Copy Selected Key复制所选行列中的文本。
Copy Selected Value复制所选行列中的文本。
Copy All Values复制表格中的所有键和值。

Event Log Line Details table

Assets

在 “资产 ”选项卡中,左侧的选项卡窗格显示扫描目录中的Source Assets树、Intermediate Assets资产缓存中的Product Assets树。您可以浏览其中一个树查找特定资产,或使用搜索栏按名称或 ID 查找资产。选择资产后,界面右侧会显示该资产的相关信息。

资产选项卡搜索也是基于 regex 的搜索,与Jobs选项卡一样。更多信息请参阅上一节 按关键字和状态过滤

注意:
选项卡中显示的目录树来自资产数据库,而不是磁盘上的文件。它只显示已处理的资产。资产处理器忽略的磁盘文件不会显示在目录树中。

您可以浏览扫描目录中的源资产,查看每个资产的 ID 和依赖性信息。您还可以浏览资产缓存中的产品资产,查看每个资产的 ID、最后处理时间、任务密钥、部署平台和依赖性信息。两个选项卡中都有一个搜索栏,用于过滤显示的资产列表。搜索可匹配部分文件名,并支持 regex。

选定资产后,您可以右键单击并从多个操作中进行选择,如查看源资产、查看作业、在文件管理器中打开资产位置、复制资产路径以及重新处理资产。

Source Assets

在左侧,源资产树显示与当前搜索过滤器匹配的所有源资产。搜索为空时,将显示所有源资产。最后分析任务持续时间 “列显示该源资产上所有构建器创建任务的持续时间值的累积。

在 “源资产 ”列表中选择资产后,右侧的标题和选项卡中将显示该资产的相关信息。

Asset Processor UI assets tab - source assets

面板说明
Asset Information所选资产的详细信息,包括资产名称、扫描目录路径和与资产相关的通用唯一标识符 (UUID)。
Products处理该源资产的工作所产生的产品资产。
Dependencies - Out已注册为在该源资产上运行的任何作业的源依赖关系的任何文件。
Dependencies - In有一个或多个任务将该源资产标记为源依赖关系的源资产列表。对该源资产的任何修改都会导致这些工作的运行。
注意:
选择产品资产名称旁边的 Go to图标可转到Product Assets 选项卡中的该资产,或源资产名称旁边的该图标可转到 “源资产 ”选项卡中的该资产。

Intermediate Assets

中间资产是资产处理器作为源资产监控的产品资产。通过它,您可以将构建器连锁在一起,并为资产处理添加离散步骤。与源资产窗格类似,搜索和中间资产树位于左侧。窗格右侧显示所选中间资产的详细信息,包括中间资产的结果,可能是产品资产或其他中间资产。您可以从 中间资产文档中获取更多信息。

Asset Processor UI assets tab - intermediate assets

Product Assets

左侧的产品资产树显示与当前搜索过滤器匹配的所有产品资产。搜索为空时,会显示所有产品资产。

在 “产品资产 ”树中选择资产后,右侧窗格中将显示该资产的相关信息。

Asset Processor UI assets tab - product assets

面板说明
Asset Information产品资产的信息,包括资产 ID、上次生成产品的时间、生成资产的工作(工作关键字)、为哪个平台生成资产以及哪个源资产是产品的主要输入。
Outgoing Product Dependencies此处列出了该资产所依赖的产品资产(输出依赖关系)。该列表中的项目可递归展开,以显示这些项目的输出依赖关系。
Outgoing Unmet Path Product Dependencies尚未解决的基于路径的产品依赖关系。在某些情况下,这些可能是可选的和预期的。在其他情况下,未满足的路径产品依赖关系可能表明产品依赖关系图中存在缺口。如果不解决这个缺口,捆绑的发布版构建可能会缺少内容。
Incoming Product Dependencies此处列出了依赖于此资产的产品资产(传入依赖关系)。该列表中的项目可递归展开,以显示这些项目的传入依赖关系。
Missing Product Dependencies该工具可检查该产品资产的内容,查找对其他产品资产的引用,并报告任何看似产品依赖关系但未报告的引用。详见 Resolving Missing Assets

Logs

日志 选项卡显示的是资产处理器本身的日志,而不是流程作业的日志。如果遇到特定流程作业的问题,可从作业选项卡中的作业日志开始调试。日志选项卡中显示的错误类型通常与管理流程作业、维护资产缓存和为流程作业写入日志信息有关。

日志 选项卡有一个窗格,其中有三个默认选项卡,分别显示调试消息仅警告/错误。您还可以添加自定义选项卡,以显示任何信息组合。

Asset Processor UI logs tab

Connections

在 “连接 ”视图中,一个窗格显示当前连接,并提供添加、删除和管理连接的工具。该视图显示与资产构建器、O3DE 编辑器以及资产处理器所服务的开发和部署平台的连接。您可以在允许列出的连接中添加已批准的连接,在拒绝的连接中添加未批准的连接。

Asset Processor UI connections tab

活动连接表的已启用列中,自动连接标记为 “自动”。这意味着这是资产处理器创建的连接。资产生成器连接就是这种连接的一个例子。用户创建的连接会显示一个复选框。如果选择复选框,资产处理器就会不断尝试重新连接这些连接。你可以在特殊情况下使用这些自定义连接,例如连接到公司内部网络以外的移动设备时。

编辑连接

您可以按以下步骤编辑连接。

  1. 在连接列表中左键单击所需的连接以选择该连接。
  2. 选择右上角的Edit Connection,打开Edit Connection对话框。

Connection edit dialog

Builders

在 Builders视图中,左侧窗格列出了资产处理器识别的所有注册建造商。你可以点击列表中的构建程序,在右窗格中检索构建程序的信息。

右窗格的标题显示了构建程序的类型、指纹、版本号和通用唯一标识符(UUID)。右窗格底部有三个堆叠标签,分别显示创建器的模式、详细信息和指标。

Asset Processor UI builders tab

项名称说明
Header资产创建器的类型、(分析)指纹、版本、总线 ID(创建器 UUID)显示在本节中。生成器类型可以是内部生成器或外部生成器。内部生成器在资产处理器中创建和运行,而外部生成器位于 Gems 中,在 AssetBuilder 应用程序中运行。
Patterns该生成器希望处理的所有文件模式。模式可以通过正则表达式(RegEx)或通配符定义。如果文件与创建器的模式匹配,它就会成为资产处理器跟踪的源资产。当源资产发生变化时,资产处理器将以该资产为参数调用创建器的 CreateJobs 函数。
Details该选项卡目前为空,保留用于将来显示有关该建筑商的详细信息。
Metrics此选项卡显示生成器处理其希望处理的所有源资产所需的累计持续时间。您可以展开树形结构,查看持续时间的组成。表格树可按名称、任务数、总持续时间或平均持续时间排序。

Tools

在 “工具 ”视图中,您可以激活快速扫描模式,启用调试输出,并启动对可用源资产的全面扫描。

Asset Processor UI tools tab

Faster Scanning Mode 使用文件的时间戳检测源资产文件的更改,并执行一系列快速检查以决定是否处理源资产。如果禁用快速扫描模式,则使用文件哈希值来检测更改,这会增加源资产分析时间。

启用调试输出后,支持该功能的构建程序将以产品资产的形式输出调试信息。

启动全面扫描会检查所有扫描目录,并处理任何需要处理的源资产。您可以启动全面扫描,尝试重新处理可能因资产生成器崩溃而失败的作业。

Shared Cache

您可以在共享缓存视图中配置资产缓存服务器 (ACS) 设置。资产缓存服务器是跨团队共享缓存产品资产的一种方式。启用资产缓存服务器后,资产处理器可以从资产缓存服务器检索预处理的产品资产,从而节省处理时间。你可以在此视图中设置资产缓存服务器模式、选择远程文件夹和管理资产模式。

有关资产缓存服务器模式的更多信息,请参阅 资产缓存服务器文档Asset Processor UI shared cache tab