Version: 5.5
public static Object Instantiate (Object original);
public static Object Instantiate (Object original, Transform parent);
public static Object Instantiate (Object original, Transform parent, bool instantiateInWorldSpace);
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 Position for the new object.
rotation Orientation of the new object.
parent Parent that will be assigned to the new object.
instantiateInWorldSpace Si al asignar al padre se debe mantener la posición original del mundo.

Valor de retorno

Object The instantiated clone.

Descripción

Clona el objeto original y devuelve el clon.

This function makes a copy of an object in a similar way to the Duplicate command in the editor. If you are cloning a GameObject then you can also optionally specify its position and rotation (these will default to the original GameObject's position and rotation otherwise). If you are cloning a Component then the GameObject it is attached to will also be cloned, again with an optional position and rotation.

When you clone a GameObject or Component, all child objects and components will also be cloned with their properties set like those of the original object.

By default the parent of the new object will be null, so it will not be a "sibling" of the original. However, you can still set the parent using the overloaded methods. If a parent is specified and no position and rotation is specified, the position and rotation of the original will be used for the cloned object's local position and rotation, or its world position and rotation if the instantiateInWorldSpace parameter is true. If the position and rotation is specified, they will be used as the object's position and rotation in world space.

The active status of a GameObject at the time of cloning will be passed on, so if the original is inactive then the clone will be created in an inactive state too.

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