Version: 5.4 (switch to 5.5b)
言語English
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Object.Instantiate

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

マニュアルに切り替える
public static function Instantiate(original: Object): Object;
public static Object Instantiate(Object original);
public static function Instantiate(original: Object, parent: Transform): Object;
public static Object Instantiate(Object original, Transform parent);
public static function Instantiate(original: Object, parent: Transform, worldPositionStays: bool): Object;
public static Object Instantiate(Object original, Transform parent, bool worldPositionStays);
public static function Instantiate(original: Object, position: Vector3, rotation: Quaternion): Object;
public static Object Instantiate(Object original, Vector3 position, Quaternion rotation);
public static function Instantiate(original: Object, position: Vector3, rotation: Quaternion, parent: Transform): Object;
public static Object Instantiate(Object original, Vector3 position, Quaternion rotation, Transform parent);

Parameters

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

Returns

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

Description

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

この関数はオブジェクトをエディター上の Duplicate コマンドと同様の方法でクローンします。もし GameObject やそれにアタッチしているものをクローンする場合、その位置や回転を任意で指定できます。

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

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

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

Instantiate とその使用方法に関する詳しいチュートリアルは、 実行時のプレハブのインスタンス化 をご参照ください。

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

no example available in JavaScript
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); } }

この関数はスクリプトのインスタンスを直接クローンすることもできます。 ゲームオブジェクト全体のヒエラルキーがクローンされ、スクリプトのインスタンスが返されます。

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

no example available in JavaScript
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 function Instantiate(original: T): T;
public static T Instantiate(T original);

Parameters

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

Returns

T T 型のオブジェクト

Description

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

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

no example available in JavaScript
using UnityEngine;

public class InstantiateGenericsExample : MonoBehaviour { public Missile missile;

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