руководства
August 30

Зеркальная комната в NVIDIA Ansel

дата оригинальной публикации: 2020-06-02 автор: Perfect Snake

Исследование особенностей съемки с применением эффекта «зеркальной комнаты» заинтересовало меня еще при первом знакомстве с ним. Ранее я использовал этот эффект лишь в играх, сделанных на игровом движке UE3, и увидев пост о том, на что способен режим съемки в высоком разрешении в NVIDIA Ansel (этакий аналог функции tiledshot из UE3) при использовании его рядом с отражающими поверхностями, решил поэкспериментировать с этим методом.

В статье я хочу поделиться обнаруженными закономерностями, особенностями и просто любопытными вещами, связанными с данным методом съемки, на примере игры HITMAN 2.

Съемка в высоком разрешении

Функция съемки в высоком разрешении, являющаяся частью NVIDIA Ansel, работает по такому же алгоритму, что и функция tiledshot в UE3, то есть она собирает конечный снимок по принципу мозаики, используя плитки, равные размеру разрешения экрана.

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

до использования съёмки в высоком разрешении
после использования

Зеркальная комната

Если в большинстве игр зеркальная комната представляет собой noclip пространство, то, в случае с HITMAN 2, это буквально комната внутри зеркала, поэтому нужно учитывать, что объекты зеркально отражены.

Особенности метода начинают открываться при использовании зеркальной комнаты и эффекта «хромакей», встроенного в Ansel. При инвертированной глубине фокуса и правильном подборе ее значения (около 2–3%) в эффекте «хромакей», можно получить силуэт отражения отраженного в зеркале объекта.

Слева – силуэт объекта, справа – сам объект

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

Для этих целей удобно использовать сетку третей. Например, используя множитель 3, центральное поле сетки будет являться пространством для копирования (при увеличении множителя это пространство сужается).

до использования съёмки в высоком разрешении

Можно заметить, что количество скопированных объектов в финальном снимке равно (2n-1)², где n — заданный вами множитель разрешения. Это правило работает до тех пор, пока в конечном изображении не появляются полосы хромакея по краям экрана.

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

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

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

Прочие наблюдения

В ходе экспериментов я также заметил следующие особенности:

Затухание копий

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

Причем если объект находится справа от центра экрана, то его отражение затухает справа налево, а силуэт его отражения – слева направо. Если же объект находится слева от центра экрана, то затухания происходят наоборот.

Эффекты не влияют на копии объектов

В качестве примера можно рассмотреть съемку с эффектом «тилт-шифт».

Заметно, что размытие имеет те же границы, что и в изначальном виде. То же самое происходит и с эффектом «виньетка» и многими другими.

Можно использовать два хромакея

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

Итог

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

В любом случае, обширный функционал Ansel и наличие зеркальной комнаты делает HITMAN 2 колоссальным полем для экспериментов.