Unity uGUI проти UI Toolkit та Nova UI для імпорту з Figma
Вибір правильної архітектури інтерфейсу користувача в Unity значною мірою залежить від пайплайну рендерингу вашої гри, бюджету продуктивності та складності інтерфейсу. Figma Converter for Unity підтримує кілька фреймворків, дозволяючи конвертувати макети Figma в Unity uGUI Canvas, сучасний UI Toolkit або процедурний фреймворк Nova UI. Цей технічний огляд детально розбирає архітектурні особливості та матрицю сумісності на основі бенчмарків і специфікацій FigJam.
Аналіз архітектури та вибір UI-фреймворку
Unity uGUI Canvas залишається перевіреним стандартом індустрії для кросплатформних ігор. Глибока інтеграція з TextMeshPro та кастомними шейдерами, зрілі інструменти та надійне батчування викликів відмальовки роблять його вибором за замовчуванням для консольних та мобільних проєктів. У поєднанні з UniText та локалізованими сабсетами шрифтів uGUI забезпечує надійну підтримку багатьох мов.
Unity UI Toolkit надає запозичений із вебу рушій компонування Flexbox на базі Yoga. Відокремлюючи розмітку (UXML) від візуальних стилів (USS), він дозволяє усувати дублювання стилів та швидко змінювати вигляд елементів. У зв'язці з Figma to UI Toolkit Converter (com.da-assets.ftu) та UI Toolkit Linker & Binder (com.da-assets.ulb) команди можуть транслювати дизайн Figma у чисті ієрархії VisualElement з прив'язкою до коду.
Nova UI — це сучасний високопродуктивний фреймворк інтерфейсу, розроблений спеціально для розробників Unity, яким потрібні скруглені кути, процедурні тіні та автоматичні розміри без втрати частоти кадрів. FCU конвертує фрейми Figma безпосередньо в блоки Nova, зберігаючи відступи автолейаутів без деформацій.
Матриця сумісності компонентів та можливостей
| Можливості фреймворку | Unity uGUI Canvas (за замовчуванням) | UI Toolkit (com.da-assets.ftu) | Nova UI (com.novaui) |
|---|---|---|---|
| Трансляція Figma Auto-Layout | Групи Horizontal, Vertical та Grid Layout | Рушій Yoga Flexbox через правила UXML та USS | Nova AutoLayout з відступами та авторозміром |
| Типографіка та сабсети шрифтів | TextMeshPro та UniText із сабсетами CJK/Latin | Нативні сабсети FontAsset та TextCore TMP | TextMeshPro та процедурні текстові блоки Nova |
| Реконструкція компонентів | Стандартні префаби Unity та вкладені варіанти | Модульні шаблони UXML та вкладені екземпляри | Ієрархії блоків Nova та префаби |
| Інтерактивні елементи UI | Button, Toggle, ScrollView, InputField, Slider | Button, Toggle, ScrollView, TextField | Nova Button, ScrollView, Grids та скролери |
| Рендеринг 9-Slice та тіней | Автоматичний 9-slice та Image Overflow | Нарізання рамок у USS та стилізація фону | Процедурні скруглені кути, рамки та тіні |
| Архітектура зв'язування даних | Пряма серіалізація скриптів та D.A. Localizator | Типобезпечне зв'язування через UI Toolkit Linker & Binder | Пряме компонентне зв'язування Nova |
Інженерні рекомендації та найкращі практики
Для команд, які починають розробку гри в Unity 2022.3 LTS або Unity 6, важливо враховувати цільове залізо та досвід команди. Якщо гра покладається на складні шейдери канвасу, інтерфейс у 3D-просторі чи численні плагіни з Asset Store, uGUI Canvas залишається найнадійнішим вибором. Для інструментів редактора чи десктопних застосунків чудово підходить UI Toolkit з FTU та ULB. Для мобільних або XR-ігор із процедурними скругленнями кутів та тінями без зайвих текстурних атласів Nova UI є чудовою сучасною альтернативою.