Фотограмметрия перенесла реальный город в гоночную игру

Разработчик снимал кадры для проекта с велосипеда и дрона

Сербский разработчик перенес свой город в гоночную игру. Он несколько раз проехался по городу на велосипеде с закрепленной камерой, а затем создал из кадров 3D-модель улиц с помощью фотограмметрии. Ролик с описанием проекта опубликован на YouTube-канале разработчика, внимание не него обратило издание 80LV.

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

Некоторые разработчики создают проекты, в которых игрок может перенести в виртуальный мир свой дом, город и другие места. Например, не так давно один разработчик создал шутер для шлемов смешанной реальности, действие которого происходит прямо в доме игрока. Сербский разработчик Иван Савич (Ivan Savic), живущий в городе Княжевац на юго-востоке Сербии, сумел перенести в гоночный симулятор Asseto Corsa улицы своего небольшого города, модель которого вряд ли создали бы игровые студии.

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

Чтобы снять исходные данные, он воспользовался велосипедом и дроном. Дрон снимал трасу в два пролета (в противоположных направлениях), а на велосипеде пришлось проехать ее четыре раза: Савич использовал одну камеру GoPro, которую во время каждой следующей поездки поворачивал на 90 градусов.

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

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

В итоге он сумел загрузить созданную карту в игру и поездить по знакомым улицам. Также он опубликовал на YouTube длинную и подробную инструкцию с описанием своих шагов и проблем, с которыми он столкнулся (а в конце ролика можно обнаружить подборку автомобилей «Нива», которые автор встретил во время заездов):

Мы не раз рассказывали о пересечении игр и реального мира. Например, о том, как Portal перенесли в дополненную реальность, а Pip-Boy из Fallout воплотили в виде реального устройства.

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.
Паук-некробот, жамевю и облизанные камни

Рассказываем о лауреатах Шнобелевской премии 2023 года