Описание
Абстрактный базовый класс для пользовательских средств импорта активов.
Скрипты импорта — это скрипты, связанные с определенными расширениями файлов. Они вызываются конвейером ресурсов Unity для преобразования содержимого связанных файлов в ресурсы.
Используйте класс ScriptedImporterAttribute для регистрации пользовательских средств импорта в конвейере активов.
using UnityEngine;
using UnityEditor.AssetImporters;
using System.IO;
[ScriptedImporter(1, "cube")]
public class CubeImporter : ScriptedImporter
{
public float m_Scale = 1;
public override void OnImportAsset(AssetImportContext ctx)
{
var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
var position = JsonUtility.FromJson<Vector3>(File.ReadAllText(ctx.assetPath));
cube.transform.position = position;
cube.transform.localScale = new Vector3(m_Scale, m_Scale, m_Scale);
// 'cube' is a a GameObject and will be automatically converted into a Prefab
// (Only the 'Main Asset' is elligible to become a Prefab.)
ctx.AddObjectToAsset("main obj", cube);
ctx.SetMainObject(cube);
var material = new Material(Shader.Find("Standard"));
material.color = Color.red;
// Assets must be assigned a unique identifier string consistent across imports
ctx.AddObjectToAsset("my Material", material);
// Assets that are not passed into the context as import outputs must be destroyed
var tempMesh = new Mesh();
DestroyImmediate(tempMesh);
}
}
Публичные Методы
OnImportAsset |
Этот метод должен быть переопределен производным классом и вызывается конвейером активов для импорта файлов. |
SupportsRemappedAssetType |
Переопределяет этот метод, если ваш ScriptedImporter поддерживает переназначение определенных типов ресурсов. |
Сообщения
GatherDependenciesFromSourceFile |
Статический обратный вызов, который можно реализовать для установки зависимостей артефактов от других ресурсов и оптимизации порядка импорта ваших ресурсов. |
OnValidate |
Эта функция вызывается при загрузке модуля импорта или изменении значения в Инспекторе. |
Reset |
Восстанавливает значения по умолчанию. |
Унаследованные члены
Свойства
assetBundleName |
Получает или задаёт имя AssetBundle. |
assetBundleVariant |
Получает или устанавливает вариант AssetBundle. |
assetPath |
Путь к активу для этого импортера. (Только чтение) |
importSettingsMissing |
Значение равно true, если с импортированным ресурсом не предоставлен метафайл. |
userData |
Получает или устанавливает любые пользовательские данные. |
hideFlags |
Должен ли объект быть скрыт, сохранен вместе со сценой или изменен пользователем? |
name |
Имя объекта. |
Публичные Методы
AddRemap |
Сопоставление субактива из импортированного актива (например, файла FBX) с внешним активом того же типа. |
GetExternalObjectMap |
Получает копию карты внешних объектов, используемую AssetImporter. |
RemoveRemap |
Удаляет элемент с карты внешних объектов. |
SaveAndReimport |
Сохраняет настройки средства импорта ресурсов, если средство импорта ресурсов загрязнено. |
SetAssetBundleNameAndVariant |
Устанавливает имя и вариант AssetBundle. |
GetInstanceID |
Возвращает идентификатор экземпляра объекта. |
ToString |
Возвращает имя объекта. |
Статические Методы
GetAtPath |
Получает средство импорта ресурсов для ресурса по пути. |
Destroy |
Удаляет игровой объект, компонент или ресурс. |
DestroyImmediate |
Немедленно уничтожает объект obj. Вместо этого вам настоятельно рекомендуется использовать Destroy. |
DontDestroyOnLoad |
Не уничтожает целевой объект при загрузке новой сцены. |
FindObjectOfType |
Возвращает первый активный загруженный объект типа Type. |
FindObjectsOfType |
Получает список всех загруженных объектов типа Type. |
Instantiate |
Клонирует исходный объект и возвращает клон. |
Операторы
bool |
Существует ли объект? |
operator != |
Сравнивает, ссылаются ли два объекта на другой объект. |
operator == |
Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект.. |