Содержание
Введение:
Итаак, возможно многие знают о том, что можно буквально копировать экземпляры существующих объектов при помощи Activation Fuse. Но все равно расскажу в чем суть:
Activation Fuse при активации создает частицы вспышки — это отдельный префаб, который указан в параметрах скрипта по умолчанию. Однако, нам повезло и Зуи сжалился оставив это поле сериализуемым в отличие от остальных подобных полей типа GameObject. Кроме того, у Activation Fuse есть настройки компонента, которые отключают уничтожение самого Fuse после активации.
Что нам это дает? Все очень просто: мы можем указать любой объект в это поле и, когда мы активируем Fuse — он создаст его на своей позиции, также за счет того что это поле сериализуется, мы можем сохранять и делиться постройками с такими механизмами.
Немного подготовки:
Для начала вам потребуется мод Unity Explorer, скачать можете здесь:
*Сразу скажу что после последнего обновления безопасности People Playground 1.28a мод не работает из коробки на новой версии игры, для того чтобы он заработал нужно удалять библиотеки, на которые жалуется игра, но это не гарантирует корректную работу мода, поэтому все действия будут производиться на старой 1.27.5
Реализация:
1) Создаем Activation Fuse:

2) Открываем панель Unity Explorer на F7 (ну либо по стандарту она у вас уже открыта)

3) Скрываем окно Log и Clipboard (нажатием на полоску в правом верхем углу окна), они нам не пригодятся. Оставляем только окно Object Explorer

4) В окне Object Explorer листаем вниз и находим Activation Fuse — нажимаем на него

5) В открывшемся окне Inspector'а нажимаем на компонент InstantiateObjectBehaviour

6) В открывшемся окне мы можем настроить наш Activation Fuse, немного о настройках:
*Важно, при изменении любой настройки нажать Apply справа от нее

CopyRotation — будет ли заспавненный объект с таким же поворотом как и Activation Fuse
CopyScale — будет ли заспавненный объект с таким же размером как и Activation Fuse
DestroySelf — ВАЖНО, если вы хотите чтобы Activation Fuse не уничтожался после активации — отключите эту опцию, если включена — после активации Activation Fuse заспавнит объект и уничтожится.
И очень важная настройка, которая пригодится нам чуть позже:
Prefab — отвечает за префаб объекта который мы заспавним (на самом деле это не префаб а просто любой объект)
7) Половина пути позади, теперь, не закрывайте это окно инспектора, просто отодвиньте его в сторону и заспавньте объект, который хотите чтобы спавнился при активации (у меня это будет просто железный стержень).

8) В окне Object explorer (если вы его скрыли нажмите сверху в панели) найдите свой только что заспавненный объект (у меня это просто Rod), точно также нажатием на него откройте его

9) В открывшемся меню Object Editor нас интересует одна кнопка — Copy to clipboard — нажимаем ее

10) С помощью панели сверху, возвращаемся к InstantiateObjectBehaviour

11) Финальный шаг — справа от параметра Prefab нажимаем Paste (Не Copy, если нажали Copy — вернитесь на предытущую панель при помощи того же меню сверху и еще раз нажмите Copy to clipboard у нужного объекта)

Результат:
Готово! Теперь когда вы активируете Activation Fuse (а это можно сделать либо вручную либо зелеными проводами) вы получите новый экземпляр объекта. Сейчас вы можете закрыть меню Uniry Explorer'а и выключить коллизию у Activation Fuse если вам надо (ну я надеюсь это вы можете сделать и без пошаговой инструкции))).
Данный способ позволяет вам спавнить почти любые объекты где вы хотите и сколько вы хотите.
Небольшие предостережения:
1) Когда вы копируетесохраняете Activation Fuse — делаете это вместе с тем объектом что мы указали в префабе, иначе ссылка на него потеряется и после сохранения/копирования Fuse будет спавнить обычные вспышки
2) Не прикрепляйте ни к чем объект, который создает Fuse, если вам это не надо, потому что он создаст его с этими же креплениями.
Финал:
Собственно, спасибо за прочтение, всегда буду рад вашим вопросам в коментариях
Ваш SasMatress)
Источник: www.playground.ru
