【Unity】プレハブを置き換える

投稿者: | 2020-07-28

プレハブを置き換えたり、プレハブから子オブジェクトを削除してみます。

プレハブの内容は、インスタンスの変更したプロパティなどの名前を右クリックしてApplyをクリックすると変更できます。

適用前
適用後

Revertをクリックすると、変更した値をプレハブの値に戻せます。これらはコンポーネントの追加・削除、子オブジェクトの追加やタグの変更等をしたときも同様です。

コンポーネントの追加
コンポーネントの削除
オブジェクトの追加

しかし、子オブジェクトの削除はOpen Prefabをクリックしてプレハブモードにして行います。

プレハブモードにすると、処理が重いのか画面が真っ暗になることがあります。画面が戻ってもUnityが真っ白になっているのでUnityを再起動することになります。

なので、Open Prefabを使わないでプレハブから子オブジェクトを削除する方法を考えました。

そもそも、プレハブに別のゲームオブジェクトやプレハブをドラッグアンドドロップすることでプレハブの中身をそっくり置き換えることができます。

このとき、本当に置き換えるか確かめられますがReplace Anywayを押します。こうしてプレハブの内容を変更するとUndoで元に戻せないようなので注意です。

この方法でプレハブから子オブジェクトを削除してみます。まず、インスタンスを右クリックしてUnpack Prefabをクリックします。

これでプレハブと紐付かない普通のゲームオブジェクトになるので、子オブジェクトを削除できます。

このCubeをProjectウィンドウにある元のプレハブにドラッグアンドドロップすると、プレハブから子オブジェクトが削除されます。

コメントを残す

メールアドレスが公開されることはありません。