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

プレハブの作成

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

プレハブアセットの作成

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

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

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

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

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

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

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

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

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

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

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

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

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


  • 2018–07–31 公開ページ

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

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