version | 导入管道用来检测导入脚本新版本的数字。更改此数字将触发重新导入与所列扩展名匹配的所有资产。 |
exts | 脚本化导入器处理的文件名扩展名列表(不包括前面的句点字符)。 |
ext | 脚本化导入器处理的单个文件名扩展名(不包括前面的句点字符)。 |
importQueueOffset | 根据类型控制资产导入顺序。正值会延迟处理源资产文件,而负值会使它们更早地出现在导入过程中。 |
overrideExts | 除了默认文件名扩展名之外,脚本化导入器可以处理的文件名扩展名列表(不包括前面的句点字符)。 |
使用 ScriptedImporter 属性用 Unity 的资源导入管道注册源自 ScriptedImporter 的自定义导入器。
脚本更改时,请务必增加脚本导入器的版本号。这会强制使用较低版本号导入的资产重新导入。
如果启用了编辑器的自动刷新首选项,则在编辑器之外编辑脚本并将其保存会触发重新导入脚本和所有相应类型的资源。以下示例声明了一个导入器,该导入器处理扩展名 cb
和 cube
的文件。
using UnityEngine; using UnityEditor.AssetImporters;
[ScriptedImporter(1, new[] {"cb", "cube"})] public class CubeImporter : ScriptedImporter { public override void OnImportAsset(AssetImportContext ctx) { // ... } }
以下示例声明了一个导入器,该导入器处理扩展名为 sphere
的文件。它的 importQueueOffset 参数设置为 10,强制具有扩展名 sphere
的资源在所有其他具有小于 10 的 importQueueOffset 的脚本导入器之后导入。
using UnityEngine; using UnityEditor.AssetImporters;
[ScriptedImporter(1, "sphere", 10)] public class SphereImporter : ScriptedImporter { public override void OnImportAsset(AssetImportContext ctx) { // ... } }
以下示例声明了一个导入器,该导入器处理扩展名为 fbb
的文件,可以用来导入 fbx
文件,而不是 Unity 默认的 ModelImporter。
using UnityEngine; using UnityEditor.AssetImporters;
[ScriptedImporter(1, new[] {"fbb"}, new[] {"fbx"})] public class CustomModelImporter : ScriptedImporter { public override void OnImportAsset(AssetImportContext ctx) { // ... } }