Почему в 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 опубликовали игровую статистику за первую неделю после выхода.

289289
142142
1212
88
44
33
22
22
11
11
546 комментариев

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

361
7
3
2
1

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

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

95
17

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

60
1

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

18
5
2

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

11
1