Unity C#
Instantiate в Unity C#: создание объектов в runtime
Метод Instantiate создаёт копии объектов прямо во время игры. С ним можно динамически добавлять на сцену врагов, пули и любые другие элементы геймплея. Метод работает с любыми объектами типа UnityEngine.Object — префабами, игровыми объектами и компонентами.
Особенности
- Создание копий: делает точную копию объекта, оригинал не меняется.
- Разные типы: работает с GameObject, компонентами и наследниками UnityEngine.Object.
- Гибкость: можно задать позицию, поворот и родительский объект, а перегрузки позволяют комбинировать эти параметры.
Пример: спавн с позицией и поворотом
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);
}
}
Пример: спавн с родителем
using UnityEngine;
public class AdvancedSpawner : MonoBehaviour
{
public GameObject enemyPrefab; // Префаб врага
public Transform parentTransform; // Родительский объект
void Start()
{
// Создаем объект с указанием родителя
GameObject enemy = Instantiate(enemyPrefab, parentTransform);
Debug.Log("Объект создан с родителем: " + parentTransform.name);
}
}