Version: 2019.3


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


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

Two prefabs (FatBlob and Key) shown in the Project window in two-column view (left) and one-column view (right)
Two prefabs (“FatBlob” and “Key”) shown in the Project window in two-column view (left) and one-column view (right)

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

A Prefab instance (Key) in the scene
A Prefab instance (Key) in the scene


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

Dragging a Prefab Key into the Scene
Dragging a Prefab “Key” into the Scene

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

Replacing existing prefabs

You can replace a Prefab by dragging a new GameObject from the Hierarchy window and dropping it on top of an existing Prefab asset in the Project window.

If you are replacing an existing Prefab, Unity tries to preserve references to the Prefab itself and the individual parts of the Prefab such as child GameObjects and Components. To do this, it matches the names of GameObjects between the new Prefab and the existing Prefab that you are replacing.

Note: Because this matching is done by name only, if there are multiple GameObjects with the same name in the Prefab’s hierarchy, it is not possible to predict which will be matched. Therefore if you need to ensure your references are preserved when saving over an existing prefab, you must ensure all GameObjects within the Prefab have unique names.

Also note: You may encounter a similar problem in the case of preserving references to existing Components when you save over an existing Prefab, if a single GameObject within the Prefab has more than one of the same Component type attached. In this case it is not possible to predict which of them will be matched to the existing references.

  • 2018–07–31 Page published

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

Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。