Unity Як працювати зі збірними

Prefabs ​​— це спеціальні ресурси, які дозволяють розробникам зберігати GameObjects разом із їхніми компонентами та іншими даними в настроюваних шаблонах, які пізніше можна повторно використовувати між сценами та іншими проектами або створити екземпляр за допомогою сценарію, без необхідності їх знову налаштовувати.

Випадки, коли Prefabs корисні:

  • Екологічні активи (дерева, кущі, каміння тощо)
  • NPC (персонажі, які не є гравцями)
  • снаряди
  • Примірники гравця
  • Будь-які об’єкти, які потрібно повторно використовувати в грі

Приклад використання

Під час перетягування та опускання моделей безпосередньо на сцену вони часто породжуються певними проблемами, як-от:

  • Відсутні текстури
  • Неправильний масштаб
  • Неправильне обертання

Модель дерева з матеріалом за замовчуванням

Зазначені вище проблеми можна легко виправити в Сцені (призначити правильний матеріал(и), змінити масштаб/обертання тощо):

Модель дерева з правильного матеріалу

Однак, якщо ви плануєте використовувати модель неодноразово та/або в різних сценах, повторення наведених вище кроків швидко стане виснажливим завданням, тому натомість ми можемо зберегти модель у Prefab.

Як створити Prefab

  • Щоб створити Prefab у Unity, просто перетягніть об’єкт із перегляду сцени в режим перегляду проекту.

Unity 3D Створіть Prefab

  • Після створення Prefab його можна перекинути в будь-яку сцену, створивши точну копію:

Перегляд проекту Unity Prefab

Редагування Prefabs

Редагування існуючих префабів виконується двома способами: змінюючи їх у редакторі префабів або змінюючи їх у сцені.

Змінення в Prefab Editor

  • Виберіть Prefab у вікні проекту, а потім у вікні інспектора клацніть "Open Prefab"

  • Prefab відкриється в редакторі, де ви зможете змінити його.

  • Завершивши редагування, клацніть стрілку назад у вікні ієрархії, щоб вийти з редагування та зберегти зміни.

Unity 3D Зберегти зміни Prefab (Метод 1)

Модифікація в сцені

  • Перемістіть Prefab у вікно Scene, а потім відредагуйте його там.

  • У моєму випадку я додав ще один об’єкт до ієрархії (зверніть увагу на символ (+) біля значка)
  • Під час модифікації префабів у сцені зміни не зберігаються автоматично, натомість вам потрібно вручну вибрати кореневий об’єкт префабу та в режимі перегляду клацнути "Overrides", а потім клацнути "Apply All", щоб зберегти зміни, або "Revert All" щоб скасувати зміни.

  • Деякі дії не підтримуються під час редагування Prefab безпосередньо в сцені, наприклад, якщо вам потрібно змінити структуру ієрархії, вам буде запропоновано повідомлення "Cannot restructure Prefab instance" і параметри "Open Prefab" або "Cancel".

Щоб змінити структуру екземпляра Prefab, натисніть 'Open Prefab' або клацніть правою кнопкою миші на префабі у вікні ієрархії, а потім виберіть Prefab -> Розпакувати або Prefab -> Розпакувати повністю.

Розпаковування Prefab видаляє його зв’язок із основним Prefab, таким чином роблячи його повністю доступним для редагування в Scene.

Щоб зберегти розпакований Prefab назад, виберіть папку, де знаходиться оригінальний Prefab, а потім перетягніть змінений об’єкт із перегляду ієрархії в цей Prefab.

Unity 3D Зберегти зміни Prefab (метод 2)

Іноді, якщо зміни надто суттєві, вам буде запропоновано повідомлення з підтвердженням.

Переконайтеся, що ви змінюєте правильний Prefab, а потім натисніть "Replace Anyway", щоб завершити дію, або «Не замінювати», щоб скасувати дію.

Повідомлення про підтвердження заміни Prefab Unity 3D

Новий Prefab тепер збережено та готовий до використання.