Зеркала в Alan Wake 2 и что с ними не так.

Часто встречал, как при обсуждении зеркал в играх приводил в пример Alan Wake 2, где даже с лучами в отражениях было нечто кривое и непонятное. Как будто технология требующая современной мощной видеокарты не может справиться с обычным зеркалом, в отличие от старых времен Duke Nukem 3D. Я то игру проходил и знаю насколько круто там работают отражения на всех объектах с пастрейсингом, но зеркала и вправду выглядят странно. Поэтому я решил разобраться в вопросе и показать насколько круто работают современные технологии, если разработчики уделяют достаточно внимания.

Зеркала в Alan Wake 2 и что с ними не так.

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

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

Используется пастрейсинг, это самое большое зеркало в игре. Все зеркала имеют подобную текстуру в большей или меньшей степени. 

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

для наглядности, добавил источник освещения в фотомоде, чтобы подсветить модель персонажа

Главный вопрос почему, а главное зачем? Дальше будут мои фантазии и предположения. Я думаю, что причина в SSR (отражениях в экранном пространстве). Старая-добрая технология, которой уже более 10 лет. Так вот на консолях и на ПК (без пастрейсинга) для отражений применяется эта базовая технология. SSR неплохо работает на поверхностях, находящихся под углом к камере, но дают жуткие артефакты на горизонтальных отражающих поверхностях, особенно перед игроком. Вот ниже примеры той же сцены с использованием SSR вместо лучей.

Видно, как SSR "отражает" в зеркале спину персонажа, ведь ему доступна только информация, непосредственно с итоговой картинки.

И вот тут моё главное предположение. Возможно, такая текстура зеркал сделана для уменьшения шума и артефактов от SSR. В основном, в играх зеркала вообще не размещают или просто замазывают, разбивают. Яркий пример TLOU 2, где на моей памяти самое большое количество зеркал с планарными отражениями за всю историю, но большинство зеркал в игре замазаны, запылены или разбиты, для оптимизации, потому что планарка дорога для ГПУ. Вот можно посмотреть, насколько сильнее артефакты SSR на стекле тех же напольных часов, где стекло ровное без дополнительной шероховатости.

артефакты намного резче и более вытянутые, чем на зеркалах с шероховатой текстурой

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

Подытожу: в Alan Wake 2 пастрейсинг может создавать идеальные отражения, но не в зеркалах, потому что зеркала имеют ребристую текстуру и не являются ровными.

23
2
57 комментариев