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