public static Object Instantiate (Object original);
public static Object Instantiate (Object original, Transform parent);
public static Object Instantiate (Object original, Transform parent, bool worldPositionStays);
public static Object Instantiate (Object original, Vector3 position, Quaternion rotation);
public static Object Instantiate (Object original, Vector3 position, Quaternion rotation, Transform parent);

パラメーター

original コピーしたい既存オブジェクト
position 新規オブジェクトの位置 (デフォルト Vector3.zero)
rotation 新規オブジェクトの向き (デフォルト Quaternion.identity)
parent オブジェクトが親にする transform
worldPositionStays parent を指定するときに、元のワールドの位置が維持されるかどうか

戻り値

Object 元のオブジェクトのクローン

説明

オブジェクト original のコピーを返します

This function makes a clone of an object in a similar way to the Duplicate command in the editor. If you are cloning a GameObject, or something attached to a GameObject, then you can also optionally specify its position and rotation.

コンポーネント をクローンしている場合、それがアタッチされているゲームオブジェクトもクローンされます。

GameObjectComponent をクローンするとき、すべての子オブジェクト、コンポーネント、さらにそれらに付属するすべてのプロパティーもクローンされます。ただし、クローンされたオブジェクトの parent プロパティーは null となるため、元のオブジェクト階層には含まれません。ただ、オーバーロードしたメソッドや明示することによって、親を設定することも可能です。

クローン時のゲームオブジェクトのアクティブ状態が飛ばされるため、オリジナルが非アクティブであればクローンも非アクティブ状態で作成されます。

For an in-depth tutorial of Instantiate and its uses, visit: In depth Prefab Instantiate discussion.

この例では、プレハブオブジェクトのクローンのインスタンスを、X軸に沿った線上に10個作成します。

Instantiate can also clone script instances directly. The game object hierarchy will be cloned and the cloned script instance will be returned.

オブジェクトをクローンした後、さらに GetComponent を使用して、クローンされたオブジェクトの特定コンポーネントのプロパティーを設定できます。

using UnityEngine;

public class InstantiateExample : MonoBehaviour { public GameObject prefab;

void Start() { for (int i = 0; i < 10; i++) Instantiate(prefab, new Vector3(i * 2.0f, 0, 0), Quaternion.identity); } }
using UnityEngine;

public class InstantiateComponentExample : MonoBehaviour { // Instantiate a prefab with an attached Missile script public Missile missilePrefab;

void Start() { // Instantiate the missile at the position and rotation of this object's transform Missile clone = (Missile)Instantiate(missilePrefab, transform.position, transform.rotation); } }

public static T Instantiate (T original);

パラメーター

original クローンしたい T 型のオブジェクト

戻り値

T T 型のオブジェクト

説明

ジェネリック版も使用できます。詳細については Generic Functions を参照してください。

この例では Missile オブジェクトのインスタンスを再び作成していますが、Generics を使用しているので結果をキャストする必要がありません。

using UnityEngine;

public class InstantiateGenericsExample : MonoBehaviour { public Missile missile;

void Start () { Missile missileCopy = Instantiate<Missile>(missile); } }