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

Как использовать фотограмметрию в работе с 3D-графикой

Доклад 3D-художника Глеба Александрова.

Иллюстрация: Racool_studio / freepik / Freepik / Ivtorov / Wikimedia Commons / Steve Johnson / Brecht Corbeel / Harry Cao / Unsplash / Unreal Engine / Дима Руденок для Skillbox Media

Фотограмметрия уже давно стала востребованным инструментом во многих сферах, и 3D-сканами объектов из реальной жизни вряд ли кого-то можно удивить. Тем не менее весь потенциал этой технологии использует далеко не каждый. На Blender Conference 2023 Глеб Александров подробно разобрал пять эффективных способов применения фотограмметрии в работе над 3D-окружением. Редакция «Геймдев‎» Skillbox Media‎ делится тезисами специалиста.

Полная версия доклада Глеба Александрова на Blender Conference 2023

Кратко о спикере и о фотограмметрии в целом

Глеб Александров

3D-художник и видеоблогер родом из Беларуси. На своём ютуб-канале он регулярно выпускает видеоуроки по Blender и помогает коллегам оттачивать мастерство. Вместе с 3D-моделлером и художником по окружению Эйди Берроузом основал творческую лабораторию Creative Shrimp с обучающими курсами.

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

Команда Creative Shrimp довольно часто использует фотограмметрию в своих творческих проектах, особенно во время создания реалистичных 3D-сцен. В своём докладе Глеб подробно разбирает типы данных, отснятых с помощью этой технологии, в частности:

Шоурил от команды Creative Shrimp, в котором представлены различные виды контента, отснятые с помощью фотограмметрии
Видео: Blender / YouTube

Рассмотрим каждый из этих сегментов подробнее.

Фотограмметрия монолитных локаций (традиционный метод)

Полное сканирование локации или помещения, в результате которого получается монолитная 3D-сцена, то есть один большой цельный объект. С одной стороны, такой подход может показаться бессмысленной затеей, тем не менее он вполне подойдёт для концепций с бесшовным окружением. Глеб привёл пример из своей практики, когда он со своей командой приехал на заброшенный склад, чтобы отснять несколько объектов для будущего набора ассетов. В том числе брошенную «Волгу‎», простоявшую на одном месте несколько десятков лет.

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

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

Кадр: Blender / YouTube

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

Такой подход к фотограмметрии нельзя назвать универсальным из-за специфики исходной полигональной сетки: огромное количество полигонов сильно отразится на производительности. К тому же файл с моделью монолитного объекта сам по себе очень большой, так как каждый его полигон и тексель уникальны. Впрочем, даже локации с низким разрешением отлично подойдут для экспериментов в виртуальном кинематографе. На примере ниже можно увидеть, насколько сильно визуализация в Blender с использованием освещения и симуляций изменила 3D-скан Tholos do Escoural с сервиса Sketchfab.

Кадры: Blender / YouTube

Преимущества: ультрареализм; уникальность.

Недостатки: отсутствует гибкость в применении; снижает производительность; тяжело найти интересные локации, стоящие 3D-сканирования.

Фотограмметрия монолитных локаций с применением новейших технологий

В последнее время появились более усовершенствованные методы фотограмметрии. К ним относятся технологии Neural Radiance Fields (или просто NeRF) и Gaussian Splatting.

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

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

Презентация 3D Gaussian Splatting

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

Кадры: Blender / YouTube

Глеб отмечает, что ещё год назад было невозможно реализовать подобные вещи, но технология развивается очень быстро, и её уже начали внедрять приложения Luma AI и Polycam. Их можно скачать даже на смартфон.

Несмотря на перспективность технологии, пока нет чётких представлений, как работать с контентом, полученным таким методом. Всё дело в том, что NeRF и 3D Gaussian Splatting не поддерживают стандартную полигональную сетку, а значит, не вписываются в стандартный пайплайн 3D-художников.

Преимущества: захват объектов с тонкой структурой (мех, ветки и так далее); корректная передача свойств материалов.

Недостатки: отсутствует гибкость в применении; ограниченные возможности редактирования.

Создание модульных ассетов

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

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

Кадр: Blender / YouTube

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

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

Кадры: Blender / YouTube

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

Преимущества: универсальность; стандарт индустрии.

Недостатки: необходимость планирования (подбор локации, затраты времени на съёмку); требуется постобработка (чистка меша, ретопология, запекание текстур).

Сканирование людей для получения моделей NPC

В этой разновидности ассетов объектом съёмки становится живой человек. Полученную модель можно использовать в качестве NPC-статиста, при этом сканировать человека в стандартной T-позе или A-позе совсем не обязательно.

Кадр: Blender / YouTube

Эту технику в своё время продвигал известный VFX-художник Ян Хьюберт. Человек принимает определённую позу, требуемую для итоговой сцены, и затем его сканируют как обычный объект. К полученной 3D-модели добавляют несколько костей арматуры для головы и туловища.

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

Кадры: Blender / YouTube

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

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

Преимущества: быстрое создание уникальных NPC для массовки.

Недостатки: отсутствует гибкость в применении; сам процесс сложнее, чем при сканировании неодушевлённых предметов.

PBR-материалы

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

После этого фотографии загружают в приложение для фотограмметрии, например в Meshroom или RealityCapture, где на основе данных генерируется плотная полигональная сетка. Полученную трёхмерную поверхность запекают на плоскость, создавая набор основных текстурных карт, в том числе карту высот (Height map). Далее контент загружается в редактор изображений, где общий рисунок текстуры делают бесшовным. В результате получается реалистичный PBR-материал.

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

Кадр: Blender / YouTube

Преимущества: реалистичная карта высот; легко отснять.

Недостатки: нельзя применять процедурные настройки.

Освещение

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

  • обработка контента в профильных программах, например Texture De-Lighter от Agisoft;
  • съёмка со вспышкой;
  • наложение фильтров с перекрёстной поляризацией на исходное изображение.

Но на практике бывают случаи, когда необходимо захватить высокий динамический диапазон яркости, он же — HDR. В частности, такие задачи возникают во время создания интерактивных сцен для Virtual Production. Чтобы получить HDRI-изображение, каждое фото делают в нескольких вариантах экспозиции. Затем полученные кадры объединяют в одно изображение с помощью специальных утилит. Более подробно об этом процессе можно узнать из статьи на портале Poly Haven.

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

Кадры: Blender / YouTube

Преимущества: наличие HDR-освещения.

Недостатки: трудоёмкий процесс; редко используется в стандартных пайплайнах.

Итог

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

Кто вы в мире геймдева? Узнайте на бесплатном курсе ➞
Вы на практике попробуете 3 профессии: геймдизайнера, 2D-художника и разработчика на Unity. Создадите свою первую игру в стиле Mario. Подробности — по клику.
Узнать больше
Понравилась статья?
Да

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

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