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

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Object.Instantiate

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

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

パラメーター

original コピーしたい既存オブジェクト
position 新規オブジェクトの位置 (デフォルト Vector3.zero)
rotation 新規オブジェクトの向き (デフォルト Quaternion.identity)

戻り値

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

説明

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

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

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

GameObjectComponent をクローンするとき、すべての子オブジェクト、コンポーネント、さらにそれらに付属するすべてのプロパティーもクローンされます。ただし、クローンされたオブジェクトの parent プロパティーは null となるため、元のオブジェクトの "子" にはなりません。

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

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

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


        
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 を使用して、クローンされたオブジェクトの特定コンポーネントのプロパティーを設定できます。


        
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);

パラメーター

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

戻り値

T T 型のオブジェクト

説明

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

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


        
using UnityEngine;

public class InstantiateGenericsExample : MonoBehaviour { public Missile missile;

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