GameObject.InstantiateGameObjects
Declaration
Obsolete public static void InstantiateGameObjects(int sourceInstanceID, int count, NativeArray<int> newInstanceIDs, NativeArray<int> newTransformInstanceIDs, SceneManagement.Scene destinationScene);Параметры
| Параметр | Описание |
|---|---|
| sourceInstanceID | Экземпляр ID из GameObject для создания дополнительных экземпляров. |
| Количество | Количество экземпляров GameObject, которые будут созданы. |
| newInstanceIDs | Предварительно выделенный NativeArray для заполнения экземпляром IDs нового GameObjects. Должен иметь такой же размер, как count. |
| newTransformInstanceIDs | Предварительно выделенный NativeArray для заполнения экземпляром IDs из Transforms нового GameObjects. Должен иметь такой же размер, как count. |
| destinationScene | Scene для размещения экземпляра GameObjects. По умолчанию, GameObjects будет добавлен к активному в данный момент Scene. |
Описание
Создает указанное количество экземпляров GameObject, идентифицируемых его экземпляром ID, и заполняет NativeArrays экземпляром IDs новых GameObjects и их компонентов Transform.
Используйте InstantiateGameObjects, чтобы создать несколько экземпляров GameObjects в пакете. Экземпляр ID может быть разрешен в объект с помощью Resources.InstanceIDToObject.
using System; using Unity.Collections; using UnityEngine;
public class InstantiateInstanceID : MonoBehaviour { public GameObject prefab; public int count = 100;
int m_InstanceID; NativeArray<int> m_InstanceIds; NativeArray<int> m_TransformIds; void Start() { m_InstanceID = prefab.GetInstanceID(); m_InstanceIds = new NativeArray<int>(count, Allocator.Persistent); m_TransformIds = new NativeArray<int>(count, Allocator.Persistent); GameObject.InstantiateGameObjects(m_InstanceID, count, m_InstanceIds,m_TransformIds ); }
void OnDestroy() { m_InstanceIds.Dispose(); m_TransformIds.Dispose(); } }
Дополнительные ресурсы: ,GameObject.SetGameObjectsActive,, Resources.InstanceIDToObject