Для начала давайте объясним, что на самом деле означают «Создание экземпляра» и «Уничтожение» в отношении кодирование в юнити.

Создать экземпляр — клонирует игровой объект и порождает его в игре/сцене.

Уничтожить — уничтожить что-либо в Unity означает удалить это из игры/сцены.

Это две функции, которые регулярно используются в игровом дизайне! «Создание экземпляров» можно использовать для создания врагов, стрельбы пулями, создания созданных объектов и многого другого!

В то время как «Уничтожить» можно использовать для таких вещей, как сбор добычи, удаление разрушенных объектов / врагов с поля битвы, удаление всплывающих подсказок пользовательского интерфейса / обучения или множество других вещей.

Чтобы использовать функцию Instantiate, есть несколько разных способов сделать это. Наиболее распространенное и простое использование — это то, которое мы рассмотрим сегодня.

В начале вашего скрипта вам нужно будет сделать ссылку на сборный игровой объект, который вы хотите создать. Затем в функции, показанной выше, просто вставьте ее имя, а также положение и поворот, с которыми вы хотите, чтобы ваш префаб появлялся, и все готово!

Здесь я создаю префабы пули и отправляю их вверх с помощью transform.Translate!

У Destroy есть несколько различных способов его использования, чтобы с легкостью делать самые разные вещи.

Это с использованием…

Уничтожить(gameObject, 2);

который уничтожает пули через 2 секунды!

Теперь, наконец, я хотел показать вам еще один способ использования уничтожения, который весьма полезен, но немного сложнее, чем последние несколько способов, которые я показал.

Итак, чтобы объяснить это, давайте начнем сверху. Первое, что вам нужно сделать, это создать ссылку на родительский игровой объект, на который вы пытаетесь нацелиться в своей сцене.

Затем вам нужно будет ввести вышеуказанную информацию, но убедитесь, что вы сначала указали имя вышеупомянутого родительского игрового объекта в скобках. Число в скобках рядом с «GetChild» представляет собой игровой объект, который вы собираетесь удалить в массиве объектов, содержащихся в родительском элементе.

[Примечание]

Когда вы помещаете объект внутрь другого объекта в меню «Иерархия» в Unity, вы создаете родительский/дочерний объект. Родительский объект действует как папка и содержит дочерние/дочерние объекты внутри. Эти дочерние элементы появляются в порядке, который фактически отслеживается в Unity. По сути, каждый родительский объект создает массив, который можно вызывать из скрипта для доступа к указанным дочерним элементам внутри.