Get Mystery Box with random crypto!

Добрий вечір, панове геймдеви. Сьогодні я розповім вам про роб | Спілка розробників ігор

Добрий вечір, панове геймдеви. Сьогодні я розповім вам про роботу таких хитрощів розробника як префаби

Що таке префаб? ч.1

У юніті досить багато зручних інструментів роботи з даними, один з яких - префаб. По суті в Unity є два види конфігів з візуальним інтерфейсом для маніпулювання ними. Prefab і ScriptableObject. Якщо Scriptable Object більше про чисте зберігання даних, то Prefab, по суті, конфіг "аналогічний xaml" в UWP, який дає змогу реалізовувати концепцію MVVM, і є в ній View. Мені загалом подобається архітектура, коли префаби - це View, компоненти - View-Model, а Scriptable Object — модель. Це досить зручно. Але в будь-якій іншій схемі архітектури за MVP, MVC тощо можна префаби вважати за View.

Під капотом префаб або скриптабл обжект - це YAML конфіг. Якщо в Unity увімкнено текстову серіалізацію в налаштуваннях редактора, то його навіть можна відкрити і почитати.

Розуміти структуру префаб як конфіга корисно для пакетної обробки, щоб обробляти його як текст регулярними виразами і подібними інструментами.

При цьому варіанти зберігають тільки те, що змінилося, що дає змогу серіалізацію зробити компактнішою для різних "модифікованих" версій об'єктів на відміну від різних префабів. Єдиним винятком із цього правила є набір параметрів трансформа (що більше схоже на баг Unity, ніж на обґрунтовану фічу).

Базові елементи

Розберемо всі рекомендації на простому користувацькому інтерфейсі. Припустимо, що в нас, скажімо, є: магазин і нагорода за квест. Подібний приклад дасть нам змогу отримати випадки використання, схожі на правду, і деякі приклади того, які проблеми можуть виникати.


Кнопка як базовий елемент буде використовуватися по всьому інтерфейсу, тому корисно спочатку зібрати типові кнопки з потрібними розмірами шрифтів тощо.

Важливо: у роботі з префабами ніколи не лінуйтеся писати назви, потім це заощадить багато часу під час вирішення різних завдань. Через те що це необов'язково, не варто вважати, що це неважливо.

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