Геймдев
#статьи

Фотореализм в 3D: как добиться правдоподобности при работе с виртуальной камерой

Доклад 3D-дженералиста и художника по визуальным эффектам Асбьёрна Лоте.

Иллюстрация: Colowgee для Skillbox Media

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

Чтобы добиться ещё большего реализма, важно проанализировать контекст трёхмерной сцены и посмотреть на неё с точки зрения оператора живых съёмок. В рамках конференции Blender 2023 3D-дженералист Асбьёрн Лоте рассказал, как именно это следует делать, на какие вопросы отвечать в процессе и какими инструментами пользоваться.

В этой статье редакция «Геймдев» Skillbox Media делится основными тезисами специалиста. Сама презентация больше нацелена на 3D-визуализации, но её содержание может пригодиться и режиссёрам кат-сцен.

Подписывайтесь на наш телеграм-канал «Чекпоинт». Это уютное место, в котором мы рассказываем об играх и о том, как они создаются, а также делимся полезными советами разработчиков и пишем о важных обновлениях популярного софта. Комментарии открыты: вы можете предложить идею для нового текста или просто обсудить всё, что связано с геймдевом.

Полная версия доклада Асбьёрна Лоте

Асбьёрн Лоте

Норвежский 3D-дженералист и художник по визуальным эффектам. Уже более двух лет ведёт свой канал Polyfjord на YouTube, где публикует пошаговые видеоуроки по различным операциям в Blender.

Почему некоторые фотореалистичные сцены выглядят неестественно

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

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

Также Асбьёрн добавил на меши травы Кривые (Curves), создав эффект помятости от шин. В итоге получилась довольно реалистичная сцена с автомобилем, который по какой-то причине свернул с дороги и заехал вглубь парка.

Источник: доклад Асбьёрна Лоте на Blender Conference 2023 / YouTube

Закончив со сборкой сцены, Асбьёрн настроил необходимый ракурс камеры и задал ей будущее направление с помощью ключевых кадров.

Источник: доклад Асбьёрна Лоте на Blender Conference 2023 / YouTube

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

Эти вопросы приведены ниже. Стоит отметить, что все они связаны с тем, как те или иные люди работают с камерой в реальной жизни.

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

С какой целью ведётся съёмка? Важно обозначить намерения оператора и понять, почему данное видео вообще существует. Это может быть срежиссированная сцена, документальный фильм или просто запись какого-то события.

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

Анализ видео живых съёмок

В своём выступлении Асбьёрн привёл два примера живых съёмок, записанных в совершенно разных условиях. Ниже можно ознакомиться с первым видеорядом.

Источник: доклад Асбьёрна Лоте на Blender Conference 2023 / YouTube

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

На фрагменте можно заметить колебания камеры, что указывает на отсутствие штатива или недостаток стабилизации. Динамический диапазон недостаточно высокий, чтобы запечатлеть детали отдельных элементов (например, передачу корректного цвета автомобилей), а некоторые участки кадров сильно переэкспонированы. Сам объектив не отличается чёткостью, и по отдалённому ракурсу можно предположить, что в данном случае использован 70-мм фокус.

Фрагменты, подчёркивающие особенности камеры:
1. Мягкий фокус (нечёткие детали)
2. Переэкспонированные участки
Кадр: Blender / YouTube

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

Ниже представлен ещё один видеофрагмент.

Источник: доклад Асбьёрна Лоте на Blender Conference 2023 / YouTube
Источник: доклад Асбьёрна Лоте на Blender Conference 2023 / YouTube

В нём заметно искажение объектива и не очень корректное отображение эффекта боке (ассиметричное по отношению к области фокуса и некруглой формы, характерной для камер из премиум-сегмента) — и это указывает на использование бюджетных линз. Камера при этом довольно светочувствительная. И ещё при перемещении она словно скользит — это наводит на мысли о том, что она прикреплена к карданному подвесу, который, судя по перемещению камеры, не до конца сбалансирован. Также на видео можно заметить оператора в отражении зеркала.

Фрагменты, подчёркивающие особенности камеры:
1 Оптические искажения
2. Некрасивое боке
3. Используется карданный подвес
Кадр: Blender / YouTube

Скорее всего, видео записано человеком, который только начал тестировать стабилизатор камеры, в данном случае — карданный подвес. Также Асбьёрн предполагает, что фрагмент снят на Sony A7s II.

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

Анализ 3D-сцены на примере трёх сценариев

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

На примере созданной ранее 3D-сцены Асбьёрн продемонстрировал несколько сценариев фотореалистичной съёмки автомобиля — профессиональным оператором, любителем необычных гаджетов и блогером.

Реклама автомобиля

Подобный контент подразумевает, что заказчик платит за подачу товара (в данном случае — автомобиля) в выгодном свете. А это значит, что потребуется дорогая камера, опытный оператор и специальное оборудование.

Чтобы узнать больше о технических особенностях такой съёмки, можно найти в поисковике дорогую камеру — например, Alexa LF от Arri.

Фото: ARRI

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

Таким образом, понимая специфику работы с такой камерой в реальной жизни, можно добавить её настройки в Blender — и выставить ключевые кадры перемещения виртуальной камеры в сцене таким образом, чтобы имитировать съёмку реальной.

Примечание

В Blender можно выставить настройки объектива абсолютно любой камеры. Для этого необходимо найти в Сети технические характеристики интересующего устройства от производителя и ввести числовые параметры в соответствующие пункты настройки виртуальной камеры. Аналогичным способом можно настроить камеру и в игровых движках — например, в Unreal Engine.

Панель настроек объектива виртуальной камеры в Blender
Скриншот: Blender / Blender Foundation

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

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

На кадре обведён кинематографичный эффект боке, характерный при настройке фокуса студийных камер, а также отсутствие отражение оператора в кадре
Кадр: Blender / YouTube
Траектория камеры в Blender и финальная анимация
Источник: доклад Асбьёрна Лоте на Blender Conference 2023 / YouTube

Съёмка с дрона

Представим ситуацию, что кто-то приобрёл дрон и решил записать с его помощью видео — причём провести не стандартную аэросъёмку, а устроить челлендж, пролетев сквозь салон автомобиля.

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

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

Демонстрация импортированной модели дрона и траектории передвижения модели вместе с камерой
Источник: доклад Асбьёрна Лоте на Blender Conference 2023 / YouTube

Примечание

Чтобы закрепить камеру за конкретным объектом, нажимаем Shift + A, в меню открываем вкладку Пустышка (Empty) и выбираем нужный формат (в презентации использована Сфера (Sphere). Устанавливаем Пустышку «родителем» объекта (Set Parent to Object) комбинацией Ctrl + P. Далее в настройках камеры переходим в Настройки ограничителей объекта (Object Contstraint Properties), открываем меню и находим пункт Потомок (Child of). Указываем Пустышку (Empty) как Цель (Target). После этого можно выставить камеру в нужной позиции относительно меша, и при перемещении Пустышки камера сдвинется вместе с объектом.

Более подробную информацию о том, как построить траекторию полёта и придать камере колебания и «роботизированные» движения, характерные для беспилотных устройств, можно найти в уроке Асбьёрна, посвящённом созданию реалистичной имитации съёмки с дрона.

Для придания ещё большего реализма 3D-сцене можно добавить искажение объектива для эффекта «бочки», увеличить экспозицию, чтобы усилить эффект пересвеченного окружения (солнечный свет слишком яркий для сенсора камеры дрона), а на теневых участках добавить шума при дальнейшей постобработке.

Пунктирной линией отмечено искажение объектива, большим кругом выделены переэкспонированные участки, а малым — один из тёмных участков, где предполагается наличие шумов. На данном кадре шумов, правда, нет, так как видео Асбьёрна представлено в низком качестве
Кадр: Blender / YouTube

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

Финальный результат
Источник: доклад Асбьёрна Лоте на Blender Conference 2023 / YouTube

Прямой эфир по случаю покупки машины

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

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

В качестве модели человека Асбьёрн загрузил ассет персонажа из сервиса Mixamo. Также он применил дополнительные настройки ограничителей объекта, привязав камеру не только к устройству, но и к IK-костям арматуры. Таким образом модель может поворачивать смартфон в руке, и эти движения будут влиять на итоговые кадры.

На видео можно заметить, что модель скользит. Это связано с тем, что Асбьёрн не анимировал нижнюю часть. В данном демонстрационном примере анимация ходьбы не играет роли, так как финальный рендер будет от первого лица
Источник: доклад Асбьёрна Лоте на Blender Conference 2023 / YouTube

Примечание

Чтобы привязать камеру к костям арматуры, необходимо, как и в случае с дроном, выбрать в Настройках ограничителей объекта (Object Contstraint Properties) пункт Потомок (Child of), в качестве Цели (Target) выбрать скелет арматуры и в дополнительном окне выбрать нужную кость для привязки. Более подробно об этой операции можно узнать из обучающего видео, где рассматривается аналогичный процесс, но с привязкой к виду от первого лица.

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

Источник: доклад Асбьёрна Лоте на Blender Conference 2023 / YouTube

Такие манипуляции и формируют тот самый фотореализм в анимации — или, по крайней мере, затевают своеобразные игры разума, в которые 3D-художники играют со своей аудиторией.

Итог

Чтобы достичь фотореализма в 3D-анимации, задавайте больше вопросов о виртуальном мире, который нужно сделать правдоподобным. Вместе с двумя ключевыми вопросами — «Кто ведёт съёмку?» и «С какой целью он это делает?» — важно задавать ещё несколько сопутствующих:

  • Какой опыт съёмки у оператора?
  • Какая модель камеры задействована в сцене и каковы её технические характеристики?
  • Что на самом деле происходит в видео — это событие из реальной жизни или постановка?
  • Почему это видео существует?

Примеры разных настроек камеры:

  • Alexa LF.
  • Съёмка с дрона.
  • iPhone (прямой эфир).
Кадр: Blender / YouTube

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

Научитесь работать с нейросетями — бесплатно!
Большая конференция по ИИ: пять экспертов и 10 нейросетей. Освойте нейросети — работа с ними становится обязательным навыком. Нажмите на баннер, чтобы узнать подробности.
Смотреть программу
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована