Запекание карт нормалей и текстурных карт графики

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

От иммерсивных приложений до игровых миров и 3D-сцен

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

Посетить персонализированный сайт
Показано 1 из 1Все 242 услуг
Запекание карт нормалей и текстурных карт графики
Средний
от 4 часов до 2 дней
Часто задаваемые вопросы

Наши компетенции

Какие этапы разработки игры?

Последние работы

  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    1457
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    979
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    605
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    674
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Обучающая викторина для детей «Покупки в магазине»
    29

Разница между «просто запечь» и «запечь правильно» — это разница между артефактами на каждой жёсткой грани и чистой картой, которая работает при любом освещении. Процесс кажется простым: загрузи high-poly и low-poly, нажми Bake в Marmoset Toolbag, получи карту. На практике 30% времени уходит на настройку, 40% — на исправление артефактов, и только 30% — на сам bake. Наш опыт показывает, что грамотная подготовка с первого раза экономит до 40% времени по сравнению с переделками.

Какие артефакты возникают и почему

Shadowing artifacts на hard edges. Классика: normal map выглядит нормально при прямом освещении, но при боковом свете на гранях появляются тёмные полосы. Причина — несовпадение smoothing groups на low-poly и граничных seam-ов UV. Правило, которое исправляет это в 90% случаев: seam UV должен совпадать с hard edge (smoothing group break). Это называется matched UV/smoothing workflow и это не опция, а обязательное условие для корректного bake.

Projection artifacts. При несовпадении объёмов high-poly и low-poly baker пытается найти ближайшую поверхность через ray casting и промахивается — особенно на сложных вогнутых формах и тонких элементах. В Marmoset Toolbag это решается через Bake Groups: каждая деталь с большим расхождением объёмов выделяется в отдельную группу с индивидуальным cage.

Seam-ы на normal map. Видимые разрывы по границам UV islands. Причина — недостаточный padding (2px вместо необходимых 8px) или floating geometry, которую baker интерпретирует неоднозначно. В xNormal эта проблема решается через Edge Padding post-process. В Marmoset Toolbag — через Dilation настройку в Output параметрах.

Tangent space несовпадение. Normal map запечена в одном tangent space, движок использует другой — результат: некорректное освещение, блики не там где нужно. Unity использует MikkTSpace, Unreal Engine — тоже MikkTSpace, но с нюансами в UE4 vs UE5. Marmoset Toolbag и Substance Painter поддерживают настройку tangent basis — её нужно выставить в соответствии с целевым движком до запекания.

Артефакт Причина Решение
Shadowing artifacts Несовпадение smoothing groups Совместить seam UV с hard edge
Projection artifacts Расхождение объёмов HP/LP Использовать Bake Groups с индивидуальным cage
Seam-ы на normal map Недостаточный padding Увеличить padding до 8px, включить dilation
Tangent space несовпадение Разный tangent basis Выставить MikkTSpace под целевой движок

Какой софт и настройки гарантируют чистый bake?

Marmoset Toolbag 4 — основной инструмент для bake. Причина: Bake Groups с per-group cage, поддержка UDIM, правильный tangent basis для большинства движков, удобный preview в реальном времени. Настройки: Samples 256–512 для финального bake, Dilation 32px для 4096 текстур, Cage Offset индивидуально под каждую группу.

xNormal — используется для сложных случаев с custom cage и для пакетного запекания большого количества объектов. Быстрее Toolbag на больших сценах, но preview слабее.

Substance Painter — когда bake и текстурирование идут в одном инструменте. Match by Mesh Name workflow: low-poly называется Object_low, high-poly — Object_high. Painter автоматически матчит пары и запекает отдельно. Это критично для сложных ассетов с десятками деталей.

Карты, которые запекаем стандартно: Normal Map (tangent space), Ambient Occlusion, Curvature, Position, Thickness, World Space Normal. Последние три нужны для процедурных масок в Substance Painter. AO запекается с настройкой Ray Distance и Ignore Backfaces — без этого кавернатные детали дают неправильные тени.

Для персонажей с UDIM workflow запекание делается per-tile: каждый тайл (1001, 1002, 1003...) запекается с учётом своей геометрии. Marmoset Toolbag 4 поддерживает UDIM bake нативно — это одна из причин, почему он стал стандартом в character pipeline.

Типичные ошибки при подготовке HP/LP моделей - UV seam не совпадает с hard edge → shadowing artifacts. - Не настроен cage или он слишком мал → projection artifacts. - Padding менее 8px для текстур 4096 → seam-ы. - Неверный tangent basis → некорректное освещение в движке. - Модели не совпадают по mesh name → Substance Painter не матчит пары. Исправление этих ошибок до байка сокращает количество переделок на 50%.

Процесс работы

На входе нужны: high-poly mesh (FBX/OBJ), low-poly mesh с готовым UV, информация о целевом движке (для tangent basis), размер текстурного атласа.

  1. Проверка пары HP/LP. Смотрим соответствие объёмов, выявляем проблемные зоны — тонкие детали, острые углы, вогнутые формы.
  2. Настройка bake groups. Разбиваем модель на группы по типу поверхности и сложности геометрии. Флоатинг геометрия (клёпки, накладки, детали) — в отдельные группы.
  3. Тестовый bake. На уменьшенном разрешении (512 или 1024) проверяем все критичные зоны. Исправляем smoothing groups, перемещаем seam-ы, правим cage.
  4. Финальный bake. Полное разрешение, максимальный sampling. Постпроцессинг: edge dilation, фильтрация.
  5. QA в движке. Карты проверяются в целевом движке или в Marmoset Viewer под несколькими вариантами освещения — ключевой, боковой, backlight.

Что входит в работу

Мы предоставляем полный пакет: исходные карты (Normal, AO, Curvature, Position, Thickness) в форматах PNG/TGA, настройки сцены байка (файл Toolbag/scene, описание групп), а также рекомендации по интеграции в движок. При необходимости — обучение команды по работе с полученными текстурами и поддержка в течение месяца после сдачи.

Почему стоит доверить запекание нам?

Более 7 лет опыта в геймдеве, свыше 150 проектов — от мобильных инди-игр до AAA-персонажей для консолей. Мы гарантируем чистую карту с первого байка: если после проверки в движке остаются артефакты, исправляем бесплатно. Для постоянных клиентов — скидки на пакетные заказы. Начните сотрудничество сегодня — закажите тестовый bake одного ассета со скидкой 30%.

Ориентиры по срокам

Тип ассета Количество карт Сроки
Простой проп Normal + AO 4–8 часов
Оружие / экипировка Full PBR set 1–2 дня
Персонаж (один UV tile) Full PBR set 2–4 дня
Персонаж UDIM (4–6 тайлов) Full PBR set 3–6 дней

Стоимость рассчитывается после анализа исходников. Оцените свой проект бесплатно. Оставьте заявку — мы свяжемся и рассчитаем сроки и стоимость. Получите консультацию по вашему проекту. Свяжитесь с нами — оценим сложность и предложим лучший вариант.

Подробнее о tangent space можно прочитать в документации Marmoset.

3D-моделирование для игр

Представьте: художник сдаёт персонажа с 120 000 полигонов, мотивируя это тем, что «так выглядит лучше». На мобильном устройстве сцена из десяти таких персонажей уронит FPS до неиграбельных значений. Мы в студии GameArt ежедневно решаем такие проблемы: наши модели проходят строгий полигональный контроль и оптимизацию под целевую платформу. За 7 лет мы выпустили более 50 игровых проектов — от мобильных гиперказуалок до PC-экшенов. Гарантируем, что каждая модель впишется в технические требования без потери визуального качества.

3D-моделирование для игр — это не просто «сделать красиво». Это расстановка приоритетов в ограниченном бюджете треугольников и draw calls. Каждый этап пайплайна влияет на производительность в рантайме. Пропуск ретопологии или кривые UV оборачиваются переделками на этапе интеграции — мы это исключаем на старте.

В этой статье разберём ключевые аспекты: от high-poly скульпта до финальной сборки в Unity или Unreal Engine, с акцентом на практические кейсы. Мы проектируем модели под конкретную платформу: для мобильных используем низкую тексельную плотность (512 px/м), для PC — до 2048 px/м. Все решения принимаются на основе бенчмарков движка и профилирования на реальном железе.

Общий пайплайн

Стандартный пайплайн выглядит так:

  1. Концепт / референсы — прежде чем открывать ZBrush, нужно понимать силуэт, читаемость и целевую платформу.
  2. High-poly sculpt — детальная скульптурная модель без ограничений по полигонам. Делается в ZBrush или Blender (Sculpt Mode).
  3. Low-poly retopology — чистая игровая сетка поверх high-poly, вручную или полуавтоматически.
  4. UV-развёртка — подготовка координат для текстур.
  5. Baking — перенос детализации с high-poly на карты (normal map, AO, curvature и т.д.).
  6. Передача в движок — импорт в Unity или Unreal с настройкой LOD-цепочки.

Каждый этап влияет на следующий. Плохая ретопология сломает скиннинг. Криво нарезанные UV дадут артефакты при запекании. Этапы нельзя менять местами.

Как распределяются полигоны для разных платформ?

Этот аспект чаще всего игнорируется на старте проекта — и именно он потом стоит переделок.

Мобильные платформы (iOS / Android)

Мобайл — самая жёсткая среда. Ориентиры для персонажей:

Тип персонажа Полигоны (триангулированные)
Главный герой (крупный план) 3 000 – 8 000
NPC второго плана 1 000 – 3 000
Массовка, враги вдали 300 – 800

Для окружения (один пропс):

Объект Полигоны
Крупный интерактивный (сундук, дверь) 500 – 1 500
Средний декоративный 100 – 400
Мелкий (камень, ветка) 20 – 80

Критичнее самого полигонажа — количество draw calls и батчинг. Модель на 200 треугольников с отдельным материалом может быть дороже модели на 2 000 треугольников, которая батчится со всей сценой. Правильный батчинг (SRP Batcher, GPU instancing) снижает draw calls до 40% — это даёт запас для более детализированных ассетов.

PC / Console

Здесь бюджеты мягче, но не безграничны:

  • Главный персонаж в шутере от первого лица: 15 000 – 60 000 полигонов (модель противника, которую игрок видит постоянно).
  • Персонаж в RPG от третьего лица: 8 000 – 25 000.
  • Транспортное средство в гонке: 30 000 – 80 000 (много мелких деталей, LOD обязателен).

Ключевой инструмент — LOD (Level of Detail). В Unity это LOD Group, в Unreal — автоматический HLOD + ручные LOD-уровни в Static Mesh Editor. Правило: LOD0 → LOD1 должен терять ~50-60% полигонов, LOD1 → LOD2 ещё ~50%. Дополнительно настраиваем occlusion culling и кластерный рендеринг, чтобы снизить нагрузку на GPU.

VR

VR — отдельная история. Рендер идёт для двух глаз, целевой фреймрейт 90 fps (Quest) или 120 fps (PSVR2). Любой фризен ощущается физически — у игрока кружится голова.

Бюджет персонажа в VR: 4 000 – 12 000 (зависит от количества NPC в сцене одновременно). Окружение агрессивно оптимизируется: портальная система, occluder culling, кластерный рендеринг — без этого сцена не потянет нужный fps. Мы используем Frame Debugger и Render Doc для профилирования на целевом устройстве на ранних этапах.

Почему ретопология — художественная задача?

Ретопология — создание чистой полигональной сетки поверх sculpt-модели. Многие воспринимают её как скучный технический этап, который можно ускорить авторетопологией (ZRemesher, Instant Meshes, функция Auto Retopology в Maya). Это ошибка.

Авторетопология даёт плохой результат в трёх ключевых зонах:

  1. Суставы — колени, локти, запястья. Там нужны ровные кольца эджлупов, перпендикулярные оси вращения. Авторетопология ломает их хаотичными диагоналями, и при анимации сустав схлопывается некрасиво.
  2. Лицо — вокруг рта и глаз нужны concentric loops, которые следуют мышечной структуре. Это обязательное условие для корректной мимической анимации через blend shapes / morph targets.
  3. Силуэтные рёбра — плечи, грудь, крупные формы. Здесь нужно сознательно распределить полигоны так, чтобы силуэт читался даже на LOD2.

Инструментарий для ручной ретопологии включает Maya (Quad Draw), Blender (BSurfaces + Shrinkwrap), 3ds Max (Graphite Modeling Tools) и ZBrush (ZRemesher с guide curves). Плотность сетки распределяется неравномерно: лицо и кисти — больше полигонов, спина и низ ног — меньше. Это не произвол, а следствие того, где камера проводит больше времени.

Как UV-развёртка влияет на качество текстур?

UV — ещё один этап, который часто недооценивают. Текселная плотность (texel density) должна быть одинаковой по всему персонажу. Если у сапога плотность в два раза выше, чем у лица — текстура будет выглядеть непоследовательно. В Maya для этого есть UV Toolkit с нормализацией, в Blender — аддон TexTools.

UDIM (U-Dimension) — технология, при которой несколько UV-тайлов объединяются в один объект. Это позволяет использовать текстуры 4K–8K без ограничений одного UV-пространства. Применяется для персонажей с высокими требованиями к детализации — cinematic-игры, hero assets. В pipeline это означает Substance Painter с UDIM-режимом и отдельный экспорт каждого тайла.

Запекание (baking) — перенос деталей высокополигональной модели на карты для low-poly. Инструменты:

  • Marmoset Toolbag — отраслевой стандарт, cage-based baking с тонкой настройкой. Удобная визуализация ошибок. При правильном cage результат чистый с первого раза.
  • xNormal — бесплатный, проверенный временем. Менее удобный интерфейс, но стабильный результат и батч-запекание.
  • Substance Painter — встроенный baker для быстрого результата внутри текстурирования, менее гибкий, чем Marmoset.
  • Blender — Cycles baker. Медленнее и требует настройки, но бесплатен.

Типичный набор запекаемых карт: Normal Map, Ambient Occlusion, Curvature, Thickness, Position, World Space Normal. Curvature и Thickness — генераторные маски в Substance Painter, автоматически выделяющие выпуклости и вогнутости для процедурного текстурирования. Согласно Marmoset Toolbag documentation, batch-baking на нескольких объектах экономит до 30% времени.

Что входит в 3D-моделирование для игр?

Этап Детали Формат сдачи
High-poly sculpt Создание детализированной скульптуры в ZBrush / Blender .zpr / .blend, скриншоты
Ручная ретопология Чистая low-poly сетка с правильными эджлупами для анимации .fbx / .ma
UV-развёртка Нормализованная тексельная плотность, опционально UDIM .fbx с UV-set
Запекание Normal, AO, Curvature, Thickness (Marmoset / xNormal) texture set (PNG/TGA)
LOD-цепочка LOD0–LOD3 с порогами по полигонам и расстоянию .fbx для каждого LOD
Интеграция Импорт в Unity / Unreal, проверка материалов и батчинга .unitypackage / .uasset
Документация Именование ассетов, иерархия, требования к трианглам PDF / Notion

Дополнительно предоставляем часовую сессию поддержки после сдачи — помогаем с настройкой LoD Group, коллизиями и анимацией. Исходные файлы (.zpr, .blend, .ma, .fbx) передаются в полном объёме.

Типичные ошибки при UV-развёртке, которые мы предотвращаем
  • Разные тексельные плотности на соседних частях модели — текстура выглядит неконсистентно.
  • Перекрывающиеся UV (overlap) — артефакты запекания.
  • Недостаточный padding между островами — размытие текстур при мип-маппинге.
  • Отсутствие UDIM для сложных персонажей — потеря детализации.

Свяжитесь с нами, чтобы обсудить ваш проект. Мы оценим сроки и подготовим коммерческое предложение под ваши требования — от мобильных гиперказуалок до PC-экшенов и VR.