版本: Unity 6 (6000.0)
语言英语
  • C#

GameObject.InstantiateGameObjects

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每一个建议更改,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public static void InstantiateGameObjects(int sourceInstanceID, int count, NativeArray<int> newInstanceIDs, NativeArray<int> newTransformInstanceIDs, SceneManagement.Scene destinationScene);

参数

sourceInstanceID 要创建额外实例的 GameObject 的实例 ID。
count 要创建的 GameObject 实例的数量。
newInstanceIDs 预分配的 NativeArray,用于填充新 GameObjects 的实例 ID。必须与 count 大小相同。
newTransformInstanceIDs 预分配的 NativeArray,用于填充新 GameObjects 的 Transform 组件的实例 ID。必须与 count 大小相同。
destinationScene 要将实例化的 GameObjects 放入的场景。如果为默认值,则 GameObjects 将添加到当前活动的场景中。

描述

创建指定数量的由其实例 ID 标识的 GameObject 的实例,并使用新 GameObjects 及其 Transform 组件的实例 ID 填充 NativeArrays。

使用 InstantiateGameObjects 以批处理方式实例化多个 GameObjects。可以使用 Resources.InstanceIDToObject 将实例 ID 解析为对象。

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