Описание
Добавьте эту функцию в подкласс, чтобы получать уведомления о завершении импорта модели.
Это позволяет вам изменять импортированный игровой объект, сетки, анимационные клипы, на которые он ссылается. Обратите внимание, что GameObjects, AnimationClips и Meshes существуют только во время импорта и будут уничтожены сразу после этого.
Эта функция вызывается перед созданием окончательного префаба и перед его записью на диск, таким образом, вы имеете полный контроль над сгенерированными игровыми объектами и компонентами.
Любые ссылки на игровые объекты или сетки станут недействительными после завершения импорта. Таким образом, невозможно создайте новый Prefab в другом файле из OnPostprocessModel, который ссылается на сетки в импортированном файле fbx.
root
— это корневой игровой объект импортированной модели.
using UnityEngine;
using UnityEditor;
// Добавляет меш-коллайдер к каждому игровому объекту, имя которого содержит коллайдер
public class Example : AssetPostprocessor
{
void OnPostprocessModel(GameObject g)
{
Apply(g.transform);
}
void Apply(Transform t)
{
if (t.name.ToLower().Contains("collider"))
t.gameObject.AddComponent<MeshCollider>();
// Рекурсия
foreach (Transform child in t)
Apply(child);
}
}