Обновлено: 10 августа 2019 .
TL; DR
Google ARCore
позволяет создавать приложения для Android и iOS сApple ARKit
вы можете создавать приложения для iOS и iPadOS, а старый PTC Vuforia
был разработан для создания приложений для Android и iOS.Важной особенностью Vuforia является то, что она использует технологию ARCore
/ ARKit
, если оборудование, на котором она работает, поддерживает ее, в противном случае она использует свою собственную технологию AR и механизм, известный как программное решение без зависимого оборудования.
Однако, при разработке для Android-смартфонов Android, вы можете столкнуться с неприятной проблемой: устройства разных производителей нуждаются в калибровке датчиков, чтобы наблюдать тот же самый опыт AR.К счастью, гаджеты Apple не имеют такого недостатка, поскольку все используемые там датчики были откалиброваны в одинаковых условиях.
Но чтобы ответить на этот вопрос, давайте сначала обо всем по порядку.
ARCore 1.11
ARCore основана на трех основных фундаментальных концепциях : Motion Tracking
, Environmental Understanding
и Light Estimation
.Таким образом, ARCore позволяет поддерживаемому мобильному устройству отслеживать его положение и ориентацию относительно мира с 6 степенями свободы (6DOF), используя специальную технику, называемую Параллельная одометрия и картирование .COM также помогает нам определять размер и расположение горизонтальных, вертикальных и наклонных гусеничных поверхностей (таких как земля, столы, скамейки, стены, склоны и т. Д.).Отслеживание движения работает надежно благодаря оптическим данным, поступающим с камеры при 60 кадрах в секунду , в сочетании с инерционными данными, поступающими с гироскопа и акселерометра при 1000 кадрах в секунду .Естественно, ARKit и Vuforia работают примерно одинаково.
Когда вы перемещаете свой телефон в реальной среде, ARCore отслеживает окружающее пространство, чтобы понять, где находится смартфон, относительно мировых координат.На этапе отслеживания ARCore " сеет " так называемые feature points
, которые образуют облако разреженных точек и это облако живет, пока сеанс отслеживанияактивный.Эти характерные точки видны через заднюю RGB-камеру, и ARCore использует их для вычисления изменения местоположения телефона.Затем визуальную информацию необходимо объединить с измерениями акселерометра и гироскопа ( Inertial Measurement Unit ), чтобы оценить положение и ориентацию ArCamera во времени.ARCore ищет группы характерных точек, которые кажутся лежащими на горизонтальных, вертикальных или угловых поверхностях, и делает эти поверхности доступными для вашего приложения в качестве плоскостей (мы называем эту технику как обнаружение плоскостей ).Итак, теперь вы можете использовать эти плоскости для размещения 3D-объектов в вашей сцене.После этого виртуальная геометрия с назначенными шейдерами будет отображаться компаньоном ARCore - Sceneform (поддерживающий активы OBJ
, FBX
и glTF
), который использует физически основанный рендеринг в реальном времени (он же PBR) двигатель - Нить .
Понимание окружающей среды ARCore позволяет размещать 3D-объекты и 2D-аннотации таким образом, чтобы они интегрировались в реальный мир.Например, вы можете поместить виртуальную чашку кофе в угол вашего реального стола, используя ArAnchor .
ARCore также может определять параметры освещения реальной среды и предоставлять вамсредняя интенсивность и цветовая коррекция данного изображения камеры.Эти данные позволяют освещать вашу виртуальную сцену в тех же условиях, что и окружающая вас среда, значительно увеличивая ощущение реалистичности.
Предыдущее обновлениеВ ARCore были добавлены такие важные API, как Оценка освещения с Environmental HDR mode
, Augmented Faces
, Augmented Images
, Sceneform Animations
, Cloud Anchors
и Multiplayer support
.Основным преимуществом ARCore в Android Studio над ARKit в Xcode является Android Emulator , позволяющий запускать и отлаживать приложения AR с помощью виртуального устройства.
ARCore старше ARKit.Вы помните Project Tango, выпущенный в 2014 году?Грубо говоря, ARCore - это просто переписанный Tango SDK без глубокой камеры.Но мудрое приобретение FlyBy и MetaIO помогло Apple наверстать упущенное.Я полагаю, это очень хорошо для AR-индустрии.
Последняя версия ARCore требует Android 7.0 Nougat или более поздней версии, поддерживает ускорение OpenGL ES 3.1 и интегрируется с Unity, Unreal и веб-приложениями.На данный момент наиболее мощными и энергоэффективными чипсетами для AR на платформе Android являются Kirin 980 (7 нм), Snapdragon 855 Plus (7 нм) и Exynos 9825 (7нм).
Цена ARCore: БЕСПЛАТНО .
Пять основных PRO ARCore - здесь нет CON, потому что они субъективны ::
• Быстрое обнаружение самолета
• Относительно высокая точность на большом расстоянии
• Обнаружение наклонных поверхностей
• Высококачественное API освещения
• Впечатляющее количество поддерживаемых устройств
Вот фрагмент кода ARCore, написанный на Kotlin:
private fun addNodeToScene(fragment: ArFragment, anchor: Anchor, renderable: Renderable) {
val anchorNode = AnchorNode(anchor)
anchorNode.setParent(fragment.arSceneView.scene)
val modelNode = TransformableNode(fragment.transformationSystem)
modelNode.setParent(anchorNode)
modelNode.setRenderable(renderable)
modelNode.localPosition = Vector3(0.0f, 0.0f, -3.0f)
fragment.arSceneView.scene.addChild(anchorNode)
modelNode.select()
}
ARKit 3.0
Как и его конкурент, ARKit также использует специальную технику, называемую Визуальная инерционная одометрия , чтобы очень точно отслеживать мир вокруг вашего телефона.VIO в достаточной степени похож на COM, найденный в ARCore.В ARKit также есть три аналогичных фундаментальных понятия: World Tracking
, Scene Understanding
(который включает в себя три этапа: Обнаружение самолета , Проверка удара и Оценка света ) и Rendering
с помощью помощников ARKit - SceneKit framework, на самом деле это движок трехмерной игры, RealityKit фреймворк, специально созданный для AR, и SpriteKit фреймворк с 2D-движком.
VIO объединяет данные датчика RGB при 60 к / с с данными Core-Motion (IMU) при 1000 кадр / с .В дополнение к этому SceneKit, например, может отображать всю трехмерную геометрию со скоростью 30/60/120 кадров в секунду.Поэтому в таких обстоятельствах, я думаю, следует отметить, что из-за очень высокого энергетического воздействия (из-за огромной нагрузки на процессор и графический процессор) батарея вашего iPhone будет разряжаться довольно быстро.
ARKit имеетГорстка полезных методов для надежного отслеживания и точных измерений.В его арсенале вы найдете простую в использовании функциональность для сохранения и извлечения ARWorldMaps .Карта мира является незаменимым «порталом» для Постоянный и Многопользовательский AR опыт , который позволяет вам вернуться в ту же среду, заполненнуютот же выбранный 3D-контент незадолго до того, как ваше приложение стало неактивным.Поддержка одновременного захвата камеры front
и back
и поддержка collaborative sessions
, которая позволяет нам делиться картами мира, также великолепны.
Есть хорошие новости для геймеров: до 6 человек могут одновременноиграть в ту же игру AR.Для 3D-геометрии вы можете использовать совершенно новый формат файла USDZ , разработанный и поддерживаемый Pixar, который является хорошим выбором для сложных виртуальных моделей с большим количеством PBR-шейдеров.Также вы можете использовать следующие 3D форматы для ARKit.
ARKit не только можетпоможет вам отслеживать положение и ориентацию вашего устройства относительно мира в 6DOF, а также поможет вам выполнить технику Окклюзия людей (на основе каналов альфа и глубина сегментации), Motion Capture tracking
, 2D tracking
, vertical and horizontal Planes detection
, Image detection
, 3D Object detection
и 3D Object scanning
.С помощью инструмента «Окклюзия людей» ваш контент AR реалистично передается и оказывается перед людьми в реальном мире, что делает опыт AR еще более захватывающим.Кроме того, Realistic reflections
, которые используют алгоритмы машинного обучения, и Face-based AR experience
, которые позволяют отслеживать до 3 лиц одновременно, доступны для вас.
Используя iBeacons вместе с ARKit, вы помогаете приложению, поддерживающему iBeacon, узнать, в какой комнате он находится, и показать правильный 3D / 2D контент, выбранный для этой комнаты.Работая с ARKit, вы должны интенсивно использовать класс ARAnchor и все его подклассы, так же, как вы использовали его в ARCore.
Для создания приложений AR, созданных на основе последней версии ARKit, вам потребуется Xcode 11 и iPhone под управлением iOS 12. Печальная новость - все лучшие функции ARKit 3.0 ограничены устройствами, работающими на процессорах Apple A12 +.Также ARKit 3.0 является достойным кандидатом на вступление в брак с Metal Framework для ускорения GPU.И не забывайте: ARKit тесно интегрируется с Unity и Unreal.На данный момент самый мощный и энергоэффективный набор микросхем для AR на платформах iOS и iPadOS - A12 Bionic (7 нм).
Цена ARKit: БЕСПЛАТНО .
Пять основных PRO ARKit - здесь нет CON, потому что они субъективны :
• Стабильное отслеживание мира 6DOF
• Высококачественная точность на коротком расстоянии
• Навигация iBeacon и карты мира на устройстве
• Четыре различных технологии рендеринга
• Подробная документация для разработчиков
Вот фрагмент кода ARKit, написанный на Swift:
func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
guard let planeAnchor = anchor as? ARPlaneAnchor else { return }
let planeNode = tableTop(planeAnchor)
node.addChildNode(planeNode)
}
func tableTop(_ anchor: ARPlaneAnchor) -> SCNNode {
let x = CGFloat(anchor.extent.x)
let z = CGFloat(anchor.extent.z)
let tableNode = SCNNode()
tableNode.geometry = SCNPlane(width: x, height: z)
tableNode.position = SCNVector3(anchor.center.x, 0, anchor.center.z)
return tableNode
}
Vuforia 8.3
PTC Vuforia Engine имеет примерно те же основные возможности, которые вы можете найти впоследние версии ARKit и ARCore, а также его собственные новые функции, такие как модели Targets with Deep Learning, VISLAM для AR без использования маркеров и поддержка внешних камер для iOS, а также новые экспериментальные API для ARCore и ARKit.Главное преимущество Vuforia перед ARKit и ARCore в том, что у него более широкий список поддерживаемых устройств .
Vuforia имеет автономную версию и версию, встроенную непосредственно в Unity.Он имеет следующие функциональные возможности: Расширенные цели модели 360 (распознавание по искусственному интеллекту), Целевые модели с глубоким обучением (позволяют мгновенно распознавать объекты по форме с использованием существующих 3D-моделей и глубокихалгоритмы обучения), целевые изображения (самый простой способ размещения содержимого AR на плоских объектах), многоцелевые (для объектов с плоскими поверхностями и несколькими сторонами), цилиндрические цели (для размещения содержимого AR на объектах цилиндрической формы), Ground Plane (как часть Smart Terrain
, эта функция позволяет размещать цифровой контент на полах и поверхностях столешниц), VuMarks (позволяет идентифицировать и добавлять содержимое в серию объектов), Объектные цели (для сканирования объекта) и Fusion .
Vuforia Fusion - это функция, предназначенная для решения проблемы фрагментации в технологиях AR, таких как камеры, датчики, наборы микросхем и программные среды, такие как ARKit.С Vuforia Fusion ваше приложение автоматически обеспечит наилучшие результаты без дополнительной работы с вашей стороны.
Внешняя камераФункция является частью Vuforia Engine Driver Framework.Внешняя камера дает новый взгляд на то, что возможно с дополненной реальности.Это позволяет Vuforia Engine получать доступ к внешним источникам видео вне камеры, оснащенной телефонами и планшетами.Используя независимую камеру, разработчики могут создать опыт AR, который предлагает вид от первого лица из игрушек, роботов или промышленных инструментов.
Occlusion Management
является одной из ключевых функций для создания реалистичного опыта AR.Когда вы используете Occlusion Management, Vuforia Engine обнаруживает и отслеживает цели, даже если они частично скрыты за повседневными барьерами, такими как ваша рука.Специальная обработка окклюзии позволяет приложениям отображать графику, как если бы она появлялась внутри физических объектов.
Vuforia поддерживает ускорение Metal для устройств iOS.Также вы можете использовать Vuforia Samples для ваших проектов.Например:. Vuforia Core Samples
библиотека включает в себя различные сцены с использованием функции Vuforia, в том числе предварительно сконфигурированных объектов распознавания сцены, которые можно использовать в качестве эталона и отправной точкой для распознавания объектов приложения
1305 *
Vuforia SDK Цена (есть четыре варианта): Бесплатно (необходимо бесплатно зарегистрироваться Лицензионный ключ для разработки ), 499 за Классическая лицензия (для приложений, созданных для компаний с доходом менее 10 миллионов долларов в год), * 1321 * 99 $ / месяц за Облачная лицензия и PTC также предоставляет Pro лицензию с личной ценой (без ограничения дохода).
ЗАКЛЮЧЕНИЕ :
Нет существенных ограничений для разработки в Vuforia по сравнению с ARCore и ARKit.Vuforia - отличный продукт, он поддерживает iPhone 5/6 и некоторые модели Android, которые ARCore не поддерживает.Но, на мой взгляд, сам ARKit имеет гораздо большую точность измерений без необходимости калибровки, а у ARKit 3.0 лично есть куча полезных функций, которые устраняют ошибки, накопленные с течением времени.Таким образом, точность измерения Vuforia зависит от того, для какой платформы вы разрабатываете.
Обратите особое внимание: Vuforia Chalk приложение было построено на Apple ARKit.
Дляболее подробную информацию, пожалуйста, прочитайте Почему ARKit лучше, чем альтернативы? статья.