Unity 6.3
0 онлайн 82 гостей 3 в системе
Вход
Практическое руководство по разработке игр в Unity Глава 10 из 25 Оригинал, стр. 34

Prefab

Prefab Система Prefab в Unity позволяет создавать, настраивать и хранить GameObject как многократно используемый ресурс, сохраняя все его компоненты, значения свойств и дочерние GameObject. Ресурс Prefab служит в проекте шаблоном для создания новых экземпляров Prefab в сцене. Если вы хотите многократно использовать GameObject, настроенный определённым образом, преобразуйте его в Prefab. Использование Prefab Экземпляры Prefab можно использовать для многих GameObject в иерархии. Prefab может представлять всё, что требуется воспроизводить многократно: персонажа игрока или NPC, объект окружения либо часть геометрии уровня. Распространённые примеры использования Prefab:

- Ресурсы окружения: если одно и то же дерево или здание нужно несколько раз использовать на уровне, преобразуйте соответствующие меши в Prefab. - Неигровые персонажи (NPC): персонаж определённого типа может появляться

в игре несколько раз и на разных уровнях. С помощью переопределений можно различать такие экземпляры по поведению, внешнему виду или звукам.

- Снаряды и усиления: используйте Prefab, если во время выполнения нужно создавать экземпляры GameObject, которых изначально не было в сцене. Например, лазерное оружие может при каждом выстреле создавать экземпляр эффекта частиц. - Главный персонаж игрока: Prefab игрока можно разместить

в начальной точке каждого уровня игры или в отдельной сцене, загружаемой аддитивно. Изменения можно автоматически синхронизировать с Prefab, что упрощает редактирование ресурсов и распространение изменений на сцену. Создание ресурсов и экземпляров Prefab Чтобы создать ресурс Prefab, перетащите GameObject из окна Hierarchy в окно Project. GameObject вместе с его компонентами и дочерними GameObject станет новым ресурсом в окне Project. В зависимости от одноколоночного или двухколоночного режима окна Project ресурсы Prefab отображаются значком синего куба либо миниатюрой GameObject.

Аналогично, чтобы создать экземпляр Prefab, перетащите ресурс Prefab из окна Project в окно Hierarchy или Scene.

Создание ресурса и экземпляра Prefab

Изменения, внесённые в ресурс Prefab на диске, автоматически применяются к его экземплярам в сцене. Поэтому не нужно повторять одну и ту же правку в каждой копии ресурса. Это не означает, что все экземпляры Prefab должны быть одинаковыми. Настройки отдельных экземпляров можно переопределять, чтобы они отличались друг от друга или от исходного ресурса. Режим Prefab Для редактирования ресурса Prefab его можно открыть в специальном режиме Prefab. Этот режим позволяет просматривать и изменять содержимое ресурса Prefab изолированно либо в контексте других GameObject сцены. Изменения, внесённые в режиме Prefab, применяются ко всем экземплярам этого Prefab.

Режим Prefab: изолированно (слева) и в контексте (справа)

Варианты Prefab и вложенные Prefab Можно создавать варианты Prefab - осмысленные модификации базового Prefab. Это похоже на наследование от базового ресурса с переопределением только тех частей, которые требуется изменить.

Варианты одного базового Prefab

Вкладывайте Prefab в другие Prefab, чтобы создавать сложные иерархии объектов, которые удобно редактировать на разных уровнях. Поверх значка экземпляра вложенного Prefab в Hierarchy отображается значок плюса. Он указывает, что данный экземпляр переопределён во внешнем Prefab.

Вложенные Prefab; «внешний» Prefab отмечен значком плюса

Исходные ресурсы Prefab можно редактировать независимо, распространяя изменения на вложенные Prefab.