Підтримка бібліотеки ассетів та версіонності графіки ігор

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

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

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

Відвідати персоналізований сайт
Показано 1 з 1 послугУсі 242 послуг
Підтримка бібліотеки ассетів та версіонності графіки ігор
Середня
~3 робочих дні
Часті питання

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

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

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

  • 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

Поддержка бібліотеки ассетів та версіонності графіки ігор

Арт-директор просить повернути версію персонажа «як було три тижні тому, до того як художник переробив броню». Git зберігає тільки .unity файли та .prefab, а исходники у Photoshop та Substance Painter лежать у загальній папці на NAS — без історії версій. Це не рідкий сценарій. Це норма для студій, які не виробили управління ассетами з самого початку.

Чому Git не вирішує проблему ассетів

Git працює з текстом. Бінарний FBX на 80 МБ або PSD на 200 МБ — це diff, який не читається, та дельта, яка не сжимається. Репозиторій з арт-ассетами без LFS розростається до кількох гігабайтів за кілька місяців та стає непридатним для клонування.

Git LFS вирішує проблему зберігання, але не версіонності з точки зору художника. Трекінг *.psd *.fbx *.png через .gitattributes — це мінімум. Проблема: LFS не показує превью ревізій без git lfs fetch, художники не звичні до git checkout для перегляду попередніх версій текстури.

Професійна альтернатива — Perforce Helix Core або Plastic SCM (тепер Unity DevOps Version Control). Plastic SCM інтегрований у Unity Editor нативно, вміет показувати візуальний diff для .unity та .prefab файлів, підтримує lock-файли для бінарних ассетів (художник «захоплює» файл, виключаючи паралельні правки).

Структура бібліотеки ассетів

Хаотична структура папок у Assets/ убиває час команди. Знайти потрібну текстуру в проекті з 3000+ файлами без нормальної ієрархії — це 10–15 хвилин пошуку. Правильна структура залежить від типу гри, але базовий принцип: по фічам, не по типам.

Погано:

Assets/Textures/characters/hero_diffuse.png
Assets/Models/characters/hero.fbx
Assets/Materials/hero_material.mat

Добре:

Assets/Characters/Hero/Textures/hero_diffuse.png
Assets/Characters/Hero/Models/hero.fbx
Assets/Characters/Hero/Materials/hero_material.mat

При видаленні фічі — видаляється одна папка цілком. При пошуку — все в одному місці.

Для текстурних атласів: чітка система імені з суфіксами _D (diffuse/albedo), _N (normal), _M (metallic), _R (roughness), _AO (ambient occlusion) — критично для правильного імпорту в Unity (TextureImporter автоматично визначає тип за суфіксом при правильній настройці).

Версіонність исходників

Исходники (.psd, .spp Substance, .blend, .ma) не входять у Unity-проект. Їх зберігання — окремою задача. Варіанти:

Artefactory/Nexus як бінарне сховище з метаданими — підходить для крупних студій. Кожен исходник має версію, тег релізу, зв'язку з задачею в Jira.

Google Drive / SharePoint зі строгими соглашениями об іменіhero_armor_v003_2024-11-15.psd — працює для малих команд. Дешево, але потребує дисципліни.

Git LFS з окремим репозиторієм під исходники — середній варіант. Розділення репозиторія двигуна та арт-репозиторія зменшує проблеми з продуктивністю.

Для будь-якого варіанту потрібен процес: художник завершив ітерацію → експортує фінальний ассет у потрібному форматі (PNG/TGA для текстур, FBX для мешей) → розміщує у Unity-проект → фіксує версію исходника з тегом. Розрив між исходником та експортованим ассетом — головна причина питання «а звідки взялась ця текстура?» через рік.

Аудит та внедрення

Починаємо з інвентаризації: скільки ассетів, яка поточна обсяг, есть ли дубли (одна і та ж текстура в трьох місцях з різними іменами — типова ситуація). Інструмент: Find References у Unity + кастомний Editor-скрипт для пошуку невикористовуваних ассетів через AssetDatabase.FindAssets.

Потім — міграція на вибраний VCS, настройка .gitattributes або Plastic SCM правил, навчання команди роботі з lock-файлами.

Терміни

Робота Строк
Аудит та реструктуризація бібліотеки ассетів 3–7 днів
Настройка Git LFS + правила + CI-інтеграція 2–5 днів
Внедрення Plastic SCM / Unity DevOps 1–2 тижні

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