Low-poly персонаж — это компромисс, выраженный в полигонах. Каждый треугольник должен работать: на силуэт, на деформацию, на читаемость текстуры. Лишний edge loop в ненужном месте — это не «запас», это waste, который умножается на количество одновременных экземпляров в сцене. Мы в своей практике сталкиваемся с этим ежедневно: один неверный полигон может стоить FPS.
Конкретный пример из практики: мобильная RPG с тактической камерой, 20 юнитов одновременно на экране. Изначальный hero mesh — 8 200 triangles. После профилирования в Unity Profiler выясняется, что одни только персонажи дают 164k tris на кадр, и это до окружения. Перегон каждого юнита в 3 500–4 500 tri с пересмотром UV layout снизил draw calls и дал стабильные 60fps на mid-range Android. Это не магия — это дисциплина работы с polycount.
Чтобы получить стабильный FPS и качественный силуэт, свяжитесь с нами для предпроектного анализа.
Где ломается low-poly pipeline
Главная ошибка — делать low-poly «из high-poly через ZRemesher». Автоматические ретопологизаторы не понимают, где нужен edge loop под деформацию, а где — нет. Результат: дополнительные полигоны в статичных зонах и недостаток геометрии там, где персонаж гнётся. Плечевой сустав с тремя петлями не деформируется — он ломается.
Почему автоматическая ретопология не подходит для анимации?
ZRemesher и аналоги игнорируют анатомию. Edge loops должны идти вдоль мышечных групп, а не поперёк суставов. На практике это означает, что после авто-ретопологии аниматор получает mesh с растянутыми полигонами в локтях и коленях, что делает скиннинг непредсказуемым. Только ручная расстановка петель даёт нужную упругость деформации.
Второй камень — UV islands и texel density. Если UV-развёртка делается наспех, лицо получает такой же texel density, как ботинок. На 512×512 текстуре (типично для мобайла) лицо персонажа превращается в кашу. Разные части тела требуют разного распределения UV space по приоритету визуальной важности.
Как избежать главных ошибок при low-poly моделировании?
Третий момент — skinning-friendliness топологии. Edge loops должны идти вдоль мышечных групп, а не поперёк суставов. Программист-риггер или технический аниматор видит модель и сразу понимает, будет ли skinning предсказуемым. Плохая топология = часы правок на анимационной стадии.
Первый шаг к успешному low-poly персонажу — manual retopology с учётом анимации и UV приоритетов. Не полагайтесь на автоматику, если персонаж будет двигаться.
Как мы строим процесс low-poly моделирования
Отправная точка — технические требования: целевая платформа, polycount budget, размер texture atlas, движок. Blender, Maya или 3ds Max — инструмент выбирается под pipeline проекта, не под предпочтения художника.
Blockout. Сначала примитивы — box modeling от крупного к мелкому. Пропорции и силуэт важнее деталей. На этом этапе polycount уже контролируется: считаем triangles, не quads.
Topology pass. Ручная расстановка edge loops под риг. Ключевые зоны: плечевой сустав (минимум 2 петли), локоть (2–3 петли в зависимости от диапазона движения), колено, шея, запястье. Лицо — отдельный разговор для hero character, там edge flow под мимику принципиален.
UV unwrap. Делается в Blender или Rizom UV — зависит от сложности модели. Для mobile персонажа с одним 2048×2048 atlas принципиально важно: лицо получает максимум UV space, руки — в меру, ноги и спина — минимум. Seams прячутся в визуально неприоритетных зонах.
Почему ручная UV-развёртка критична для качества?
Если тексельная плотность распределена неравномерно, текстура будет размытой на важных деталях. Ручной разрез позволяет выделить приоритетные области (лицо, руки) и пожертвовать менее заметными (спина, ступни). На мобильных проектах это может решить, будет ли персонаж выглядеть презентабельно.
Подготовка под bake. Если модель идёт в пару с high-poly, настраиваем cage, проверяем отсутствие overlapping UV, экспортируем в FBX с правильными smoothing groups. Запекание делается в Marmoset Toolbag или через Substance Painter с настройкой match by mesh name.
Финальный формат — FBX или glTF 2.0 в зависимости от требований движка. Unity принимает оба, Unreal Engine лучше работает с FBX, web-движки (Three.js, Babylon.js) предпочитают glTF.
Что входит в результат
- Low-poly mesh в формате FBX или glTF 2.0 (polycount в рамках согласованного бюджета)
- UV-развёртка с оптимизированным texel density и скрытыми seams
- Корректная топология, готовая под риг (edge loops в зонах деформации)
- Подготовка к запеканию: cage, smoothed normals, exploded smoothing groups (если требуется high-poly)
- Технический паспорт: polycount, количество UV-островов, texel density на ключевых частях
- Консультация по интеграции в движок
Ориентиры по срокам
| Сложность | Polycount | Сроки |
|---|---|---|
| Простой NPC (стилизация) | до 2 000 tri | 2–4 дня |
| Стандартный игровой персонаж | 3 000–6 000 tri | 4–8 дней |
| Hero character (full equipment) | 6 000–12 000 tri | 8–16 дней |
| Технически сложный (мех, броня) | 10 000–20 000 tri | 12–20 дней |
Это сроки на геометрию без текстурирования. UV unwrap входит в базовую стоимость. Стоимость рассчитывается индивидуально после анализа требований.
Рекомендуемый polycount по платформам
| Платформа | Рекомендуемый budget | Пример проекта |
|---|---|---|
| Mobile (low-end) | 1 500–3 000 tri | Казуальная игра |
| Mobile (mid-range) | 3 000–5 000 tri | RPG с 10+ персонажами |
| PC / Console | 8 000–15 000 tri | AAA-экшн |
| Web (WebGL) | 2 000–5 000 tri | Браузерная игра |
Что проверить до начала работы
- Согласован polycount budget с учётом количества одновременных экземпляров в сцене
- Есть концепт минимум с двух ракурсов (front + side), лучше — с четырёх
- Определён размер texture atlas и количество материальных слотов
- Указано, будет ли персонаж анимирован и насколько экстремальны деформации
- Ясно, нужен ли high-poly источник для запекания или текстурирование будет hand-painted
Мы работаем с геймдевом более 5 лет и реализовали свыше 50 проектов на Unity и Unreal Engine. Оптимизация polycount позволяет сэкономить до 40% затрат на рендеринг. Закажите моделирование персонажа с гарантией оптимизации — мы подготовим техническое задание и дадим рекомендации.






