Для начала давайте объясним, что на самом деле означают «Создание экземпляра» и «Уничтожение» в отношении кодирование в юнити.
Создать экземпляр — клонирует игровой объект и порождает его в игре/сцене.
Уничтожить — уничтожить что-либо в Unity означает удалить это из игры/сцены.
Это две функции, которые регулярно используются в игровом дизайне! «Создание экземпляров» можно использовать для создания врагов, стрельбы пулями, создания созданных объектов и многого другого!
В то время как «Уничтожить» можно использовать для таких вещей, как сбор добычи, удаление разрушенных объектов / врагов с поля битвы, удаление всплывающих подсказок пользовательского интерфейса / обучения или множество других вещей.
Чтобы использовать функцию Instantiate, есть несколько разных способов сделать это. Наиболее распространенное и простое использование — это то, которое мы рассмотрим сегодня.
В начале вашего скрипта вам нужно будет сделать ссылку на сборный игровой объект, который вы хотите создать. Затем в функции, показанной выше, просто вставьте ее имя, а также положение и поворот, с которыми вы хотите, чтобы ваш префаб появлялся, и все готово!
Здесь я создаю префабы пули и отправляю их вверх с помощью transform.Translate!
У Destroy есть несколько различных способов его использования, чтобы с легкостью делать самые разные вещи.
Это с использованием…
Уничтожить(gameObject, 2);
который уничтожает пули через 2 секунды!
Теперь, наконец, я хотел показать вам еще один способ использования уничтожения, который весьма полезен, но немного сложнее, чем последние несколько способов, которые я показал.
Итак, чтобы объяснить это, давайте начнем сверху. Первое, что вам нужно сделать, это создать ссылку на родительский игровой объект, на который вы пытаетесь нацелиться в своей сцене.
Затем вам нужно будет ввести вышеуказанную информацию, но убедитесь, что вы сначала указали имя вышеупомянутого родительского игрового объекта в скобках. Число в скобках рядом с «GetChild» представляет собой игровой объект, который вы собираетесь удалить в массиве объектов, содержащихся в родительском элементе.
[Примечание]
Когда вы помещаете объект внутрь другого объекта в меню «Иерархия» в Unity, вы создаете родительский/дочерний объект. Родительский объект действует как папка и содержит дочерние/дочерние объекты внутри. Эти дочерние элементы появляются в порядке, который фактически отслеживается в Unity. По сути, каждый родительский объект создает массив, который можно вызывать из скрипта для доступа к указанным дочерним элементам внутри.