Version: 2021.2
言語: 日本語
プレハブ
プレハブモードでのプレハブの編集

プレハブの作成

Unity の Prefab (プレハブ) システムでは、プレハブアセット がテンプレートの役割を持ちます。プレハブアセットをエディターで作成し、アセットとして Project ウィンドウに保存します。プレハブアセット から任意の数の プレハブインスタンス を作成できます。プレハブインスタンスは、エディターで作成し、シーンの一部として保存するか、またはランタイムにインスタンス化することができます。 

プレハブアセットの作成

プレハブアセットを作成するには、ゲームオブジェクトを Hierarchy ウィンドウから Project ウィンドウにドラッグします。ゲームオブジェクト、そのすべてのコンポーネント、子ゲームオブジェクトは、Project ウィンドウの新しいアセットになります。Project ウィンドウ内のプレハブアセットは、Project ウィンドウの設定によって、ゲームオブジェクトのサムネイル、または 青いキューブ形のプレハブアイコンで表示されます。 

左 - 2 列レイアウトで表示された Project ウィンドウの 2 つのプレハブ (FatBlob と Key)、右 - 1 列レイアウト
左 - 2 列レイアウトで表示された Project ウィンドウの 2 つのプレハブ (“FatBlob” と “Key”)、右 - 1 列レイアウト

プレハブアセットを作成するこのプロセスは、元のゲームオブジェクトをプレハブインスタンスに変えることもします。これは、新しく作成されたプレハブアセットのインスタンスの 1 つになりました。プレハブインスタンスは Hierarchy に青いテキストで表示され、プレハブのルートゲームオブジェクトは赤、緑、青のゲームオブジェクトのアイコンの代わりに青いキューブプレハブのアイコンで表示されます。 

シーンのプレハブインスタンス (Key)
シーンのプレハブインスタンス (Key)

Creating multiple Prefab Assets

To create multiple Prefab Assets at once, drag multiple GameObjects from the Hierarchy window into the Project window. This functionality is the same as in the above paragraph.

If you drag multiple GameObjects that are not already Prefabs into the Project window, Unity creates new original Prefab Assets for each one without any additional steps.

If any of the GameObjects you drag into the Project Window are existing Prefab variants or Model Variants, Unity displays a dialog box which asks you to confirm whether you want to create new Prefab Assets or new variants from the GameObjects. The content of this dialog box changes depending on the number and type of GameObjects you drag into the Project window.

プレハブインスタンスの作成

エディターでプレハブアセットのインスタンスを作成するには、プレハブアセットを Project ビューから Hierarchy ビュー、またはシーンビューにドラッグします。 

プレハブ Key をシーンにドラッグ
プレハブ “Key” をシーンにドラッグ

スクリプトを使用して、ランタイムにプレハブのインスタンスを作成することもできます。詳細は、プレハブのインスタンス化 を参照してください。

既存のプレハブを置き換える

Hierarchy ウィンドウから新しいゲームオブジェクトをドラッグして、Project ウィンドウの既存の Prefab アセットの上にドロップすることで、プレハブを置き換えることができます。

既存のプレハブを置き換える場合、Unity はプレハブ自体への参照や、子のゲームオブジェクトやコンポーネントなどのプレハブの個々のパーツへの参照を維持しようとします。これを実現するために、新しいプレハブと置き換えようとしている既存のプレハブの間で、ゲームオブジェクトの名前を比べて一致させます。

ノート: このマッチングは名前のみで行われるため、プレハブの階層に同名のゲームオブジェクトが複数存在する場合、どのゲームオブジェクトがマッチングされるかは予測できません。そのため、既存のプレハブを上書き保存する際に、参照を確実に維持する必要がある場合は、プレハブ内のすべてのゲームオブジェクトが一意の名前を持つようにする必要があります。

また、既存のプレハブ上で保存する際に、既存のコンポーネントへの参照を維持する場合、プレハブ内の 1 つのゲームオブジェクトに同じタイプのコンポーネントが複数接続されていると、同様の問題が発生する可能性があります。この場合、どのコンポーネントが既存の参照と一致するかを予測することはできません。


  • 2018–07–31 公開ページ

  • ネスト化したプレハブとプレハブのバリアントを 2018.3 で追加

プレハブ
プレハブモードでのプレハブの編集