Как делать карты в дополненной реальности

Urbica
4 min readSep 14, 2018

--

В начале августа мы выпустили в AppStore наше первое приложение с дополненной реальностью — AReal. «Нам казалось, что ничего в этом сложного нет: мы просто возьмём готовые SDK, изучим туториалы и за пару месяцев соберём приложение. Мы ошибались».

Исходный код AReal: https://github.com/urbica/areal

Карта в приложении AReal

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

Самые первые эксперименты с картами в Unity зимой 2018 года

Мы всегда воспринимали работу с картами как работу с пространством, и дополненная реальность для нас — это новый способ играть с окружающей средой. Приложение AReal может дополнить картой и достопримечательностями Петербурга совершенно любое место в мире, даже самое неожиданное — мы, например, экспериментировали в аэропорту Сингапура и на Уралмаше в Екатеринбурге. Это занятие — одновременно довольно забавное и полезное, потому что помогает расширить представления о пространстве и его возможностях.

AReal в Рязани

Зачем нужна локация в дополненной реальности?

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

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

AReal в Москве-сити и в парке Зарядье

Как и на чём делать AR-приложение?

Наше приложение сделано на платформе ARKit и движке Unity.

Оказалось, что Unity — это гораздо больнее, чем мы надеялись. У движка есть собственный графический интерфейс — Unity Editor, но выяснилось, что он даёт только базовую функциональность: например, просто показать 3D-модели. Сами по себе возможности Unity довольно широки, но чтобы реализовать логику интерфейса, взаимодействие объектов и даже анимации, приходится писать скрипты на C#. Так мы начали разбираться не только с новой областью, но и с новым языком программирования.

Скриншоты из приложения

В 3D-картах можно довольно эффектно показывать на карте высоты домов или рельефы. Нашей территорией был Санкт-Петербург, где рельеф плоский, поэтому мы поэкспериментировали только с объёмом домов.

Для реализации карты мы использовали Maps SDK для Unity, разработанный компанией Mapbox. Это — средство разработки, которое позволило нам подключить геоданные и карту с настроенным дизайном в среду Unity. Уже в самой 3D-среде мы сделали дома объёмными и их стилизовали.

Особенности дизайна карт в AR

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

Карта внутри AReal

★ Положение: карта должны располагаться хорошо и относительно поверхности, на которую проецируется, и относительно экрана телефона.

★ Освещение: на карту влияют и виртуальный свет, настроенный кодом, и свет из реального мира, например, лампы или солнце;

★ Цвета: дизайн, который будет контрастировать с реальностью, потому что карту можно спроецировать в любое место, и в любом месте она должна быть видна;

★ Прозрачность: мы сделали карту наполовину прозрачной, потому что так её фоном как будто становится сама среда;

★ Форма: карта стала круглой — просто потому, что карты почти всегда квадратные и мы решили поэкспериментировать.

Работать с картой в дополненной реальности оказалось сложно и интересно. Главное — научиться думать о ней как об объекте реального мира.

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

--

--