Hierarchyのコンテキストメニューから自作のゲームオブジェクトを生成する方法
やりたいこと
こんな感じに自作のゲームオブジェクトをHierarchyのコンテキストメニューから生成できるように作りたかったのでそれについてまとめます。
環境はUnity2018.4.4f1です
実装
必要な処理はMenuItemです。
[MenuItem("GameObject/TestGameObject", false, 0)]
・第1引数はHierarchyのコンテキストメニューに表示したいので「GameObject/」にし、表示したい名前をその後ろに入れます。
・第2引数は押せないようにチェックを入れるかのフラグですが、常に選択できるようにしたいのでtrueにします。
・第3引数は表示したい場所を指定します。0が一番上になり、Create Emptyが一番前に来るのでそれに下になります。
今回はわかりやすく一番上にします。
今回は生成するのが目的のため、他の処理はUndoだけできるようにしておけば元に戻せるのでそうします。
public class TestGameObjectMenuItem { [MenuItem("GameObject/TestGameObject", false, 0)] public static void CreateGameObject() { var go = new GameObject("TestGameObject"); //作成したゲームオブジェクトを選択状態にする Selection.activeObject = go; //Undoに登録 Undo.RegisterCreatedObjectUndo(go,"TestGameObject"); } }
これでベースが出来上がったので、後は特定のコンポーネントをAddComponentしたり、選択しているオブジェクトと組み合わせて親子構造を作ったり自由にカスタマイズしてみてください。