Объявление
public ScriptedImporterAttribute(int version, string ext);public ScriptedImporterAttribute(int version, string ext, int importQueueOffset);
public ScriptedImporterAttribute(int version, string[] exts);
public ScriptedImporterAttribute(int version, string[] exts, string[] overrideExts);
public ScriptedImporterAttribute(int version, string[] exts, int importQueueOffset);
public ScriptedImporterAttribute(int version, string[] exts, string[] overrideExts, int importQueueOffset);
Параметры
version | Число, которое используется конвейером импорта для обнаружения новых версий скрипта импортера. Изменение этого числа приведет к повторному импорту всех ресурсов, соответствующих указанным расширениям. |
exts | Список расширений имен файлов (не включая начальный символ точки), которые обрабатывает импортер по сценарию. |
ext | Одно расширение имени файла (не включая начальный символ точки), которое обрабатывает импортер по сценарию.. |
importQueueOffset | Дает контроль над порядком импорта активов на основе типов. Положительные значения задерживают обработку исходных файлов ресурсов, а отрицательные значения переводят их в более ранний этап процесса импорта. |
overrideExts | Список расширений имен файлов (не включая начальный символ точки), которые может обрабатывать средство импорта по сценарию в дополнение к расширениям имен файлов по умолчанию. |
Описание
Используйте атрибут ScriptedImporter, чтобы зарегистрировать пользовательский импортер, производный от ScriptedImporter, в конвейере импорта активов Unity.
Всегда увеличивайте номер версии импортера со сценарием при каждом изменении сценария. Это приводит к повторному импорту ресурсов, импортированных с более низкими номерами версий.
Если в редакторе включен параметр Автообновление, редактирование сценария вне редактора и его сохранение вызывает повторный импорт как сценария, так и всех ресурсов соответствующего типа. В следующем примере объявляется импортер, который обрабатывает файлы с расширением 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
после всех других программ импорта по сценарию, у которых есть importQueueOffset менее 10.
using UnityEngine;
using UnityEditor.AssetImporters;
[ScriptedImporter(1, "sphere", 10)]
public class SphereImporter : ScriptedImporter
{
public override void OnImportAsset(AssetImportContext ctx)
{
// ...
}
}
В следующем примере объявляется средство импорта, которое обрабатывает файлы с расширением fbb
и которое вместо этого можно использовать для импорта файлов fbx
. ModelImporter в Unity по умолчанию.
using UnityEngine;
using UnityEditor.AssetImporters;
[ScriptedImporter(1, new[] {"fbb"}, new[] {"fbx"})]
public class CustomModelImporter : ScriptedImporter
{
public override void OnImportAsset(AssetImportContext ctx)
{
// ...
}
}