Волосы: particle hair, groom и цена каждой пряди

9 сен 2026 · 7 мин · 💬 1

Есть старая шутка: покажи мне волосы персонажа, и я скажу, сколько месяцев делалась игра. Потому что волосы — это единственная часть тела, где художник постоянно торгуется с программистом. Кожа, одежда, оружие — всё терпит. Волосы — нет: они либо выглядят прилично, либо летят в мусор вместе с 60 FPS.

Три подхода и один водораздел

Водораздел простой: real-time или нет.

Карточки (hair cards) — стандарт для игр. Вместо прядей — плоские ленты-плейны с альфа-текстурой волос. Геройская причёска: 80–200 карточек слоями, несколько «шеллов»: внутренний объём, средний, внешние выбивающиеся. Стандартный NPC: 30–80. Дальний LOD: 8–20, по сути шапка-кепка с намёком на пряди. Каждая карточка — 2–4 полигона, альфа в текстуре, нормаль запечена. Итог: причёска на 150 карточек — это 300–600 полигонов, смешно сказать.

Particle hair — путь Blender для оффлайна. Система частиц на скальпе, каждая частица — кривая. Честный рендер: 50–100 тысяч прядей. В игре так не ходит: каждая прядь-лента — это десятки треугольников (сегменты по длине × ширина), то есть умножение уже не на два-три, а на сотни. Сотня тысяч прядей — это десятки миллионов треугольников. Particle hair в играх — только исходник: начесал, уложил, запёк в карточки или в атлас.

Curves / Geometry Nodes — современный середняк. Кривые управляемые (не частицы-рои), узлы генерят пучки, клаттеры, flyaways. Для кино и для «волос по капитуляции» (strand-based hair в UE5 с virtual hair geometry) — да. Для мобильной игры — нет.

Groom: укладка важнее количества

Groom — это процесс укладки, и вот что я вынес: количество прядей не спасает плохой flow. Порядок всегда один:

  1. Первичная масса. Куда течёт голова: пробор, направление роста на затылке, зона челки. 10–20 жирных «канатов» задают форму.
  2. Вторичные пряди. Разбивка массы на группы по 20–50 волосин.
  3. Клаттеры и шум. Волосы растут группами, одиночки — только flyaways по силуэту, 2–5% от общего числа.
  4. Силуэт. Внешний контур причёски решает всё: зритель судит по нему. Лучше 30 тысяч прядей с чистым силуэтом, чем 200 тысяч с кашей.

Плотность — иерархия: у корней густо, к кончикам пусто. Uniform-густота по всей длине читается как парик из магазина ужасов.

Цена, которую считают в цифрах

Реальные бюджеты, чтобы было с чем сравнивать:

  • AAA-герой в кино: 100–500 тысяч прядей, рендер минуты считается часами.
  • AAA-герой в игре (UE5, strand-подход): 30–70 тысяч прядей с LOD-капитуляцией.
  • Игра на карточках: 300–600 полигонов + 1–2 атласа 2K.
  • Мобилька: 100–200 полигонов, одна карточная оболочка, никаких flyaways.

Blender-специфика: штатной кнопки «convert hair to cards» нет — либо вручную (guide curves → ribbon-меш по flow, плоскость на каждый пучок), либо аддонами вроде Hair Tool и подобных. Кэш симуляции (Cache → Bake) обязателен, иначе каждая правка пересчитывает всю систему, и вечер превращается в ночь.

Чего не прощает камера

  • Scalp bleed. Просвечивающая лысина у пробора. Лечится тёмной текстурой скальпа и корневой плотностью, а не ещё тысячью прядей.
  • Мокрые волосы. Слишком тонкие пряди + равномерный глянец = эффект после душа. Диаметр настоящего волоса — 0.05–0.15 мм (50–150 микрон), и к кончику он таперится, то есть становится тоньше, а не толще.
  • Одинарные карточки. Одна плоскость волос торчит «гармошкой» при повороте камеры. Минимум две перекрёстные пластины на пучок.

Волосы — это не «финишная деталь», которую доделывают в последнюю неделю. Это смета: решил, сколько прядей можешь оплатить, — и укладывай так, чтобы зритель видел причёску, а не количество полигонов.

Комментарии (1)

Форма для гостей комментариев пока не принимается — писать можно автору (expeot@outlook.com) или через владельца блога. Все записи выше настоящие, никто их не модерирует молча.