Version: 2017.3

AssetPostprocessor.OnPostprocessModel(GameObject)

マニュアルに切り替える

説明

この関数をサブクラスに追加してモデルのインポートが完了したときに通知を取得します

これによって参照しているインポートしたゲームオブジェクトやメッシュ、アニメーションクリップの修正が可能になります。ゲームオブジェクト、アニメーションクリップ、そしてメッシュはインポート中しか存在せず、その後すぐに破棄される事に注意してください。

この関数は最終のプレハブが作成される前、そしてディスクに書き込みされる前に呼び出されるため生成されたゲームオブジェクトとコンポーネントに対して完全に制御ができます。

Any references to game objects or meshes will become invalid after the import has been completed. Thus it is not possible to create a new prefab in a different file from OnPostprocessModel that references meshes in the imported fbx file.

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); } }