Дополненная реальность (англ. Augmented Reality, AR)) прошла долгий путь от концепции научной фантастики до чего-то более реалистичного. В последнее время стоимость AR-разработки резко снизилась, и сегодня она доступна даже на обычном смартфоне.
И Apple, и Google вкладывают внушительные средства в развитие дополненной реальности, о чём свидетельствует разработка ARkit (от Apple) и ARCore (от Google). Эти новаторские технологии позволили работать с AR обычным разработчикам, что было совершенно немыслимо несколько лет назад.
Согласно этой статье на HackerNoon, к 2025 году объём дополненной и виртуальной реальности в индустрии здравоохранения составит около 5 миллиардов долларов. Кроме того, мощный скачок в использовании AR-технологий произойдёт в индустрии туризма, поскольку 84 % пользователей во всем мире будут заинтересованы в использовании AR во время путешествий.
Что это значит для вас как разработчика?
Когда AR обещает превратить мир вокруг нас в научно-фантастический фильм, для нас, разработчиков, это означает рост новой технической сферы с новыми возможностями трудоустройства и солидными зарплатами. Итак, сегодня мы погрузимся в мир хайпа дополненной реальности и выясним, что там происходит на самом деле и как можно начать AR-разработку.
Мы сосредоточимся на ARCore, платформе от Google для создания приложений дополненной реальности без необходимости углубленных знаний OpenGL, рендеринга и т.д.
Что такое ARCore?
Согласно Википедии, ARCore — это инструмент для разработки программного обеспечения, разработанный Google, который позволяет создавать приложения дополненной реальности.
ARCore использует три ключевые технологии для «внедрения» виртуального контента в реальную среду:
- Отслеживание движения: оно позволяет смартфону понять своё положение в реальном мире.
- Понимание окружающей среды: оно позволяет смартфону определять размер и местоположение всех типов поверхностей (вертикальных, горизонтальных и угловых).
- Оценка освещённости: это позволяет смартфону оценить текущие условия освещения окружающей среды.
Как работает ARCore?
Вы когда-нибудь задумывались, почему большинству приложений дополненной реальности требуется, чтобы вы поперемещали камеру по комнате для обнаружения поверхностей в ней? Это необходимо для того, чтобы приложение построило свой собственный виртуальный мир на основе физического. ARCore в этом плане ничем не отличается.
Когда вы перемещаете свой телефон, ARCore запоминает окружение и строит собственный мир, в котором он может размещать виртуальные объекты. Он также использует технологию отслеживания движения для определения того, как некоторые объекты движутся, учитывая движения вашей камеры.
Вот почему, когда вы размещаете виртуальный объект в своей комнате, выходите и возвращаетесь, объект всё ещё там. ARCore построил свой виртуальный мир, в котором он помнит, где находится каждая деталь.
Когда вы размещаете в этом пространстве объект, ARCore вычисляет его положение по отношению к другим объектам, а когда вы возвращаетесь в то же место, объект отображается снова.
Кто может использовать ARCore?
Прямо сейчас ARCore SDK доступен для:
- Android
- Android NDK
- Unity для Android
- Unity для iOS
- iOS
- Unreal
Этот список довольно исчерпывающий и покрывает нужды большинства разработчиков. У Google есть краткое руководство по началу работы с каждым из них.
ARCore для Android
Google позаботился обо всех Android-разработчиках, и не важно, используете вы Android SDK, Android NDK или Unity для разработки под Android. ARCore поддерживает их все.
В этом кратком руководстве показано, как настроить среду разработки, включить ARCore и запустить простое приложение. ARCore использует Sceneform SDK, который представляет собой 3D-фреймворк, который позволяет Java-разработчикам легко создавать приложения ARCore без OpenGL.