Как стать автором
Обновить
110.9
SimbirSoft
Лидер в разработке современных ИТ-решений на заказ

Быстро и качественно: как создать 3D-объект для VR с помощью фотограмметрии

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.1K

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

Привет, Хабр, меня зовут Аким, я дизайнер в IT-компании SimbirSoft. В этой статье я расскажу, как создавать 3D-модели с нужными для VR-тренажеров параметрами с помощью фотограмметрии, и составлю универсальный пайплайн для этого процесса.

Материал будет интересен тем, кто работает с 3D-моделями, а также заказчикам проектов для VR-тренажеров.

Что такое фотограмметрия

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

Идея фотограмметрии возникла в конце 1400-х годов, за четыре столетия до изобретения фотографии. Леонардо да Винчи разработал принципы перспективной и проективной геометрии, которые являются основополагающими столпами фотограмметрии.

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

фотограмметрия
фотограмметрия

В каких сферах используют фотограмметрию

  • Архитекторы используют фотограмметрию для планирования участка, контроля строительства и визуализации. 

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

  • Археологи могут виртуально картировать и исследовать неизведанные районы суши и океанов. 

  • Дизайнеры и инженеры могут провести обратную разработку существующего объекта или установить на него новые детали. 

  • Разработчики игр могут сэкономить время на проектирование реквизита и окружения, используя фотограмметрию в сочетании с полуавтоматическими рабочими процессами 3D-моделирования. 

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

  • Для картографов, геологов, геодезистов и топографов фотограмметрия радикально ускоряет процесс создания карт. 

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

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

  • В области культурного наследия предметы и памятники теперь могут быть сохранены навсегда и фактически реконструированы и отреставрированы.

Фотограмметрия в играх и VR

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

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

Главная проблема использования фотограмметрии в играх – оптимизация топологии. После начального этапа, когда мы только преобразовали фотографии в модель, она будет содержать очень много полигонов. Например, в компьютерной игре Call of Duty: Modern Warfare (2019) окружение почти полностью было выполнено при помощи пайплайна фотограмметрии. Если изначально модель машины содержала 50 млн полигонов, то после проведения ретопологии она представляла объект с 50 тысяч полигонов. То есть игровой ассет выглядел очень реалистично и детально, но по размеру был как обычный AAA 3D ассет.

Ассет из игры Call of Duty: Modern Warfare
Ассет из игры Call of Duty: Modern Warfare

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

Уровень 0 (Raw). Сцены для кино и реалистичные ролики.

Уровень 1 (High). AAA игры в 4K

Уровень 2 (Medium). Инди-игры и модели для заднего фона

Уровень 3 (Low). Мобильные игры

Ассет Quixel Megascans
Ассет Quixel Megascans

Уровень графики в VR и его влияние на восприятие окружения

Проблема VR-продуктов заключается в очень высоких требованиях к оптимизации, так как изображение рендерится на каждый экран внутри очков отдельно. Если обычные ПК-приложения и игры могут быть воспроизведены с частотой 30 кадров в секунду, то в VR при таком фреймрейте человека начнет тошнить, и у него закружится голова. Минимально допустимое количество кадров в секунду, при котором человек чувствует себя комфортно, — 70. Поэтому у большинства проектов VR примитивная графика, чаще всего они представлены в виде развлекательных игр. Однако если говорить о VR-тренажерах, то несмотря на графику, они помогают сократить количество часов обучения специалистов в разных сферах на 20-40%.

На восприятие и погружение влияет реалистичность и бесшовность картинки, хорошие показатели которых достигаются с помощью технологий Lightmapping, Anti-aliasing и Reflection probe. Если добавить окружение с моделями, сделанных фотограмметрией, можно добиться лучших результатов пользовательского опыта.

Пайплайн фотограмметрии для VR

В этой части статьи я расскажу, как составить пайплайн.

1. Фотографирование объекта. 

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

Для этого примера я взял специальный архив с фотографиями для практики из интернета:

2. Создание 3D-модели объекта.

Я использую бесплатную программу Meshroom. Загружаем в него фотографии:

Экспортируем результат в 3D-редактор. В этой статье я не буду подробно рассказывать о работе в MeshRoom, здесь говорим про целый пайплайн.

3. Оптимизация геометрии 3D-модели.

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

Результат MeshRoom
Результат MeshRoom

Изначально у модели более 500 тысяч точек. Далее мы проводим ретопологию. Ретопология — это процесс создания оптимизированной сетки на базе высокополигональной модели. Если в модели до ретопологии преобладают n-гоны и треугольники, то в оптимизированной модели преобладают полигоны. Если говорить про standalone-тренажеры, которые запускаются непосредственно на самих очках без подключения в ПК, то пороговое значение для плавной картинки составляет 500 тысяч точек. 

На этом этапе объекту присваивается второй план, благодаря чему пользователь получает доступ к объекту и может покрутить его в руках. Поскольку это не ключевой объект тренажера, на них обычно выделяют 1000-5000 точек. Устанавливаем значение в программе, корректируем направляющие и получаем результат. Изначальный объект содержал в себе более 500 тыс. точек, конечный — 2700 точек.

Результат Instant meshes
Результат Instant meshes

4. «Запекание» 3D-модели

Когда наша низкополигональная модель готова, нужно перенести на нее текстуру с высокополигональной модели, этот процесс называется «запекание». Таких текстур как минимум две — цвет и нормали (информация о векторах отражения света). Я делаю это в Blender.

Результат работы в Blender
Результат работы в Blender

Сложно отличить, где модель с детальной сеткой в 500 тыс. точек с текстурой 4096х4096, а где модель с 2,7 тыс. точек и текстурой 1024х1024.

Спойлер: слева — неоптимизированная модель, а справа — оптимизированная.

Подведем итог

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

Спасибо за внимание!

Больше авторских материалов для дизайнеров от моих коллег читайте в соцсетях SimbirSoft – ВКонтакте и Telegram.

Теги:
Хабы:
Всего голосов 5: ↑5 и ↓0+8
Комментарии8

Публикации

Информация

Сайт
www.simbirsoft.com
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия