Режим префаба
Правка префаба на месте и разворачивание вложенных префабов
Режим префаба
В этом режиме вы правите шаблон префаба
Вы правите шаблон, а не одну его установку. Сохранение переносит изменение во все установки, которые ссылаются на этот шаблон
Как устроена установка:
- Когда вы указываете установке шаблон, установка получает настоящие копии его объектов с постоянными идентификаторами. В редакторе потомок префаба - совершенно обычный объект
- В файле уровня хранится только установка: шаблон, идентификаторы копий и переопределения. Копии собираются из шаблона заново при каждой загрузке уровня
- Установка может отличаться от шаблона через переопределения экземпляра. Они записываются, когда вы правите такой объект вне режима префаба
- Правки в режиме префаба переопределений не создают. Это изменение самого шаблона
Шаблоны открываются друг поверх друга. Установка внутри шаблона открывает свой шаблон, а Сохранить и закрыть возвращает обратно. Один шаблон нельзя открыть дважды одновременно. Предел вложенности - 8 уровней
Подробнее - Переиспользование: префабы, копирование, генераторы
Вход и выход
Войти можно двумя способами:
Править префабв инспекторе установкиПравкав строке шаблона в настройках уровня, вкладкаПрефабы. Установка для этого не нужна, поэтому так открывается и шаблон, который нигде не стоит или стоит только внутри другого шаблона
Открыть в префабе в контекстном меню и в палитре команд делает то же для выделенной установки или для объекта, который установка принесла. Соответствующий объект внутри шаблона сразу выделяется
Выйти тоже можно двумя способами:
Сохранить и закрытьна таймлайне префаба выходит на один уровень, в шаблон, который открыл этот- статус на главной панели инструментов (
Редактируется '...') иCtrl+Shift+Eзакрывают все открытые шаблоны разом и возвращают в уровень
Выделение сбрасывается при каждом входе и выходе. Возврат на один уровень восстанавливает то, что было выделено в том шаблоне
Внутри шаблона выделение работает как в уровне: клик, клик с Ctrl, рамка, удаление, копирование и свёртка. Клик во вьюпорте там ничего не выделяет: вьюпорт продолжает показывать уровень, а живого предпросмотра шаблона в нём нет
Внутри шаблона
Все объекты шаблона висят на его корне. Корень:
- тянется на весь шаблон. Его длина -
Длина в кадрах, одно и то же число в инспекторе корня и на вкладкеПрефаб - его нельзя удалить или дать ему родителя
АктивениСлойу него только для чтения. Они принадлежат каждой установке
Новый объект встаёт под выделенный объект, если выделен ровно один, включая корень. Иначе он встаёт на верхний уровень шаблона, под корень. Он тянется на весь отрезок родителя, с якорями на обоих концах. На верхнем уровне это весь шаблон
Генераторы, которым нужен весь уровень, здесь недоступны. Создать префаб из выделения и сплющить установку внутри шаблона тоже нельзя
Создать префаб из выделения
Превращает выделенные объекты в новый шаблон и ставит одну его установку на их место. Уровень после этого выглядит и играет так же
Где найти:
Создать префаб из этогов меню строки иерархии- контекстное меню вьюпорта
Создать префаб из выделенияв палитре команд,Ctrl+GИз выделенияв настройках уровня, вкладкаПрефабы
Подтверждения нет, это один шаг отмены. Новая установка оказывается выделенной.
Один объект даёт шаблону своё имя. Несколько объектов дают шаблон с именем Prefab. Переименовать его можно в настройках уровня, вкладка Префабы
Что отклоняется:
- установка или объект, который принесла установка. Для них меню предлагают
Открыть в префабе - выделение, которое дало бы вложенность глубже 15 уровней. Ничего не записывается, и сообщение об этом говорит
Сплющить установку
Отвязывает установку от шаблона: её объекты становятся обычными объектами уровня и остаются ровно там, где стоят
Где найти: Сплющить префаб в инспекторе установки, в меню строки иерархии и в палитре команд
Действие всегда спрашивает подтверждение. Уровень после него выглядит так же, поэтому случайное сплющивание обнаружилось бы намного позже, когда правка шаблона перестанет до него доходить. Несколько выделенных установок дают одно подтверждение и один шаг отмены
Объект, который принесла установка, отдельно сплющить нельзя. Сплющите установку, которой он принадлежит
Разворачивать вложенные префабы
Решает, что станет с префабами внутри того, который вы разворачиваете
Выключено - от шаблона отвязывается только выбранная установка. Префаб внутри неё остаётся установкой и сохраняет связь. Правка внутреннего шаблона по-прежнему доходит до уровня. Это значение по умолчанию: обычно просят именно его, "развернуть этот префаб". Переключатель выключен при каждом открытии подтверждения
Включено - разворачивается и всё вложенное. После одного нажатия ни один объект уровня не связан с внутренними шаблонами, на любой глубине
В обоих случаях сами шаблоны остаются в уровне. Всё разворачивание - один шаг отмены