AssetPostprocessor
класс в UnityEditor
Описание
AssetPostprocessor позволяет подключаться к конвейеру импорта и запускать скрипты до или после импорта ассетов.
Во время импорта модели функции вызываются в следующем порядке:
- OnPreprocessModel вызывается в самом начале, и вы можете переопределить ModelImporter параметры, которые используются для всего процесса импорта модели.
- После импорта мешей и материалов из импортированных узлов создается иерархия GameObjects. Используйте OnPostprocessMeshHierarchy для изменения иерархии. Каждому GameObject, представляющему импортированный узел, присваивается соответствующий компонент MeshFilter, MeshRenderer и MeshCollider. Перед назначением материала MeshRenderer вызывается функция OnAssignMaterialModel.
- После того, как GameObject инициализирует MeshRenderers и данные пользователя существуют, OnPostprocessGameObjectWithUserProperties вызывается. Это происходит до того, как будут созданы дочери GameObjects.
- Если на предыдущих стадиях генерация анимации не была отключена (см. ModelImporter.generateAnimations), то генерируются SkinnedMesh и Анимации. Если это возможно, то также создается Аватар и оптимизируется иерархия GameObject. Затем для корня GameObject вызывается OnPostprocessModel.
OnPreprocessSpeedTree и OnPostprocessSpeedTree вызываются на ресурсах SpeedTree (файл .spm) так же, как OnPreprocessModel и OnPostprocessModel, за исключением того, что тип assetImporter является SpeedTreeImporter.
Важно: Если вы изменяете код AssetPostprocessor, по умолчанию следует увеличивать номер его версии с помощью GetVersion. Например, при изменении выхода AssetPostprocessor или заявленных им входных зависимостей. Дополнительную информацию см. в Последовательность импортера.
Свойства
| Свойство | Описание |
|---|---|
| assetImporter | Ссылка на импортера ассетов. |
| assetPath | Имя пути импортируемого ассета. |
| context | Контекст импорта. |
Открытые методы
| Метод | Описание |
|---|---|
| GetPostprocessOrder | Возвращает приоритет порядка выполнения для этого постпроцессора ассета. |
| GetVersion | Возвращает версию постпроцессора ассета. |
Сообщения
| Сообщение | Описание |
|---|---|
| OnAssignMaterialModel | Подаёт исходный материал. |
| OnPostprocessAllAssets | Эта команда вызывается после завершения импорта любого количества ассетов (когда строка прогресса ассетов достигает конца). |
| OnPostprocessAnimation | Эта функция вызывается, когда AnimationClip завершает импорт. |
| OnPostprocessAssetbundleNameChanged | Обработчик, вызываемый при назначении ассета другому пакету ассетов. |
| OnPostprocessAudio | Добавьте эту функцию в подкласс, чтобы получить уведомление, когда аудиоклип завершил импорт. |
| OnPostprocessCubemap | Добавьте эту функцию в подкласс, чтобы получить уведомление перед тем, как текстура кубического сопоставления завершит импорт. |
| OnPostprocessGameObjectWithAnimatedUserProperties | Вызывается при завершении импорта кривых анимации для пользовательского свойства типа float. |
| OnPostprocessGameObjectWithUserProperties | Получает вызов для каждого GameObject, к которому в импортированном файле было прикреплено хотя бы одно свойство пользователя. |
| OnPostprocessMaterial | Добавьте эту функцию в подкласс, чтобы получать уведомление при создании нового Материала во время импорта ModelImporter. |
| OnPostprocessMeshHierarchy | Эта функция вызывается после завершения импорта новой иерархии преобразований. |
| OnPostprocessModel | Добавьте эту функцию в подкласс, чтобы получить уведомление о завершении импорта модели. |
| OnPostprocessPrefab | Получает уведомление, когда Префаб завершает импорт. |
| OnPostprocessSpeedTree | Добавьте эту функцию в подкласс, чтобы получить уведомление, когда ассет SpeedTree завершил импорт. |
| OnPostprocessSprites | Добавьте эту функцию в подкласс, чтобы получить уведомление, когда текстура sprite(s) завершила импорт. |
| OnPostprocessTexture | Добавьте эту функцию в подкласс, чтобы получать уведомление, когда texture2D завершает импорт перед сжатием Unity. |
| OnPostprocessTexture2DArray | Добавьте эту функцию в подкласс, чтобы получать уведомление, когда texture2DArray завершает импорт перед сжатием Unity. |
| OnPostprocessTexture3D | Добавьте эту функцию в подкласс, чтобы получать уведомление, когда texture3D завершает импорт перед сжатием Unity. |
| OnPreprocessAnimation | Добавьте эту функцию в подкласс, чтобы получить уведомление перед импортом анимации из модели (.fbx, .mb файл и т.д.). |
| OnPreprocessAsset | Добавьте эту функцию в подкласс, чтобы получить уведомление перед импортом любого Ассета. |
| OnPreprocessAudio | Добавьте эту функцию в подкласс, чтобы получить уведомление перед импортом аудиоклипа. |
| OnPreprocessCameraDescription | Добавьте эту функцию в подкласс, чтобы получать уведомление при импорте камеры из Импортера моделей. |
| OnPreprocessLightDescription | Добавьте эту функцию в подкласс, чтобы получать уведомление при импорте света из Импортера Модель. |
| OnPreprocessMaterialDescription | Добавьте эту функцию в подкласс, чтобы получать уведомление при создании нового материала во время импорта ModelImporter. |
| OnPreprocessModel | Добавьте эту функцию в подкласс, чтобы получить уведомление перед импортом модели (.fbx, .mb файл и т.д.). |
| OnPreprocessSpeedTree | Добавьте эту функцию в подкласс, чтобы получить уведомление перед импортом ассета SpeedTree (файла .spm). |
| OnPreprocessTexture | Добавьте эту функцию в подкласс, чтобы получить уведомление перед запуском импортера текстур. |