Декали в Fallout 3
Небольшая деталь, которая произвела на меня сильное впечатление в Fallout 3 (помимо великолепной графики), это как они сделали истертые края.
На верхней части приведенного ниже изображения вы можете видеть очень красивый ломаный камень. Считаю, что он выглядит просто отлично и высокополигонально. Но если посмотреть поближе, В ДЕЙСТВИТЕЛЬНОСТИ геометрия камня низкополигональная (средняя часть изображения)…
С самого близкого расстояния вы увидите очень низкополигональную геометрию и две текстуры на ней: «гладкий» камень и ломанный край. И чтобы скрыть жесткий переход между ними или, допустим, создать хороший переход, они разместили эти отверстия в Normal mapping.
Я исследовал материал немного и расскажу для всех, кто интересуется. Вот каркас камня. Это важно, потому что я подумал, возможно, они сделали дополнительный слой геометрии, изогнутый по краям. Подробности в дополнении к статье.
Далее я проверил текстуры краев. Интересно сказать, что Fallout использует половину размера диффузной карты для своих нормальных карт. Вот почему на следующем изображении разрешение диффузной и нормальной карты отличаются. Также я отметил, какая часть текстуры видна на моем снимке экрана.
Кстати, они сохраняют свою карту отражения в альфа-канале нормальной карты. В случае данных декалей (накладных изображений) отраженный свет полностью белый. И почему они просто не добавляют альфа-канал? Обычно, когда текстура не поддерживает альфа-канал, возвращаемое значение равно 1.0, что означает «белый». Но я уверен, что тому есть хорошая причина, которую я просто не могу понять.
Давайте поговорим о декалях. Throttlekitty упоминал, что декали используют в сочетании с Parallax mapping. Я не уверен насчет последнего, так как обычно для него нужна карта высот (в дополнение к карте нормалей, как говорится в этой статье), а таковой я не наблюдаю.
Но wichenroder дал мне очень интересную ссылку про Cry Engine, после чего все стало ясно.
Но я не уверен на 100%, что они (Fallout 3) использовали данную технику, так как я не вижу дополнительную геометрию. Даже когда исследую каркасные виды прямо в игре. (Я добавил красную линию самостоятельно, чтобы было понятнее, какие линии принадлежат камню. Вы смотрите на камень снизу, над камнем вы можете наблюдать небесную сферу):
В качестве еще одной попытки расследования я загрузил GECK – инструмент создания модов и предметов в Fallout. Там я увидел кое-что интересное. Вы можете убрать в блендинге все, а это останется:
Falk упоминал: может быть, они помещают декали в свой редактор и сохраняют их как префаб. Тогда разработчик уровня мог бы использовать префабы и декали, где бы они не хранились. НО сегодня я поговорил с одним парнем из Crytek, коллега которого раньше работал в Bethesda (что, в Crytek работает больше одного человека??). И он (первый упомянутый парень) сказал мне, что они (Bethesda) делают это точно так же, как в Cryengine (статья, упомянутая выше). ОК … может, с NIF tools я увижу дополнительную геометрию.
Как бы то ни было, вот что интересно: я спросил, как убрать эти декали, и мне сказали, что они удаляют их просто в уровнях детализации. Гениально!
Дополнение 1
Я спросил своего коллегу Маркуса (он анализирует свою игру), не знает ли он каких-нибудь интересных инструментов анализа, и Маркус посоветовал мне Intel GPA. С этим прикольным инструментом (барабанная дробь!) я смог сделать вот такой скриншот:
Нет, я не закрашивал текстуры черным. Я просто отключил Alpha1 / Alphatest, и вот результат. Возможно, это не доказательство, но точно намек на то, что они использовали дополнительную геометрию.