スクリプトからそれがアタッチされたゲームオブジェクトを作成する拡張

MonoBehaviourを継承したゲームオブジェクトにアタッチできるスクリプト(C#)を作るとします。通常はヒエラルキーにゲームオブジェクトを用意してそこにスクリプトをドラッグアンドドロップしてアタッチします。
この作業はドラッグに失敗したりすると、非常にイライラします。
いくつかのスクリプトをつけるときはコンポーネントの追加ボタンを押せばいいのですが、新たにゲームオブジェクトを作るときはゲームオブジェクトを作り、そこにアタッチするというちょっと面倒な手順があります。

以前スクリプトをヒエラルキーにドラッグしたら、それがアタッチされたゲームオブジェクトを作成するようなことを試していました。
スクリプトをヒエラルキーにドラッグアンドドロップしてゲームオブジェクトが作られるようにする」 という記事にこれが書いてあります。大体やりたいことはできていたのですが、ドラッグしたままにすると問題があったりしました。(理解して使うなら十分使えるというくらいの出来でした。)

これをショートカットキーでやれば良いのではないかと思いつきました。

こんな感じに改造しました。スクリプトを見つけるところはSelectionに任せ、作るかどうかの決定はメニューを押すことになりました。
イベントを確実に取ることが簡単なので、この方法が一番良い気がします。

使い方は簡単でアタッチできるスクリプトを選択した状態でCtrl+Gを押すかコンテキストメニューのCreate->GameObject from Scriptを押すと、選択されているスクリプトがアタッチされたゲームオブジェクトをヒエラルキーに作成します。

複数のスクリプトから同時にゲームオブジェクトが作成でき、C#のスクリプト以外を選択してあっても無視されます。

コメント

タイトルとURLをコピーしました