В Unity, чтобы создать независимые объекты с одинаковыми скриптами на них, вам придется использовать Prefabs и Instantiate.
- Создайте новый GameObject и прикрепите к нему скрипт, который вы хотите использовать на других объектах. Этот скрипт будет служить в качестве шаблона или префаба.
- Когда вы закончите настройку этого GameObject, перетащите его в папку "Assets" в проекте. Это создаст префаб, который может быть использован для создания множества независимых экземпляров этого объекта.
- Теперь, чтобы создать новый экземпляр на сцене, вы можете использовать функцию Instantiate из скрипта или создать объект в редакторе. Если вы хотите создать много объектов программно, вам придется использовать функцию Instantiate.
Пример кода для создания множества объектов программно:
public GameObject prefab; // ссылка на префаб void Start() { for (int i = 0; i < 10; i++) // создаем 10 экземпляров { Instantiate(prefab, new Vector3(i * 2, 0, 0), Quaternion.identity); } }
В этом примере мы создаем 10 экземпляров префаба, каждый из которых будет находиться на позиции (i * 2, 0, 0)
с нулевым вращением вокруг оси (Quaternion.identity).
- Теперь каждый экземпляр будет независимым объектом с тем же скриптом, что и префаб. Вы можете изменять параметры каждого экземпляра отдельно или использовать одинаковую логику для всех объектов, в зависимости от ваших потребностей.
Вот и все! Теперь у вас есть независимые объекты с одинаковыми скриптами на них в Unity. Вы можете создать сколько угодно экземпляров этих объектов и изменять их поведение независимо друг от друга.