Как использовать фотограмметрию в работе с 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 делится тезисами специалиста.
Кратко о спикере и о фотограмметрии в целом
Глеб Александров
3D-художник и видеоблогер родом из Беларуси. На своём ютуб-канале он регулярно выпускает видеоуроки по Blender и помогает коллегам оттачивать мастерство. Вместе с 3D-моделлером и художником по окружению Эйди Берроузом основал творческую лабораторию Creative Shrimp с обучающими курсами.
Фотограмметрия — один из видов 3D-сканирования, который в настоящее время можно выполнить даже с помощью смартфона. Процесс состоит из нескольких этапов. Сначала объект фотографируют со всех сторон, следя за тем, чтобы каждый снимок был чётким. Затем полученные фотографии загружают в приложение, которое реконструирует облако точек на основе полученных данных и формирует плотную полигональную сетку с привязанной к ней текстурой. Более подробную информацию об этом процессе можно узнать из нашего материала.
Команда Creative Shrimp довольно часто использует фотограмметрию в своих творческих проектах, особенно во время создания реалистичных 3D-сцен. В своём докладе Глеб подробно разбирает типы данных, отснятых с помощью этой технологии, в частности:
- монолитные сцены, отсканированные традиционным методом или с помощью новейших технологий;
- наборы ассетов;
- NPC;
- PBR-материалы;
- освещение.
Рассмотрим каждый из этих сегментов подробнее.
Фотограмметрия монолитных локаций (традиционный метод)
Полное сканирование локации или помещения, в результате которого получается монолитная 3D-сцена, то есть один большой цельный объект. С одной стороны, такой подход может показаться бессмысленной затеей, тем не менее он вполне подойдёт для концепций с бесшовным окружением. Глеб привёл пример из своей практики, когда он со своей командой приехал на заброшенный склад, чтобы отснять несколько объектов для будущего набора ассетов. В том числе брошенную «Волгу», простоявшую на одном месте несколько десятков лет.
В какой-то момент оператор предложил запустить дрон и отснять всю локацию целиком в изометрической перспективе. Предложение одобрили, и на основе серии снимков с воздуха команда воссоздала всю сцену в 3D целиком с помощью софта RealityCapture. На коллаже ниже можно заметить, что финальный результат с использованием источников освещения в Blender визуально напоминает дизайн игровой локации.
Разумеется, такой подход не применяют в разработке игр из соображений оптимизации. Тем не менее монолитные локации выглядят довольно эффектно, особенно если добавить атмосферное освещение и VFX, а может быть, даже и ассеты персонажей. Как вариант, подобные сцены можно использовать в качестве основы для CG-анимаций.
3D-сканирование масштабных сцен также помогает воссоздать уникальные исторические места за один сеанс посещения. На кадрах ниже представлена 3D-реконструкция руин Бернардинского монастыря, расположенного в Бресте.
Такой подход к фотограмметрии нельзя назвать универсальным из-за специфики исходной полигональной сетки: огромное количество полигонов сильно отразится на производительности. К тому же файл с моделью монолитного объекта сам по себе очень большой, так как каждый его полигон и тексель уникальны. Впрочем, даже локации с низким разрешением отлично подойдут для экспериментов в виртуальном кинематографе. На примере ниже можно увидеть, насколько сильно визуализация в Blender с использованием освещения и симуляций изменила 3D-скан Tholos do Escoural с сервиса Sketchfab.
Преимущества: ультрареализм; уникальность.
Недостатки: отсутствует гибкость в применении; снижает производительность; тяжело найти интересные локации, стоящие 3D-сканирования.
Фотограмметрия монолитных локаций с применением новейших технологий
В последнее время появились более усовершенствованные методы фотограмметрии. К ним относятся технологии Neural Radiance Fields (или просто NeRF) и Gaussian Splatting.
Материалы объектов, полученных в результате такого сканирования, поддерживают динамические свойства, в том числе отражение и преломление света на поверхности. При этом, в отличие от традиционных методов фотограмметрии, новые технологии позволяют захватить тончайшие детали, например волосы или листву.
В настоящее время эти технологии доступны всем пользователям. Например, исследовательский институт INRIA разработал приложение 3D Gaussian Splatting с открытым исходным кодом, которое может протестировать любой желающий, следуя инструкциям на GitHub.
Ниже представлена визуализация, созданная Глебом и его командой с помощью этой программы. Для сцены с лодкой потребовалось всего 30 снимков. Вторую сцену создали буквально в последние дни перед поездкой на конференцию.
Глеб отмечает, что ещё год назад было невозможно реализовать подобные вещи, но технология развивается очень быстро, и её уже начали внедрять приложения Luma AI и Polycam. Их можно скачать даже на смартфон.
Несмотря на перспективность технологии, пока нет чётких представлений, как работать с контентом, полученным таким методом. Всё дело в том, что NeRF и 3D Gaussian Splatting не поддерживают стандартную полигональную сетку, а значит, не вписываются в стандартный пайплайн 3D-художников.
Преимущества: захват объектов с тонкой структурой (мех, ветки и так далее); корректная передача свойств материалов.
Недостатки: отсутствует гибкость в применении; ограниченные возможности редактирования.
Создание модульных ассетов
Самый универсальный рабочий процесс в контексте применения фотограмметрии. Ассеты, полученные в результате 3D-сканирования, часто встречаются в видеоиграх. К тому же на таком контенте можно заработать: готовые наборы пропсов есть на любом маркетплейсе.
Чтобы создать такой набор, для начала необходимо найти подходящую локацию, где есть много объектов по нужной тематике, и выделить время на сеанс сканирования самых примечательных объектов по отдельности. Полученные 3D-исходники обрабатывают в приложениях для 3D-моделирования (об этом чуть ниже), и по итогу набирается полноценная библиотека пропсов, готовая для последующей интеграции в любой проект.
Разумеется, при таком подходе каждый отсканированный объект должен пройти несколько стадий оптимизации: уменьшение количества полигонов, перенос деталей с высокополигонального меша на низкополигональный и запекание текстур. Минус в том, что в случае с крупногабаритными конструкциями это бывает затруднительно. Структура исходного меша порой хаотична, и извлечь из монолитного куска отдельные элементы не так просто.
Впрочем, если объект съёмки сам по себе небольшой, у художника есть возможность взять его домой или в студию, чтобы отсканировать в более комфортных условиях. В этом случае пригодится дополнительный реквизит, например вращающаяся стойка, как в видео ниже.
И хотя создание модульных ассетов требует кропотливой работы, эти старания определённо окупятся. Ведь после этого останется только расставить готовые объекты в сцене и сформировать новое окружение. А оно, в свою очередь, может получиться даже более органичным, чем оригинальная локация, на которой проходили сеансы сканирования.
Преимущества: универсальность; стандарт индустрии.
Недостатки: необходимость планирования (подбор локации, затраты времени на съёмку); требуется постобработка (чистка меша, ретопология, запекание текстур).
Сканирование людей для получения моделей NPC
В этой разновидности ассетов объектом съёмки становится живой человек. Полученную модель можно использовать в качестве NPC-статиста, при этом сканировать человека в стандартной T-позе или A-позе совсем не обязательно.
Эту технику в своё время продвигал известный VFX-художник Ян Хьюберт. Человек принимает определённую позу, требуемую для итоговой сцены, и затем его сканируют как обычный объект. К полученной 3D-модели добавляют несколько костей арматуры для головы и туловища.
Стоит отметить, что столь своеобразный риг нужен лишь для минимальных движений (покачивания головы, поворотов корпуса), а не для полноценной анимации. В итоге получается готовый персонаж, которого можно разместить в окружении. С точки зрения массовки такие NPC выглядят довольно реалистично.
При желании к персонажам, созданным таким методом, можно применить запечённые анимации, например из библиотеки Mixamo, или записать собственные с помощью Rokoko Vision. Однако описанный метод — бюджетный вариант фотограмметрии, и качество моделей будет хуже, если сравнивать с результатами профессиональных сеансов с дорогостоящим оборудованием. Поэтому чем меньше двигаются получившиеся 3D-персонажи, тем лучше.
Ещё стоит помнить, что человек — живое существо, и во время сеанса фотограмметрии люди не только моргают и дышат, но и склонны ёрзать, если долго стоят неподвижно. В результате на итоговом 3D-скане могут образоваться видимые дефекты, и съёмку придётся начать заново.
Преимущества: быстрое создание уникальных NPC для массовки.
Недостатки: отсутствует гибкость в применении; сам процесс сложнее, чем при сканировании неодушевлённых предметов.
PBR-материалы
PBR-материалы сканируют так же, как и наборы ассетов. Сначала специалист выбирает поверхность для съёмки, которую хочет преобразовать в материал, а затем фотографирует участок за участком, следя за тем, чтобы изображения на снимках частично перекрывали друг друга, а не стыковались шов в шов.
После этого фотографии загружают в приложение для фотограмметрии, например в Meshroom или RealityCapture, где на основе данных генерируется плотная полигональная сетка. Полученную трёхмерную поверхность запекают на плоскость, создавая набор основных текстурных карт, в том числе карту высот (Height map). Далее контент загружается в редактор изображений, где общий рисунок текстуры делают бесшовным. В результате получается реалистичный PBR-материал.
К слову, карты высот, запечённые с отсканированной поверхности, можно при желании комбинировать и с другими PBR-материалами. Правда, этот подход не столь универсален, как манипуляции с нодами — к примеру, в Substance 3D Designer, — так как разрешение исходной текстуры ограничено, а сам рисунок поверхности уже зафиксирован. Тем не менее это ещё один способ придать уникальности контенту.
Преимущества: реалистичная карта высот; легко отснять.
Недостатки: нельзя применять процедурные настройки.
Освещение
Данные об освещении объекта после сеанса сканирования можно как убрать, так и сохранить. Первый вариант характерен для стандартного пайплайна, когда художник планирует сам выстраивать композицию освещения в будущем проекте. В таких случаях объект стараются фотографировать в облачную погоду или при непрямом освещении. Если же отбрасывания теней и отражений не избежать, можно прибегнуть к следующим способам:
- обработка контента в профильных программах, например Texture De-Lighter от Agisoft;
- съёмка со вспышкой;
- наложение фильтров с перекрёстной поляризацией на исходное изображение.
Но на практике бывают случаи, когда необходимо захватить высокий динамический диапазон яркости, он же — HDR. В частности, такие задачи возникают во время создания интерактивных сцен для Virtual Production. Чтобы получить HDRI-изображение, каждое фото делают в нескольких вариантах экспозиции. Затем полученные кадры объединяют в одно изображение с помощью специальных утилит. Более подробно об этом процессе можно узнать из статьи на портале Poly Haven.
Таким образом можно воссоздать виртуальную среду для кинематографичных сцен с запечённым светом, который органично смотрится при любых манипуляциях с экспозицией.
Преимущества: наличие HDR-освещения.
Недостатки: трудоёмкий процесс; редко используется в стандартных пайплайнах.
Итог
Всем этим подходам можно найти применение в личных, учебных и рабочих проектах. Конечно, результат, созданный с помощью фотограмметрии, не всегда универсален, но технология сама по себе востребована во многих сферах. 3D-художники, левел-дизайнеры, инженеры, учёные — представители многих профессий найдут в ней что-то полезное для себя. Ведь фотограмметрия помогает оцифровать наш мир и перевести его в 3D-графику, чтобы сохранить самое прекрасное.