Почему в Dragon Age: The Veilguard такие роскошные волосы — рассказывают разработчики

Как в BioWare создали причёски, «которые хочется потрогать».

Почему в Dragon Age: The Veilguard такие роскошные волосы — рассказывают разработчики

Специалисты студии BioWare поделились техническими подробностями о создании реалистичной системы рендеринга волос в Dragon Age: The Veilguard. Выбрали главное из материала.

Технология Strand Hair

В основе визуализации волос в The Veilguard лежит технология Strand Hair из движка Frostbite. Она сочетает физическое моделирование на основе отдельных прядей и рендеринг в реальном времени для естественной симуляции человеческих волос. EA уже применяла эту технологию в спортивных симуляторах EA Sports FC, Madden NFL и NHL, но для The Veilguard её пришлось существенно доработать.

В отличие от спортсимов, в RPG от BioWare у персонажей есть нетипичные особенности вроде рогов или эльфийских ушей. Причёски героев гораздо более разнообразные, а волосы могут опускаться до пояса. Чтобы учесть все эти особенности, разработчики:

  • разделили процессы симуляции волос и тесселяции при рендеринге;
  • увеличили максимальную длину волос с 63 до 255 сегментов;
  • внедрили новую систему для создания причёсок со сложной структурой вроде косичек;
  • добились точного поведения материала волос и правильного отображения теней, чтобы они выглядели реалистично при любых условиях освещения;
  • создали новую систему освещения, которая учитывает, как свет проходит через волосы.

Для того чтобы внедрить технологию Strand Hair в Dragon Age: The Veilguard, студия BioWare тесно сотрудничала с командой разработчиков движка Frostbite. Вместе им удалось преодолеть много трудностей, связанных с освещением и поведением волос в сложных сценах, например, когда персонажа окружают многочисленные и разнообразные магические частицы. Прежде технология Strand Hair не сталкивалась с такими вызовами, поскольку в спортивных симуляторах ничего подобного нет.

Почему в Dragon Age: The Veilguard такие роскошные волосы — рассказывают разработчики

Пряди волос с использованием технологии Strand Hair рендерятся иначе по сравнению с обычными 3D-объектами. Для них применяется специальный программный растеризатор, который отвечает за преобразование трёхмерной модели волос в двумерное изображение. Полученный результат компонуется в основной кадр, плавно смешиваясь с другими непрозрачными и прозрачными объектами при финальной обработке.

BioWare использовала для рендеринга причёсок сложную технику, которая предполагает разделение волос на две части. На первом этапе происходит визуализация непрозрачной части волос, а на втором — полупрозрачной, например, кончиков, которые могут пропускать свет. Рендеринг также учитывает эффект глубины резкости, что делает кадр более естественным.

Без наложения слоёв прозрачности (слева) и с ними (справа)
Без наложения слоёв прозрачности (слева) и с ними (справа)

Ещё одной проблемой, с которой столкнулись разработчики, стало использование большого количества разных настроек освещения для катсцен. Важно было добиться, чтобы волосы выглядели как можно более естественно, но производительность оставалась высокой, ведь речь идёт о визуализации в реальном времени.

Для решения этой проблемы разработчики рендерили дополнительные высококачественные тени на волосах персонажей. Тени рассчитываются в режиме реального времени с использованием узкого конуса света, точно повторяющего форму каждого волоса. В результате получаются очень точные карты теней, что сделало изображение более детализированным и правдоподобным.

Беллара без дополнительных теней (слева) и с ними (справа). Обратите внимание на различия в качестве передачи света на левой стороне головы
Беллара без дополнительных теней (слева) и с ними (справа). Обратите внимание на различия в качестве передачи света на левой стороне головы

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

Для того чтобы добиться стабильной частоты кадров, в BioWare установили жёсткие ограничения на время, которое тратится на рендеринг волос. Для режима с 30 fps максимальное время отрисовки составляет 6,5 мс, а для режима с 60 fps — 3 мс. Когда персонажи находятся вне экранного пространства или далеко от камеры, симуляция волос отключается, что также положительно сказывается на производительности.

На менее мощных ПК и Xbox Series S разработчики использовали упрощённые модели волос, которые требуют меньше памяти. Также в BioWare применили технологию масштабирования разрешения волос, которая автоматически подстраивается под производительность системы и выбранное разрешение.

Почему в Dragon Age: The Veilguard такие роскошные волосы — рассказывают разработчики

Релиз Dragon Age: The Veilguard состоялся 31 октября. Ранее в BioWare опубликовали игровую статистику за первую неделю после выхода.

289
12
142
8
3
1
4
2
2
1
546 комментариев

Ну не про сюжет или продажи говорить, приходиться про волосы.

361
7
3
2
1

Действительно, сайт же не посвящён технологиям, разработке игр и гейминдустрии. Тут сейчас главное пёрнуть погромче, чтобы попасть в топ комментариев.

Да, проглядел топовые комменты, реально ярмарка тщесл... ебанатства

95
17

И не про всратую боевую систему с мобилок=)

60
1
38

Расскажешь, что с сюжетом не так?

18
5
2

Как же ты трясëшься от отжиманий.

11
1