Русский
Русский
English
Статистика
Реклама

Развитие ARKit в этом году и новая возможность в ARKit 4 Location Anchors


В последние годы я очень активно работаю с сфере разработки нативных игр под платформу Apple и интересуюсь возможной интеграцией игровых процессов в AR. Поэтому стараюсь следить за всеми обновлениями которые ежегодно анонсируются на WWDC. Хотя за последние годы не было никаких обновлений для SpriteKit, SceneKit и GameplayKit, но Apple продолжает активно обновлять и продвигать ARKit и RealityKit которые можно интегрировать с этими игровыми инструментами.

Хотя Apple мало уделила внимания дополненной реальности во время презентации на WWDC, но выпущенная на этой неделе новая версия комплекта программного обеспечения для разработчиков (SDK), действительно может оказаться весьма полезной и интересной для всех, кто занимается созданием AR-приложений. В ARKit 4 представлены новые возможности для разработчиков, которые доступны на всех iOS/iPadOS устройствах с процессором A12 Bionic и выше.

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

Инструмент также добавляет новые важные возможности обнаружения глубины, доступные на устройствах, оснащенных Apple LiDAR Scanner (в настоящее время доступно только в последних iPad Pro). Но, пожалуй, самое важное, что имеется в ARKit 4 это привязка к местоположению, которая позволяет разработчикам размещать виртуальный объект в определенном месте в реальном мире.

LiDAR: усовершенствованная система дистанционного отслеживания


Apple представила API Scene Geometry в ARKit 3.5 после выпуска линейки iPad Pro со сканерами LiDAR. Я ожидаю, что Apple добавит сканеры LiDAR в свои iPhone следующего поколении, которые планирует выпустить к концу этого года, так что именно эта функция, скорее всего, будет самой обсуждаемой во время следующего запуска.

Новый API Scene Geometry позволяет собирать информацию с помощью LiDAR-сканера и на базе полученных данных создавать топологическую карту окружающего мира. Эта информация может использоваться для идентификации определенных физических объектов, размещения их на сцене и создания игровой симуляции взаимодействия между объектами реального и виртуального мира.

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

В iOS 14 Apple расширяет возможности iOS устройств при поддержке сканера LiDAR, чтобы лучше определять расстояние между ними и объектами в виртуальной среде. Машинное обучение позволяет объединять цветное RGB-изображение, полученное с широкоугольной камеры устройства, с показателями глубины со сканера LiDAR для создания плотной глубокой картины. Эти данные глубины обновляются с частотой 60hz, что позволяет iOS не просто отобразить объекты на сцене, а обеспечить их размещение в реальном времени в виртуальной среде.

LiDAR также позволяет усовершенствовать функцию, называемую Ray Casting, которая представляет собой метод рендеринга, использующий вычислительную геометрию для создания трехмерного пространства на двухмерной плоскости. К тому же, Apple предоставила возможности отслеживания объектов еще в предыдущей версии ARKit, но их применение было доступно только для устройств с фронтальной камерой True-Depth. ARKit 4 существенно расширяет эти возможности, сделав доступной функцию отслеживания лица для всех устройств, оснащенных процессором A12 Bionic или более поздней версии, включая недавно выпущенный iPhone SE нового поколения. Отслеживание лиц позволяет разработчикам создавать приложения, которые помещают изображение человека поверх виртуального контента, и наблюдать за его выражением в режиме реального времени.


Location Anchors


Безусловно, возможности, предоставляемые сканером LiDAR весьма впечатляюще, на фоне всех новых функций, анонсированных Apple. Новая технология Location Anchors в ARKit 4 теперь выводит AR-контент более высокого качества на улицу, позволяя разработчикам задавать долготу и широту для размещения виртуальных объектов. Затем ARKit 4 использует эти координаты и данные из Apple Maps для размещения AR объекта в определенном месте, на определенной высоте в реальном мире.

Процесс управления AR-интерфейсом следующего поколения получил название Location Anchors. Он позволяет точно зафиксировать ваше устройство по отношению к окружающей среде и, по утверждениям Apple, это можно выполнять значительно точнее, чем с помощью GPS. Весь этот процесс управляется на основе передовых методов машинного обучения локально на вашем устройстве.

В результате, когда разработчик помещает виртуальный объект в реальный мир, например, виртуальную скульптуру на оживленной площади, данный объект будет сохраняться и отображаться в этом месте таким образом, чтобы каждый, кто просматривает его с помощью AR-устройства Apple, мог его увидеть в данной локации. Location Anchors вначале появится в крупных городах, таких как Лос-Анджелес, Сан-Франциско, Чикаго, Майами и Нью-Йорк, а затем, уже в конце этого лета, станет доступно еще несколько городов.
Пример работы Location Anchor из WWDC сессии


Важность Location Anchors могут оценить многие разработчики и это демонстрирует далеко идущие планы Apple в развитии устройств и технологий, связанных с AR. Сегодня многие стартапы, ориентированные на технологии дополненной реальности, пытаются занять инновационный сегмент рынка, чтобы развивать ее функциональные возможности, а Apple спокойно запустила множество новых функций в ARKit 4 на этой неделе, причем, без всякой помпезности.

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

Как работает Location Anchors


С ARKit 4 теперь без проблем можно привязать AR-контент к определенному месту в реальном мире, просто задав координаты. Приложения на основе AR, которые ранее базировались на распознавании изображений или сканировании кода для запуска действий в определенном месте, теперь имеют возможность обновляться в реальном времени и использовать преимущества привязки к местоположению.

В рамках преобразования базы данных Apple Maps, компания длительное время собирала данные с камер и 3D LiDAR на городских улицах в разных уголках мира. Для привязки к местоположению ARKit загружает виртуальную карту, окружающую ваше устройство из облака и сопоставляет ее с данными камеры. Используя GPS, ARKit может быстро и точно определить ваше местоположение в реальном мире. Вся обработка информации происходит при помощи технологии машинного обучения прямо на вашем устройстве.

Доступность


Как я уже отмечал, функция Location Anchors или, другими словами Geo-Tracking, поддерживается на всех устройствах с GPS и чипом A12 и более новых моделях. Поскольку функция требует, чтобы эта область уже была ранее нанесена на карту Apple, она доступна только в определенных городах США. По состоянию на июнь 2020 года, в зоне ее поддержки оказалось только пять городов, но я очень надеюсь, что далее Apple будет расширять зону поддержки.

Geo-Tracking базируется на новой ARConfiguration, получившей название ARGeoTrackingConfiguration, которая позволяет легко проверять наличие совместимых устройств и их доступность.

Вначале следует проверить поддерживает ли ваше устройство данную фичу:
guard ARGeoTrackingConfiguration.isSupported else { return }

Теперь вы можете проверить, находится ли устройство в поддерживаемом городе. Если это так, запустите конфигурацию геотрекинга в ARView. Если вы используете RealityKit, вы не можете применить автоматическую настройку, поэтому придется запустить ее вручную.
ARGeoTrackingConfiguration.checkAvailability { available, error in    guard available else { return }    arView.session.run(ARGeoTrackingConfiguration())}

Важное примечание. Функция checkAvailability требует наличия сетевого подключения для загрузки AR ресурсов. Available будет false, если устройство не подключено к интернету.

Построение Location Anchors


Как же происходит функционирование Location Anchors? Ведь известно, что ARKit пользуется собственной системой координат для определения относительного положения устройства, в то время как в реальном мире местоположение описывается с широтой и долготой. В геотрекинге эта проблема решена созданием единой системы координат. Оси ARKit автоматически совпадают с компасом, где ось X указывает направление на восток, а ось Z на юг.

Все, что вам нужно знать для создания ARGeoAnchor это отдельные GPS-координаты. Вот как можно создать привязку, например, для определения местоположения моста Golden Gate Bridge. Для большей надежности используем систему координат с точностью до десятичных знаков.
let coordinate = CLLocationCoordinate2D(latitude: 37.8185, longitude: -122.4738)let geoAnchor = ARGeoAnchor(name: "Golden Gate Bridge", coordinate: coordinate)

При желании можно указать высоту в метрах, которая, по умолчанию, принята заданием параметров над уровнем моря.
let geoAnchor = ARGeoAnchor(name: "Golden Gate Bridge", coordinate: coordinate, altitude: 67)

Теперь можно добавить анкор к главной сцене. В RealityKit это работает на основе инструмента AnchorEntity из ARGeoAnchor.
arView.session.add(anchor: geoAnchor)let geoAnchorEntity = AnchorEntity(anchor: geoAnchor)arView.scene.addAnchor(geoAnchorEntity)

Теперь, создавая приложение, можно добавлять любые другие объекты в привязке к выбранному местоположению, вращая и располагая их, как вам нравится, в реальном пространстве.

Преобразования между пространственными координатами


Если вы хотите получить координаты GPS для определенной точки в сцене вашего приложения, ARKit позволит легко сделать это с помощью ARGeoAnchor и системы координат XYZ ARKit. Достаточно одного касания на экране и привязка к местоположению готова!
let point = SIMD3<Float>([0, 1, -2])arView.session.getGeoLocation(forPoint: point) { coordinate, altitude, error inlet geoAnchor = ARGeoAnchor(coordinate: coordinate, altitude: altitude)}

Вот так все просто и доступно.

Прогресс AR-технологи неизбежен


Многие, кто пристально следит за развитием AR-технологий, периодически сетуют на медленный темп продвижения данного сектора технологий. Безусловно, многие из нас не отказались бы иметь, например, AR-очки от Apple уже сегодня и сейчас. В действительности, это достаточно сложная технология, и здесь более важна не скорость, а правильное ее внедрение. В дополнение к реальным проблемам по созданию таких устройств, которые связаны с оптикой, временем автономной работы, беспроводным подключением и многими другими аспектами, требуется еще и хороший AR контент с глубоким пониманием и отражением нашего реального, постоянно меняющегося мира. Лишь немногие компании имеют ресурсы, чтобы осилить данную проблему самостоятельно, среди них, кроме Apple, в числе более успешных, можно выделить Microsoft и Niantic, недавно приобретшей стартап 6D.AI.

Еще одну проблему по-прежнему создает недостаток аппаратных и программных платформ, на которых сможет работать AR-контент. С помощью ARKit 4 и iOS 14 Apple может существенно укрепить свои позиции в качестве крупнейшей в мире AR-платформы на рынке современных технологий, предоставив разработчикам новые инструменты для создания AR-приложений, которые давно ждут пользователи.

WWDC сессия посвященная новинкам в ARKit 4:
developer.apple.com/videos/play/wwdc2020/10611
Пример использования Location Anchors c исходным кодом:
developer.apple.com/documentation/arkit/tracking_geographic_locations_in_ar
Источник: habr.com
К списку статей
Опубликовано: 28.06.2020 16:16:57
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Ar и vr

Разработка под ar и vr

Разработка под ios

Arkit

Ar

Wwdc 2020

Realitykit

Ios 14

Категории

Последние комментарии

© 2006-2020, personeltest.ru