Version: Unity 6.0 (6000.0)
语言 : 中文
资源元数据
脚本化导入器 (Scripted Importer)

同时导入资产

默认情况下,Unity 在编辑器主进程中按顺序导入资产。但是,Unity 还支持某些类型资产的并行导入。并行导入使用多个进程同时导入资产,这比默认的顺序导入方法更快。

要启用并行导入,请选择编辑 (Edit) > 项目设置 (Project Settings) > 编辑器 (Editor),然后在资产管线 (Asset Pipeline) 部分下启用并行导入 (Parallel Import) 复选框。

项目设置窗口中的并行导入选项。
项目设置窗口中的并行导入选项。

并行导入的作用域

Unity 的并行导入功能仅支持某些类型的资产。仅当编辑器执行标准资产数据库刷新时,才适用此功能;当编辑器在 Project 文件夹中检测到新的或修改的资产并自动导入时,才会发生此情况。

Unity 可以并行导入的特定资产类型包括:

在资产数据库刷新期间,始终按顺序导入其他类型的资产。

如果使用某些资产数据库 API 方法导入、刷新或创建纹理或模型资产,也会遵循此设置。如下:

对 AssetPostprocessor 的影响

由于并行导入在 Unity 编辑器的单独工作实例中运行,因此处理纹理或模型导入的任何 AssetPostprocessors 也将在该实例中生效,而不是在编辑器主进程中生效。

这些处理器的任何副作用都可能导致意外问题。例如,如果在执行后期处理期间修改 C# 类上的静态变量,则此修改不会影响编辑器中运行的代码。

为后期处理器编写的任何代码都应该始终是独立的、确定性的,并且不应该改变其运行的上下文。例如,不应更改编辑器设置或在磁盘上创建新资产。

遵循这些规则有助于处理器代码避免并行线程问题,并确保结果始终一致。

控制导入工作进程

在资产管线 (Asset Pipeline) 设置中,有三个设置可用于控制导入工作进程的行为。这些设置特定于项目。

项目设置窗口中的导入工作进程控件。
项目设置窗口中的导入工作进程控件。

属性名称 描述
所需的导入工作进程数量 导入管线认为在此导入工作进程数量下,并行运行的效果最佳。
备用导入工作进程数量 要保留的最小工作进程数,即使它们处于空闲状态也是如此。

如果工作进程多于此数量,Unity 会关闭已空闲一段时间的导入工作进程以释放系统资产。此属性可用于管理 Unity 在某些进程空闲时如何平衡系统资源(与启动新导入工作进程所需的时间相比)。

如果您经常迭代模型、动画或纹理工作,因此经常导入成批的模型或图像文件,则可以通过增加此值来改善导入性能。
空闲导入工作进程关闭延迟 在关闭空闲工作进程之前等待的时间(以秒为单位)。

还可以控制 Unity 为新项目设置的所需的导入工作进程数量 (Desired Import Worker Count) 默认值。为此,请前往首选项 (Preferences) > 资产管线 (Asset Pipeline) > 导入工作进程数量百分比 (Import Worker Count %)

首选项窗口中的导入工作进程数量设置。
首选项窗口中的导入工作进程数量设置。

创建新项目时,Unity 使用导入工作进程数量百分比 (Import Worker Count %) 值将项目的所需的导入工作进程数量 (Desired Import Worker Count) 值分配给系统上可用逻辑核心数量的百分比。

例如,如果系统有 16 个逻辑核心,并且此偏好设置为 25%,则新项目的所需导入工作进量数量 (Desired Import Worker Count) 为 4。如果将此值设置得太高,则导入工作进程需要与其他进程和系统资源(例如读取和写入文件)竞争。默认值 25% 适用于大多数情况。

资源元数据
脚本化导入器 (Scripted Importer)