Інтеграція 3D-активів в ігрові рушії

Наша компанія з розробки відеоігор веде незалежні проекти, спільно з клієнтом створює ігри та надає додаткові операційні послуги. Досвід нашої команди дозволяє нам охопити всі ігрові платформи та розробити приголомшливий продукт, що відповідає баченню клієнта та перевагам гравців.

Від імерсивних застосунків до ігрових світів і 3D-сцен

Наша виділена команда для VR/AR/MR-розробки, Unity-продакшну і 3D-моделювання та анімації — з власними кейсами і презентаціями.

Відвідати персоналізований сайт
Показано 1 з 1 послугУсі 242 послуг
Інтеграція 3D-активів в ігрові рушії
Середня
~2 робочих дні
Часті питання

Наші компетенції

Які етапи розробки гри?

Останні роботи

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    683
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    862
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    491
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    533

Інтеграція 3D-активів у ігрові двигуни

Художник відав FBX-файл. Ти імпортуєш його в Unity. Модель повернута на 90 градусів, масштаб в 100 разів більше потрібного, нормалі інвертовані на половині полігонів, а скелет містить 8 додаткових костей від допоміжних об'єктів у сцені Maya. Знайомо? Це стандартна ситуація без чіткого пайплайну передачі ассетів.

Інтеграція 3D-активів — це не просто «перетягти файл у Project Window». Це узгодження систем координат, масштабів, форматів скелетів, UV-каналів, naming conventions для матеріалів та коректна настройка Import Settings під конкретний двигун та платформу.

Проблеми пайплайну FBX → Unity/Unreal

Несумісність систем координат. Maya та 3ds Max використовують Y-up, Blender по замовчуванню Z-up, Unity — Y-up, Unreal — Z-up. При експорті FBX з Blender без правильної настройки Export Axis Convention модель у Unity буде повернута. Здавалося б — дрібниця, але при анімованому скелеті це означає, що всі кості зміщені, і Animation Clips не будуть воспроізводитися коректно.

Зайві трансформації та Pivot-проблеми. Художник здає персонажа з Pivot у ногах, пропс — з Pivot у геометричному центрі. Двигун не знає, що правильно. У Unreal це критичніше — Static Mesh Pivot впливає на те, як об'єкт буде вирівнюватися при розміщенні в рівні. Правило: Pivot-точка повинна визначатися заздалегідь в техзаданні на ассет.

Матеріали та named slots. При імпорті FBX Unity створює Material Slots за іменами у файлі. Якщо художник називає матеріали Material.001, Material.002 (дефолтні імена Blender) — розібратися потім, що до чого, складно. Перед експортом всі матеріали повинні мати семантичні імена: M_Char_Body, M_Char_Face, M_Weapon_Blade. Це соглашение закріплюємо в Asset Naming Convention документі.

UV-канали для Lightmap. Unity потребує другого UV-каналу для запічки освітлення (Lightmap UV). Якщо ассет прийшов без UV2 — Unity автогенерує його при імпорті, та результат часто неоптимальний: overlapping UV islands, погане розподіл простору. Для серйозних проектів UV2 робимо в DCC (Maya/Blender) вручну або через спеціалізований UV unwrap.

Настройка Import Settings під задачу

У Unity Import Settings для Mesh:

  • Scale Factor — стандартно 0.01 для Maya/3ds Max (вони працюють у сантиметрах, Unity в метрах). Blender — 1.0 при правильному експорті
  • Read/Write Enabled — вимикаємо для статичних мешей, залишаємо тільки якщо потрібна runtime mesh modification
  • Optimize Mesh — включаємо для фінальних ассетів (перегруповує трикутники для кращої GPU cache coherency)
  • Generate Colliders — тільки для простих convex мешей. Складну колізію робимо окремим Low-poly Collider Mesh

Для скінованих персонажів: Rig → Animation Type = Humanoid (якщо потрібен Avatar та Retargeting) або Generic (якщо кастомний скелет без ретаргетингу). Humanoid має strict вимоги до ієрархії костей — усі 15 обов'язкових костей повинні бути мапповані.

Формати: FBX vs glTF 2.0 vs USD

glTF 2.0 — сучасний відкритий стандарт, нативно підтримується в Unreal 5.1+ та Unity через пакет com.unity.formats.gltf. PBR-матеріали (metallic/roughness workflow) передаються без конвертації. Значно менше проблем з масштабом та координатами, ніж у FBX.

USD (Universal Scene Description) — актуально для Unreal Engine з USDZ, для пайплайнів з Omniverse, для AR (Apple Reality Composer). Підтримує референси на інші USD-файли, що зручно для збірки сцен з модульних ассетів.

FBX — legacy стандарт, але поки найуніверсальніший. Проблеми відомі та вирішувані при правильному workflow.

Реальний кейс: архітектурна візуалізація в Unreal Engine 5. Замовник передав 40 об'єктів інтер'єру з 3ds Max (FBX), 12 з них — з інвертованими нормалями через negative scale при моделюванні в Max. Замість ручного виправлення кожного об'єкту написали Python-скрипт для batch-processing через FBX SDK: автоматично вирівнює scale, флипає нормалі там, де determinant матриці трансформації негативний, переименує матеріальні слоти по конвенції. Обробка 40 об'єктів — 3 хвилини замість двох днів ручної роботи.

Пайплайн інтеграції ассетів

Розробляємо Asset Delivery Guide — документ для команди художників: вимоги до експорту (настройки FBX/glTF), naming convention, структура UV-каналів, максимальні polycount за категоріями ассетів, вимоги до матеріальних слотів.

Настроюємо імпорт через AssetPostprocessor (Unity) або Editor Utility Blueprint (Unreal) для автоматичної установки Import Settings при додаванні нового ассету. Це убирает людський фактор — Import Settings встановлюються однаково для всієї команди.

Валідація ассетів перед інтеграцією: скрипт-чекер перевіряє vertex count, кількість матеріалів, наявність UV2, правильність pivot-точки.

Масштаб задачі Орієнтовні терміни
Настройка Import Settings для готового пакета ассетів 2–5 днів
Розробка Asset Pipeline + документація 1–2 тижні
Виправлення проблемних ассетів + інтеграція (20–50 об'єктів) 2–4 тижні
Повний пайплайн DCC → Engine з автоматизацією 3–6 тижнів

Вартість визначається після аудиту передаваних ассетів та двигуна.