この記事でのバージョン
Unity 2021.1.23f1
はじめに
UnityはAlt(option)キーを押しながらHierarchy上にPrefabをドラック&ドロップすると
オブジェクトを差し替える事が出来ますが、
位置、角度、スケールは配置されてる物の値ではなくPrefabの値が使われるので、
同じ場所に配置しなおすみたいな事は出来ず、Undo(やり直し)も効きません。
という事で今回は位置、角度、スケール
Hierarchy上のオブジェクトを任意のPrefabと差し替えるエディタ拡張を作ったのでその紹介です!
なお、記事中では以下のアセットを使っています。
Low Poly Ultimate Pack | 3D Props | Unity Asset Store |
ReplacingPrefabWindow
さっそくですがHierarchy上のオブジェクトを任意のPrefabと差し替えるエディタ拡張
ReplacingPrefabWindowのコードは以下の通りです。
上記のスクリプトをEditorフォルダ内に作成すると上部メニューTools/Open/ReplacingPrefabWindow
からウィンドウが開けるようになります。
そのウィンドウに差し替えたい先のPrefabを設定し、
Hierarchy上の差し替え元のオブジェクトを選択、
あとはPosition等、差し替え元で固定したい項目を選択し、差し替え実行ボタンを押せば
簡単に差し替える事が出来ます。(もちろんUndoも可能)