Version: 5.4
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);

Parámetros

original Un objeto existente del que desea hacer una copia.
position Posición para el nuevo objeto (predeterminado Vector3.zero).
rotation Orientación del nuevo objeto (predeterminado Quaternion.identity).
parent El transform al cual el objeto será apadrinado.
worldPositionStays Si al asignar al padre se debe mantener la posición original del mundo.

Valor de retorno

Object Un clon del objeto original.

Descripción

Devuelve una copia del objeto original.

Esta función hace un clon de un objeto de una manera similar al comando Duplicar en el editor. Si está clonando un GameObject, o algo conectado a un GameObject, también puede especificar opcionalmente su posición y rotación.

Si usted está clonando un Component, entonces el GameObject al cual está adjunto también se clonará.

Al clonar un GameObject o Component, todos los objetos y componentes hijo también se clonarán junto con sus propiedades. Sin embargo, la propiedad parent del objeto clonado será null, por lo que no formará parte de la jerarquía de objetos del original. Sin embargo, todavía puede establecer el padre utilizando los métodos overloaded o explícitamente.

El estado activo de un GameObject en el momento de la clonación se pasará, por lo que si el original está inactivo, entonces el clon se creará en un estado inactivo también.

Para un tutorial en profundidad de Instantiate y sus usos, visite: In depth Prefab Instantiate discussion.

En este ejemplo, nosotros instanciamos 10 copias de un objeto prefab en una linea a lo largo del eje x.

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

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

Después de clonear un objeto puede utilizar GetComponent para configurar las propiedades en un componente específico adjunto al objeto clonado.

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

Parámetros

original Objeto de tipo T que quiere hacer un clon de.

Valor de retorno

T Objeto de tipo T.

Descripción

Usted también puede utilizar Genéricos para instanciar objetos. Mire la página Generic Functions para más detalles.

En este ejemplo, nosotros instanciamos nuestro objeto Missile nuevamente, pero al utilizar Genéricos no tenemos que emitir el resultado:

using UnityEngine;

public class InstantiateGenericsExample : MonoBehaviour { public Missile missile;

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