4.5.2f1製作中のゲームで海面に大量のブイを並べて配置したいのですが、手作業ではとても無理なのでエディタ拡張を利用して、一定間隔でGameObjectを複製して配置する機能を作ってみました。エディタ拡張で間違ってる部分もありそうなので、ご意見など頂けたら幸いです。(@mokusan)先ず完成イメージは以下。このように必要なパラメータを設定して「Create」を押下すると、先に挙げたゲーム画面のようにブイが一定間隔で配置される。・エディタ拡張用のスクリプト「Editor」という名前のフォルダ配下に置く必要がある。Resourcesと同様で他のフォルダを掘って、その下に「Editor」フォルダを配置しても大丈夫。(スクリプト”CreateBuoys.cs”の内容全文はこの投稿の最後に掲載しておきます。通常のUnityEngine以外にUnityEditorを指定しておく。Other/”配下を指定することで、Hierarchyビューの「Create」のメニューにも追加される。Buoys」が選択された時に専用のウィンドウを表示する。必要なメンバ変数を定義し、OnGUI()内で記述する。{}}通常のOnGUI()でGUIを作るのと同じ要領だが、EditorGUILayoutのパーツが使える。詳細はリファレンスを参照。Selection.gameObjects[0];}ウィンドウ表示時に自動で呼ばれるメソッド。Selection.gameObjects[0];Repaint();}選択内容の変更時に自動で呼ばれるメソッド。intervalX;}}普通にInstantiate()すれば、Hierarchyに追加される。この際、Undoを設定しておくことにより、後で取り消しができる。(66行目)Editor拡張を利用したのは初めてだが、食わず嫌いだったと反省している。Unityで新規にGameObjectを作った時にHierarchyのトップに作成されてしまうというのは、良く聞く不満だが、Editor拡張を使えばその辺りも何とかできそうだと言うのが分かった。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。