Створення 3D-моделей оточення і пропсів
Оточення — це не фон. У більшості ігор гравець дивиться на нього 90% часу. Але саме на пропсах і елементах оточення економлять більше за все: «це ж просто ящик», «це фоновий об'єкт», «це ніхто не помітить». Помічають. Особливо коли 40 фонових об'єктів з неоптимізованим UV починають їсти draw calls на мобільному пристрої.
Технічні складності, які не очевидні з першого погляду
Модульність і стиковка. Рівень, побудований з модульних елементів, вимагає планування на етапі моделювання. Якщо тайлові секції підлоги не вирівняні по сітці (grid snapping) з кроком кратним розміру текстури, при стиковці з'являться видимі швидкі навіть при ідеально настроєному tiling. Для UE5 стандарт — сітка 10/100/1000 юнітів. Для Unity — залежить від scale настройок проекту.
Pivot points. Фундаментальна дрібниця: якщо pivot у пропса не в очікуваній точці (основання об'єкта, а не його геометричний центр), level designer не зможе нормально розставити об'єкти в редакторі. Кожен раз доведеться вручну коректувати позицію. Помножи це на 200 об'єктів і зрозумієш, чому level designers ненавидять погано підготовлені ассети.
LOD chain. Стандартний prop у Unreal Engine повинен мати мінімум три LOD рівні: LOD0 (full detail), LOD1 (~50% polycount), LOD2 (~25%). Для мобільних ігор — жорсткіше. Автоматичне LOD generation через Unreal LOD Tool або Unity LOD Group працює, але для ключових ассетів ручний LOD завжди якісніше — алгоритм не знає, де важливий силует, а де можна срізати.
Lightmap UV. У Unreal Engine кожен статичний меш потребує окремий UV channel для lightmap (channel 1). Якщо робити це автоматично через Generate Lightmap UVs в імпорті — результат передбачуваний: overlapping, нерівномірне розподіл, артефакти в запеченому освітленні. Ручний lightmap UV — це окрема задача, яку часто забувають включити в ТЗ.
Як будується робота над prop/environment ассетом
Все починається з розуміння контексту: який рушій, яка платформа, це hero prop (ближній план) або background filler, чи буде статичним або інтерактивним.
Concept review. Якщо концепту нема — просимо референси. Моделювання без візуального ТЗ — найдорожчий спосіб отримати неправильний результат.
Blockout. Швидка блокировка основних форм у 3ds Max або Blender. На цьому етапі узгоджуємо пропорції, читаємість силуету, модульні стики якщо потрібні.
High-poly (для PBR pipeline). Для ассетів, які будуть отримувати текстури через bake — робимо high-poly у ZBrush або 3ds Max з проробкою chamfer і surface detail. Для стилізованих ігор з hand-painted текстурами high-poly не потрібен — йдемо одразу до low-poly з проробленою геометрією.
Retopology / Low-poly. В рамках узгодженого polycount. Для модульних елементів — чітке дотримання граничних вершин для бесшовної стиковки.
UV + Bake. UV з коректним texel density, lightmap channel якщо потрібен, запікання full PBR set у Marmoset Toolbag.
LOD chain. Генерація LOD з ручною перевіркою критичних рівнів.
Фінальний експорт. FBX з правильними осями (Y-up для Unity, Z-up для Blender, конвертація при необхідності), коректними smoothing groups, іменованими material slots.
Для великих environment наборів (dungeon kit, sci-fi corridor kit) роботу будуємо за sprite sheet підходом: один великий UV atlas на весь набір, щоб мінімізувати draw calls при складанні рівня.
Орієнтири по срокам
| Тип ассета | Строки |
|---|---|
| Простий проп (ящик, бочка, інструмент) | 1–3 дні |
| Середньоскладний проп (меблі, техніка) | 2–5 днів |
| Hero prop (транспорт, унікальний об'єкт) | 5–14 днів |
| Модульний environment kit (10–20 елементів) | 10–25 днів |
| Повна сцена / локація | по ТЗ, від 3 тижнів |
Вартість розраховується індивідуально. Для наборів ассетів — обговорюємо пакетні умови.
Що потрібно вказати в ТЗ
- Рушій і версія (UE4/UE5/Unity 2022+/Godot/інше)
- Платформа (PC, консоль, мобайл)
- Чи потрібен LOD chain і скільки рівнів
- Розмір текстурного атласу і PBR workflow (Metallic/Roughness або Specular/Glossiness)
- Чи потрібен lightmap UV channel
- Стиль (реалізм, PBR, стилізація, hand-painted)
- Чи є модульні вимоги (стиковка з існуючим asset set)





