Справочники Unity C# Instantiate

Что такое Instantiate в Unity C#?

Метод Instantiate в Unity используется для создания копий объектов во время выполнения игры. Это позволяет динамически добавлять объекты в сцену, такие как враги, пули или любые другие элементы, которые нужны для геймплея. Метод работает с любыми объектами типа UnityEngine.Object, включая префабы, игровые объекты и компоненты.


Основные характеристики метода Instantiate
  1. Создание копий: Метод создает точную копию указанного объекта. Оригинал объекта остается неизменным.
  2. Поддержка разных типов: Может работать с объектами GameObject, компонентами и любыми наследниками класса UnityEngine.Object.
  3. Гибкость: Позволяет задавать позицию и поворот создаваемого объекта.
using UnityEngine;

public class Spawner : MonoBehaviour
{
    public GameObject enemyPrefab; // Префаб врага
    public Transform spawnPoint;  // Точка спавна

    // Метод для спавна объекта
    void Start()
    {
        // Создаем объект на указанной позиции и с указанным поворотом
        GameObject enemy = Instantiate(enemyPrefab, spawnPoint.position, spawnPoint.rotation);
        Debug.Log("Объект создан: " + enemy.name);
    }
}


Дополнительные возможности метода Instantiate
  1. Родительский объект: Вы можете указать родительский объект для создаваемого экземпляра, чтобы управлять его иерархией.
  2. Передача параметров: Instantiate поддерживает перегрузку, позволяя указывать только объект, объект с позицией и поворотом, или объект с родителем.
using UnityEngine;

public class AdvancedSpawner : MonoBehaviour
{
    public GameObject enemyPrefab; // Префаб врага
    public Transform parentTransform; // Родительский объект

    void Start()
    {
        // Создаем объект с указанием родителя
        GameObject enemy = Instantiate(enemyPrefab, parentTransform);
        Debug.Log("Объект создан с родителем: " + parentTransform.name);
    }
}
Комментарии (1)
Добавить комментарий

Sone1 14 ноября 2025 в 20:33

клоны тоже создают копии и сразу юнити зависает
Ответить