Diablo IV

Что стоит за внешним великолепием: графика в Diablo IV

Blizzard Entertainment

Официальный выход Diablo IV 6 июня в 02:00 МСК открыл для отважных странников врата в Преисподнюю. Убийцы демонов сразу заметят важную особенность Diablo IV — эта игра завораживающе мрачная. Ее эстетика отсылает к истокам этой вселенной — к популярнейшим готическим мотивам оригинальных Diablo и Diablo II. Первая из этих игр вышла почти 27 лет назад, и с тех пор технологии, создающие визуальный язык видеоигр, изменились до неузнаваемости.

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


Содержание

Философия и основные принципы

Возвращение во тьму с помощью технологий

Масштабирование в Санктуарии

Производительность на консолях после выхода игры

Что дальше


Философия и основные принципы

– с участием Кевина Кантина, ведущего графического инженера

Цели и философия команды по работе с графикой Diablo IV зиждутся на тех же принципах, которым обязана своим успехом компания Blizzard. На первом месте для нас игровой процесс. Это значит, что каждое наше решение должно делать игру интереснее и увлекательнее. С каждой новой версией Санктуария мы стремились улучшить нашу технологию рендеринга. Поскольку атмосфера Diablo IV более мрачная, чем в предыдущих играх, мы задали себе вопрос: «Что мы, команда по работе с графикой, можем сделать для создания именно такой атмосферы?». Отвечая на него, мы составили небольшой список важных особенностей — и решили, что безупречно реализовать их для нас важнее, чем добавить в игру еще больше особенностей.

Главный принцип нашей философии — совместная работа. В процессе дизайна и разработки наша команда графических инженеров и технических художников сотрудничала с разными художественными командами, работавшими над Diablo IV. В нашей компании междисциплинарные команды часто работают над какой-то одной особенностью игры. Для нас очень ценно мнение не только команды художников, но и всех прочих специалистов.

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

К началу


Возвращение во тьму с помощью технологий

– с участием Джона Бакли, главного инженера по графике

Физически корректный рендеринг

Создать мрачный визуальный стиль Diablo нам помогает физически корректный рендеринг (PBR), благодаря которому игровой контент выглядит более реалистично. Как видно из названия этой технологии, мы используем физические величины из реального мира, чтобы моделировать взаимодействие света и поверхностей в нашем виртуальном игровом мире. Работая над видеоигрой, мы создаем собственную реальность — и это захватывающий процесс. Но если графика станет слишком уж фантастичной, игровой мир получится странным. Мы решили, что наши технологии должны руководствоваться физическими законами реального мира, а нарушать эти законы можно, только когда того требует сюжет игры. Например, в реальном мире не бывает «отрицательных источников света», однако в игре встречаются моменты, когда темная магия как бы поглощает свет.

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

Выше изображены физические свойства текстур Лилит, вместе и по отдельности.

Свет, тени и интервалы между ними

С самого начала разработки игры мы уделяли много внимания визуальному стилю. Для нас было ясно, что художественная составляющая Diablo IV должна создавать более мрачную атмосферу, чем в прошлых играх. Это означало, что теней в игре должно быть много — в пределах возможностей оборудования. При этом мы должны были сохранить достаточно высокую частоту смены кадров. Постоянно меняющийся открытый мир, созданные случайным образом подземелья, динамичная погода и видеоролики с участием уникальных героев ограничивали возможности для применения оптимизационных трюков и хитростей. К счастью, современные графические карты и консоли очень производительны и могут выполнять триллионы математических операций в секунду. Всего пару десятилетий назад мы не могли и мечтать о такой производительности. Она делает возможной сложные расчеты, связанные с освещением и тенями, позволяя точно смоделировать мельчайшие подробности реального мира.

Сложная сеть очертаний на иллюстрации представляет собой схему освещения в подземелье Diablo IV.

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

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

Хотя в основе художественной составляющей нашей игры лежат качественные текстуры, без света и теней нельзя вдохнуть жизнь в игровой мир. Как и текстуры, освещение в Diablo IV создано с учетом физики реального мира. Команде, воплощающей свое творческое видение, бывает сложно справиться со всеми этими техническими деталями, так что для работы с ними в Diablo IV мы создали потрясающий набор творческих инструментов, который позволил художникам спокойно заниматься своим делом. Эти инструменты часто опираются на физические явления и используют соответствующую физическую терминологию, такую как «люмены», «облученность» и «канделы».

Одним из сюрпризов, с которыми мы столкнулись при разработке, стала важность промежуточного пространства. Чтобы создать мрачную атмосферу в реалистичном суровом мире, нам надо было смоделировать пыль и частицы между источниками света и объектами. Этот процесс называется объемный рендеринг и играет ключевую роль в воплощении художественных составляющих Diablo IV.

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

Крупные планы

Одна из отличительных особенностей Diablo IV — то, что сюжет раскрывается через внутриигровые видеоролики. Когда камера оказывается рядом с персонажем, очень важно реалистично показать кожу. Иногда через кожу можно увидеть свет, идущий с другой стороны — как, например, в случае с крыльями Лилит. В реальном мире свет тоже попадает на вашу кожу, преломляется в ней и выходит в другом месте. Проходя через плоть, кровь и кости, свет меняет свои свойства — это физическое явление называется подповерхностное рассеивание. Смоделировав это сложное взаимодействие света с тканями, мы можем сделать лицо персонажа живым — иначе оно будет казаться пластмассовым.

На изображении слева показана кожа персонажа в игре без реалистичного распределения света, а справа — реалистичное распределение света по коже.

К началу


HDR в Diablo IV

- с участием Кевина Тодиско, главного инженера по графике

Еще одна новая технология, которая помогает нам вернуться во тьму — это дисплеи с расширенным динамическим диапазоном (HDR).

HDR становится все популярнее, на рынке появляется все больше дисплеев с поддержкой этой технологии. Прежде чем мы подробно расскажем о HDR в Diablo IV, возможно, лучше подробнее рассказать о самой технологии и преимуществах поддерживающих ее дисплеев по сравнению с теми, к которым мы привыкли в последние десятилетия.

Дисплеи прошлых поколений поддерживали только определенный диапазон яркости. Строго говоря, нижняя граница диапазона была в районе 0,1 нит. Нит — это единица яркости на плоской поверхности. Один нит соответствует яркости свечи на площади в один квадратный метр. Верхняя граница диапазона для этих дисплеев была 80 нит — это не такая большая яркость. Если вы помните телевизоры с лучевой трубкой, их максимальная яркость была около 80 нит. Обычно изображение с такой яркостью выглядит не слишком сочно. Когда на рынке появились телевизоры высокой четкости, производители мониторов также захотели улучшить качество своей продукции. Они начали увеличивать яркость дисплеев — до значений в районе 300 нит. В силу так называемого эффекта Ханта более яркие цвета также кажутся более насыщенными. Цвета сильнее выделяются и изображение на HD-дисплее кажется более живым — именно это нам нравится в играх.

Новый стандарт HDR-дисплеев дополнительно расширил диапазон яркости — теперь максимальная яркость увеличилась до 10 000 нит, а технология OLED позволяет отображать настоящий черный цвет в любой части экрана. Эти нововведения позволяют отправлять результаты внутреннего рендеринга движка игры в формате HDR прямо на дисплей — без компрессии диапазона для стандарта SDR. Мы можем добиться не только большей яркости, но и, что важнее для Diablo IV, сделать темные части изображения более темными.

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

Здесь игра Diablo IV на SDR-дисплее.

Теперь сравните это с той же сценой на HDR-дисплее.

Обратите внимание: в сцене на HDR-дисплее в некоторых частях экрана есть настоящий черный цвет, и в целом сцена более темная. Итак, почему сцена на SDR-дисплее выглядит светлее? Для SDR-дисплеев мы должны поднимать яркость самых темных фрагментов до 0,1 нит с помощью тональной компрессии — вы можете увидеть это на примере теней с первого снимка экрана. Эта компрессия диапазона также означает, что мы увеличиваем яркость остальной части изображения — иначе казалось бы, что все изображение в тени. Такую проблему часто называют «раздавленный черный», и тональная компрессия SDR-дисплеев позволяет ее избежать.

На HDR-дисплее, напротив, мы можем более точно воспроизвести слабое освещение этого подземелья, и в тени даже будет участки настоящего черного. Это помогает подчеркнуть мрачную, готическую атмосферу Diablo IV.

Изменения в HDR с открытой беты

Во время открытой беты была проблема с уровнями черного в игре — они были выше тех, которые могут воспроизвести HDR-дисплеи (особенно с технологией OLED). Наша команда решила, что это из-за функции log(), которая должна была помочь с распределением образцов в наших справочных таблицах цветов. Функция log() отлично распределяет образцы по всему цветному кубу, но любители математики должны заметить, что она никогда не достигает 0, поскольку 20 все еще равно 1, и даже 2-10 все еще равно 0,000976. Значение 0,000976 очень важное — это было минимальное значение цвета, которое игра могла поместить в видеобуфер вследствие неполадки. Благодаря дополнительной обработке изображения в SDR-дисплеях эти дисплеи отображают цвет, достаточно близкий к черному, когда получают эти значения. Однако HDR-дисплей интерпретирует такие значения более буквально. Значение 0,000976 округляется до 0,07 нит яркости, что гораздо выше минимальной яркости OLED-дисплея, составляющей около 0 нит. В результате все темные части изображения оказываются необычно яркими. Мы были рады, что смогли устранить эту неполадку до проверки производительности серверов.

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

А вот та же сцена с нашей тональной компрессией для HDR.

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

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

Источник в правой части изображения кажется вполне естественным, но в самых ярких областях не хватает контраста. Теперь сравните изображение с той же сценой, но с нашей тональной компрессией для HDR.

Разница снова не слишком заметна, но очень важна. Оранжевый свет источника слева стал больше похож на красный, а освещенная область справа выглядит более насыщенной. Эти изменения очень важны, чтобы игра выглядела примерно одинаково на SDR- и HDR-дисплеях.

Калибровка Преисподней

Мы усердно работали, чтобы SDR- и HDR-версии Diablo IV выглядели потрясающе без дополнительной настройки. Но мы также предоставили игрокам возможности для калибровки, чтобы компенсировать различия дисплеев и освещенности помещения. Ниже показан экран калибровки HDR, где вы можете настроить точку черного цвета, яркость и точку белого цвета, чтобы изображение в игре соответствовало вашим предпочтениям.

К началу


Технические художники — мост между командами

- с участием Аарон Айкмана, старшего технического художника

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

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

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

Оттенки Санктуария

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

Шейдеры окружающей среды также применяют ряд техник, таких как направленное смешивание, адаптированное масштабирование текстур и рассеивание. Направленные шейдеры позволяют адаптировать наложение разных текстур в зависимости от направления поверхности, например на покрытых снегом скалах. Данные об искривленности могут быть использованы, чтобы изменить параметры цвета и шероховатости для краев и полостей объектов окружающего мира. Шейдеры декораций используют излучающие элементы, чтобы подсвечивать предметы, с которыми может взаимодействовать игрок. Шейдеры местности выполняют сложное смешивание многочисленных непрерывных текстур, чтобы почва в игре выглядела реалистично. Чтобы ограничить сложность шейдеров, мы создали виртуальные текстуры, объединяющие несколько текстур в одну — это позволяет не смешивать их для каждого кадра.

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

К слову о вертексных шейдерах, многие ресурсы окружающей среды рассчитывают движения объектов, которые иначе были бы статичными. Листва колышется, когда с ней взаимодействуют герои или их навыки. Порывы ветра наклоняют траву, наросты плоти покачиваются, сгустки крови и конечности извиваются — все это возможно благодаря использованию данных и математическим расчетам, которые осуществляет шейдер.

К началу


Масштабирование в Санктуарии

- с участием Сэмюэла Дельмонта, старшего инженера по графике

Diablo IV была разработана для ПК с Windows и двух поколений консолей. Чтобы игра поддерживала все эти устройства, мы добавили несколько систем для масштабирования движка без потери качества. Это обеспечивает оптимальное качество игрового процесса при соблюдении максимальной поддерживаемой устройством частоты смены кадров.

Игра будет учитывать характеристики ПК и консолей, такие как ограничения памяти и мощность центрального процессора и графического ядра, чтобы обеспечить наилучшую возможную на данном устройстве производительность. Например, 3D-объекты и текстуры могут загружаться с пониженной детализацией, как и шейдеры, визуальные эффекты, эффекты пост-обработки и другие системы. Меняя соответствующие настройки, игрок может предпочесть производительность качеству изображения или наоборот.

Подробности о настройках для ПК

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

Разрешение

Один из главных факторов, влияющих на производительность — разрешение игры. Если вы играете на ПК, игровой мир может воспроизводиться в более низком или более высоком разрешении. Этот параметр настраивается с помощью специального ползунка, а затем повторно масштабируется в соответствии с итоговым разрешением дисплея или окна, в котором вы играете.

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

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

Оптимизация настроек в соответствии с вашими предпочтениями

Настройка качества текстур — одна из настроек, наиболее сильно влияющих на использование памяти и качество игрового процесса. Вы можете выбрать одну из четырех настроек качества, но мы остановимся подробно на двух: ультра и высокой. Чтобы выбрать «Ультра», самое высокое качество, необходимо загрузить ресурсы для высокого разрешения при установке игры через Battle.net. Кроме того, у вас должно быть не менее 32 ГБ памяти. Ультра-качество лучше всего подходит для игры на 4k-дисплее, но при этом игра будет использовать больше памяти. Высокое качество подходит для дисплеев с разрешением 1440p и 1080p. Если снизить качество текстур, игра будет загружать текстуры низкого разрешения, что улучшит производительность и уменьшит использование памяти, однако текстуры будут выглядеть менее четкими.

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

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

К началу


Производительность на консолях после выхода игры

Diablo IV выйдет на нескольких консолях. Мы подобрали наилучшие параметры для каждой консоли, обеспечивающие самое высокое качество изображения. Представленные ниже параметры разрешения и частоты смены кадров характеризуют производительность на консолях Xbox и похожем оборудовании.

Xbox:

  • Xbox Series X: 60 кадров в сек. при 4K
  • Xbox Series S: 60 кадров в сек. при 1440p
  • Xbox One X: 30 кадров в сек. при 1440p
  • Xbox One S: 30 кадров в сек. при 1080p
  • Xbox One: 30 кадров в сек. при 1080p;

К началу


Что дальше

Это далеко не все наши планы по повышению качества графики. После выхода игры команда продолжит добавлять в игру новые функции, а также оптимизировать и совершенствовать существующие. Мы ценим ваши отзывы и просим высказать свое мнение на форумах Diablo IV. А сегодня благодарим вас за то, что прочитали эту подробную статью о графике, делающей атмосферу Diablo IV настолько изысканно зловещей.

До встречи в Санктуарии!
Команда разработчиков Diablo IV


Сделайте ваше путешествие по Санктуарию увлекательнее с NVIDIA DLSS 3

Как сказано выше, NVIDIA DLSS 3 — один из вариантов повышения разрешения, доступных для Diablo IV на ПК. С помощью NVIDIA DLSS 3 можно повысить частоту смены кадров при использовании видеокарты GeForce RTX 40 Series — огни Преисподней будут гореть гораздо ярче. Если вы хотите включить DLSS 3, перейдите по ссылке и прокрутите страницу вниз.

Драйвер NVIDIA GeForce Game Ready для Diablo IV доступен для загрузки на вкладке драйверов в GeForce Experience или на сайте GeForce.

К началу