将此函数添加到一个子类中,以在模型完成导入时获取通知。
借助此函数,您可以修改此函数引用的所导入的游戏对象、网格、动画剪辑。请注意,游戏对象、动画剪辑和网格仅在导入期间存在,导入完成后,系统会立即将其销毁。
在创建最终预制件且在将其写入磁盘之前,系统会调用此函数,因此,您可以完全控制生成的游戏对象和组件。
导入完成后,对游戏对象或网格的所有引用都将变为无效。因此,无法
通过在导入的 FBX 文件中引用网格的 OnPostprocessModel 在其他文件中创建新的预制件。root
是导入模型的根游戏对象。
using UnityEngine; using UnityEditor;
// Adds a mesh collider to each game object that contains collider in its name 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>();
// Recurse foreach (Transform child in t) Apply(child); } }