Unity3D:同时导入资源
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生
同时导入资源
默认情况下,Unity 在主编辑器进程中按顺序依次导入资源。但是,Unity 还支持并行导入某些类型的资源。并行导入使用多个进程同时导入资源,这比默认的顺序导入方法更快。
要启用并行导入,请转到编辑器>编辑>项目设置,然后在“资源管线”部分下,启用“并行导入”复选框。

平行进口的范围
Unity 的并行导入功能仅支持某些类型的资源。仅当编辑器执行其标准资源数据库刷新时,它才适用,当编辑器在 Project 文件夹中检测到新的或修改的资源并自动导入它们时,就会发生这种情况。
Unity 可以并行导入的特定资源类型包括:
- 纹理导入器导入的图像文件类型
- 模型导入程序导入的模型文件类型
其他类型的资产始终在资产数据库刷新期间按顺序导入。
某些资产数据库 API 方法也遵循此设置,如果您使用它们来导入、刷新或创建纹理或模型资源。这些是:
- 资产数据库导入
- AssetDatabase.Refresh
- AssetDatabase.CreateAsset
对脚本导入程序的影响
由于并行导入在单独的进程中运行,因此脚本导入程序代码的任何副作用也会在该进程中生效,而不是在主编辑器进程中生效。在单独的进程上运行的副作用可能会导致意外问题。例如,如果在工作线程上导入期间修改 C# 类上的静态变量,则该修改不会自动对编辑器主线程上运行的代码可见。
为导入而编写的任何代码都应始终是自包含的、确定性的,并且不应更改其运行的上下文(例如,它不应更改编辑器设置或在磁盘上创建新资产)。遵循这些规则有助于导入程序代码避免并行线程问题。它还可确保导入结果始终一致,并且编辑器始终使用缓存的工件,而不是不必要地重新导入资源。
控制导入工作进程
在“资源管线”设置中,有三个设置可用于控制导入工作进程的行为。这些设置是特定于项目的。

导入工作进程控制在“项目设置”窗口中。
设置名称 | 描述 |
---|---|
所需的导入工作器计数 | 导入管道认为并行运行的最佳数量的导入工作进程数。 |
备用导入工作线程计数 | 要保留的最小工作进程数,即使它们处于空闲状态。 如果工作进程数超过此数量,Unity 将关闭已空闲一段时间的导入工作进程,以释放系统资源。此属性允许您管理 Unity 在某些进程空闲时如何平衡系统资源,与启动新的导入工作进程所需的时间相比。 如果您经常迭代模型、动画或纹理工作,因此经常导入成批的模型或图像文件,则通过增加此值可能会提高导入性能。 |
空闲导入工作器关闭延迟 | 在关闭空闲辅助角色之前等待的时间量(以秒为单位)。 |
您还可以控制 Unity 为新项目设置所需导入工作线程计数的默认值。为此,请转到首选项>资产管道>导入工作人员计数百分比。

“首选项”窗口中的“导入程序工作人员计数百分比”设置。
创建新项目时,Unity 使用“导入工作线程计数百分比”值将项目的“所需导入工作线程计数”值分配给系统上可用逻辑内核数的百分比。
例如,如果您的系统有 16 个逻辑内核,并且此首选项设置为 25%,则新项目的所需导入工作线程计数为 4。如果将此值设置得太高,则导入工作进程需要争用其他进程和系统资源,例如读取和写入文件。默认值 25% 适用于大多数情况。
此文由3D建模学习工作室整理翻译,转载请注明出处!