Android arcore: ARCore overview  |  Google Developers

Что такое ARCore? Всё, что вам нужно знать – Devcolibri

Дополненная реальность (англ. 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 использует три ключевые технологии для «внедрения» виртуального контента в реальную среду:

  1. Отслеживание движения: оно позволяет смартфону понять своё положение в реальном мире.
  2. Понимание окружающей среды: оно позволяет смартфону определять размер и местоположение всех типов поверхностей (вертикальных, горизонтальных и угловых).
  3. Оценка освещённости: это позволяет смартфону оценить текущие условия освещения окружающей среды.

Как работает ARCore?

Вы когда-нибудь задумывались, почему большинству приложений дополненной реальности требуется, чтобы вы поперемещали камеру по комнате для обнаружения поверхностей в ней? Это необходимо для того, чтобы приложение построило свой собственный виртуальный мир на основе физического. ARCore в этом плане ничем не отличается.

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

Вот почему, когда вы размещаете виртуальный объект в своей комнате, выходите и возвращаетесь, объект всё ещё там. ARCore построил свой виртуальный мир, в котором он помнит, где находится каждая деталь.

Когда вы размещаете в этом пространстве объект, ARCore вычисляет его положение по отношению к другим объектам, а когда вы возвращаетесь в то же место, объект отображается снова.

Кто может использовать ARCore?

Прямо сейчас ARCore SDK доступен для:

  1. Android
  2. Android NDK
  3. Unity для Android
  4. Unity для iOS
  5. iOS
  6. Unreal

Этот список довольно исчерпывающий и покрывает нужды большинства разработчиков. У Google есть краткое руководство по началу работы с каждым из них.

ARCore для Android

Google позаботился обо всех Android-разработчиках, и не важно, используете вы Android SDK, Android NDK или Unity для разработки под Android. ARCore поддерживает их все.

В этом кратком руководстве показано, как настроить среду разработки, включить ARCore и запустить простое приложение. ARCore использует Sceneform SDK, который представляет собой 3D-фреймворк, который позволяет Java-разработчикам легко создавать приложения ARCore без OpenGL.

Перевод статьи «What is ARCore? All you need to know to get started in 2018»

ARKit vs ARCore. Чем отличаются ARKit и ARCore, что у… | by Scud Kotonog

И ARKit, и ARCore распознают и отслеживают положение устройства в пространстве

ARKit positioning

Обе технологии не только считывают горизонтальные и вертикальные поверхности (Planes), но и определяют их примерную геометрию.

ARCore также умеет отличать пол от потолка (направлена поверхность вверх или вниз), а ARKit может классифицировать поверхность (например, определить поверхность стола, стены или пола)

ARKit surface recognition

ARCore умеет строить rgb-карты глубины (красным цветом обозначены области, расположенные рядом, синим — расположенные дальше) с помощью Depth API

Example depth map from Google Developers

Это позволяет перекрывать виртуальные объекты настоящими и создавать более реалистичные взаимодействия. Например, AR-персонаж может отталкиваться от окружения или прятаться за ним

ARCore Depth API demos from Google Developers

ARKit пока, к сожалению, не умеет строить такие карты. Оценка глубины одного кадра используется для определения людей на видео

И ARKit, и ARCore умеют оценивать интенсивность, температуру, направление света, а также создавать отражения от реальных объектов на виртуальных

ARCore estimation of lightning conditionARKit metal reflections

В ARCore можно подключить Environmental HDR на основе машинного обучения. Это позволяет динамически учитывать не только направленный, но и заполняющий свет (ambient light)

Before and after Environmental HDR is applied to the digital mannequin on the left (from Google Developers blog)

В ARKit встроена работа с пространственным звуком (spatial sound), в том числе возможность его записывать, а для ARCore пространственный звук доступен только с помощью Resonance Audio SDK от Google

Spatial audio by Resonance Audio

Наличие пространственного звука (когда звук идёт от издающего его виртуального объекта, а не со всех сторон) помогает увеличить погружение и привлечь внимание к объектам, оказавшимся за пределами видимости камеры. Естественно, работает только в наушниках

Оба фреймворка поддерживают импортированную анимацию. Если говорить о форматах 3d-объектов, то ARKit может больше: .USDZ .DAE .OBJ .ABC .PLY .STL против .OBJ .glTF .FBX у ARCore

Кстати, Apple вместе с Pixar создали собственный формат файлов для дополненной реальности — Universal Scene Description Zip (USDZ).

Его плюс в том, что любое устройство с ARKit правильно отобразит usdz 3D-модель даже из браузера. Попробуйте сами

ARKit USDZ Quick Look from next.reality.news

В ARCore 1.9 добавили Scene Viewer. С его помощью можно просматривать из браузера 3d-модели в формате .glTF с анимацией и зацикленным звуком

ARCore View in my space from Google

Google использует эту возможность для отображения некоторых результатов поиска с мобильных устройств. Например, giant panda или tiger (открывайте с телефона, чтобы попробовать)

ARCore умеет распознавать неподвижные и движущиеся 2D-маркеры — Augmented Images (до 20 изображений одновременно, до 1000 изображений в базе)

ARCore Augmented Images

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

ARKit image marker replaced with video

И даже организовать распознавание реальных объектов на основе подборки изображений

ARKit Vision classification models

ARKit умеет из коробки сканировать и распознавать статичные 3D-объекты. Для ARCore это тоже возможно, но с использованием сторонних сервисов, например, Vuforia Scanner

ARKit Scanning process

ARKit на устройствах с Face ID позволяет отслеживать мимику, геометрию лица, взгляд, интенсивность, температуру и направление света на лице

ARKit eyesight tracking

Для работы с мимикой в ARKit есть около 50 коэффициентов положения частей лица (брови, нос, щёки, губы, язык)

ARKit identifiers for facial features

Это позволяет переносить выражения лица и движения головы на 2d и 3d-объекты, создавая собственных анимированных персонажей на основе движений и мимики реальных людей

ARKit Animoji Rick by Michael Bramlage

ARKit позволяет не только примерять маски, но и создавать эффекты искажения лица с помощью наложения 2D-видео с камеры на 3D-сетку лица.

В ARKit 3 добавилась возможность отслеживать до 3 лиц одновременно.

ARCore Augmented Faces умеют значительно меньше, зато они доступны на всех устройствах с поддержкой фреймворка.

Что можно делать: отслеживать геометрию лица, положение кончика носа, центра головы, левой и правой стороны лба

ARCore Augmented Faces

В ARKit 3 добавили возможность распознавать и отслеживать скелет одного человека. Можно определить положение 91 элемента, из которых состоит AR-скелет

ARKit 3D-skeleton from WWDC2019 presentation

При этом отслеживаются только позиция и поворот головы, левой/правой ног и рук, плечей и бёдер, а положение остальных элементов определяется приблизительно по отношению к основным (они подписаны на картинке выше)

ARKit Motion Capture

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

People Occlusion principles from WWDC 2019

Это даёт возможность перекрывать виртуальные объекты людьми (People Occlusion) и создавать AR-эффекты, «вырезая» людей из фона

AR-effect based on people segmentationAR-effect from MEISAI app

ARCore пока ничего подобного не умеет, но посмотрим, что будет дальше

ARCore multiplayer — Cloud Anchors

Благодаря возможности делиться облаком точек, на обоих технологиях можно создавать мультиплеерные приложения. При этом ARCore умеет делиться как с Android-устройствами, так и с iOS

ARKit работает через фреймворк MultipeerConnectivity и ARWorldMap, ARCore — через Cloud Anchors

ARKit multiplayer gameARCore multiplayer game

Обе технологии дополненной реальности умеют уже довольно много, но некоторых функций всё ещё не хватает.

Например, для полноценного погружения мобильному AR нужна возможность перекрывать виртуальные объекты реальными. Ребята из Google запустили Depth API и теперь ARCore может перекрывать виртуальные объекты статичными настоящими, при этом ARKit умеет пока только перекрывать виртуальные объекты людьми (People Occlusion). Следующий важный шаг для обоих фреймворков — перекрытие AR-контента движущимися объектами

Environmental occlusion demo by Niantic

Многим приложениям не хватает управления виртуальными объектами с помощью рук. В прошлом году сторонние разработчики показывали свои демки, но ни ARKit, ни ARCore пока не внедрили эту возможность

Hand tracking by uSense

Подсказки по маршруту — одно из самых полезных применений мобильной дополненной реальности. Решением этой задачи занимаются разные сервисы. Например, у Mapbox есть свой AR SDK, Niantic продолжает разрабатывать Niantic Real World Platform.

И Google Maps, и Yandex Maps создали собственные системы AR-навигации

AR location share concept by John Avent

А было бы здорово иметь инструменты, сразу встроенные в ARCore и ARKit, для размещения виртуальных объектов на местности и создания навигации

AR body recognition by Facebook

Обе технологии научились неплохо распознавать и отслеживать лица, а в ARKit 3 добавили отслеживание тела одного человека. Осталось догнать разработчиков из Facebook и научиться распознаванию и отслеживанию поз, одежды и обуви для нескольких людей в кадре

AR try-ons by Vyking

Google представила новую платформу дополненной реальности для Android – ARCore

Компания Google объявила о доступности превью версии нового SDK (набора средств для разработки программного обеспечения) — ARCore, которое позволит применять технологию дополненной реальности на уже существующих и новых устройствах Android. Разработчики могут начать экспериментировать с ARCore уже сейчас.

Как отмечают в Google, в течение последних трех лет она работала над технологиями, которые способствуют развитию дополненной реальности на мобильных устройствах, с помощью платформы Tango. Она стала основой для создания ARCore. Благодаря тому, что этот SDK не требует дополнительного оборудования, он может применяться на различных устройствах Android. В Goole планируют запустить ARCore на миллионах устройств. Он доступен на Pixel и Samsung S8, работающих на Android 7.0 и более поздних версиях. К завершению тестового периода поисковый гигант рассчитывает, что ARCore будет работать на 100 млн устройств. Для того чтобы он работал качественно и приносил хорошие результаты, Google сотрудничает с Samsung, Huawei, LG, ASUS и другими компаниями.

ARCore работает на Java/OpenGL, Unity и Unreal и фокусируется на следующих направлениях:

  • Отслеживание движения. Используя камеру телефона для отслеживания опорных точек в комнате (п.п. эти точки определяют место, где будет расположен виртуальный объект) и данных гироскопа, ARCore определяет положение и ориентацию устройства во время движения. При этом виртуальные объекты остаются именно там, где их расположили.
  • Распознавание окружающей среды. Обычно объекты дополненной реальности размещаются на полу или столе. ARCore может распознавать горизонтальные поверхности, используя те же опорные точки, что и при отслеживании движения.
  • Оценка освещения. ARCore определяет уровень освещенности окружающей среды и дает возможность разработчикам освещать виртуальные объекты в соответствии с обстановкой вокруг. Благодаря этому они выглядят еще более реалистично.

Как установить ARCore на любой Андроид

Уверен, что вам не раз доводилось слышать или даже пользоваться дополненной реальностью.

Те самые животные в 3D от Google, о которых мы много писали, работают именно на базе этой технологии. Но дело в том, что запустить дополненную реальность на Android-смартфоне просто так не получится. Нужно, чтобы на устройстве был установлено системное приложение ARCore, которое является частью сервисов Google Play и, соответственно, может быть доступно далеко не всем пользователям. Объясняем, как обойти это ограничение.

ARCore можно установить на любой Android-смартфон

Как сделать старое лицо на Android

Начать предлагаю с более подробного объяснения, что такое ARCore

. Если придерживаться терминологии, которую использует Google, то это SDK, или набор инструментов разработки, обеспечивающих возможность работы дополненной реальности на устройстве под управлением Android. Именно он позволяет разработчикам создавать приложения с поддержкой AR (artificial reality), задействуя камеру смартфона и заставляя её совмещать реальность дополненную с реальностью повседневной. На выходе получается виртуальный объект, которые размещается в реальных «текстурах».

Как скачать ARCore

Чтобы заставить ARCore работать на Android-смартфоне, который его не поддерживает в принципе, можно задействовать обходной путь. Он не требует даже получения рут-прав, а потому подойдёт всем, у кого наблюдаются проблемы с воспроизведением дополненной реальности.

  • Запустите «Настройки» и разрешите загрузку из неизвестных источников;
  • Перейдите по этой ссылке и скачайте приложение TangoCore;

Без этих двух приложений чуда не получится

  • Затем перейдите по этой ссылке и скачайте приложение HelloAR;
  • Установите оба приложения себе на смартфон и раздайте необходимые разрешения.

Как на Android подставить лицо на видео

Поскольку оба приложения призваны исполнять пассивную роль, ждать от них какого-то откровения не нужно. То есть их основная задача – это пассивное обеспечение работоспособности дополненной реальности на вашем устройстве. Поэтому после установки TangoCore и HelloAR можете попробовать запустить что-нибудь AR-совместимое. Для этого отлично подойдут 3D-животные от Google, среди которых вы наверняка найдёте зверя, который нравится именно вам или вашим домашним. Попробуйте, это интересно.

Как пользоваться ARCore

Дополненная реальность может заработать даже без официального ARCore

Важно понимать, что TangoCore и HelloAR – это решение, предназначенное для тех смартфонов, которые по умолчанию ARCore не поддерживают. Поэтому не вижу смысла даже пытаться установить эти приложения на аппарат, у которого проблем с дополненной реальностью нет и так и который поддерживает сервисы Google Play. Ничего нового для себя вы всё равно не откроете. Более того, ни TangoCore, ни HelloAR на вашем устройстве могут вообще не запуститься, вступив в конфликт с уже установленным ARCore. Поэтому лучше не рискуйте.

Дополненная реальность на Android. Чем она лучше виртуальной

Несмотря на то что разработчики данного метода активации ARCore обещают самую широкую совместимость с разными устройствами на базе Android, несколько требований они всё равно предъявляют. Во-первых, необходимо, чтобы смартфон имел как минимум 1 ГБ оперативной памяти и как минимум 1 ГБ свободного пространства на диске. Во-вторых, процессор, который обеспечивает работоспособность вашего аппарата, должен иметь 64-, а не 32-битную разрядность. Но, если ваше устройство соответствует этим критериям и не поддерживает ARCore, тогда вперёд.

Google выпустила ARCore — конкурента ARKit для Android

Уже много лет компания Google накапливает опыт в работе с дополненной реальностью. Она разрабатывает электронные контактные линзы, продаёт смарт-очки Glass и постоянно регистрирует ДР-технологии, ведя исследовательскую деятельность. Но самый важный проект на этом поле — платформа компьютерного зрения Tango, которая позволяет смартфонам и другим мобильным устройствам распознавать окружение для навигации, измерений и наложения графических данных.

Особую актуальность Tango обрела с релизом Apple ARKit. Внезапно весь прогрессивный мир понял, что главными устройствами дополненной реальности являются не очки, а именно смартфоны, уже купленные, привычные гаджеты, полезность которых не надо доказывать с нуля.

Но в обычном виде Tango работает только со специальными модулями камер, дающими точность и особые возможности сканирования. Чтобы достойно ответить ARKit, Google нужно было «станцевать танго» с обычными смартфонами. Так появился ARCore.

Google представила предварительную версию платформы для создания приложений дополненной реальности ARCore. Она работает с уже выпущенными и анонсированными гаджетами на Android 7.0. Первыми смартфонами с поддержкой нового SDK стали Pixel и Galaxy S8 — характерно, что оба оснащены одинарными модулями камер, как и большинство актуальных смартфонов Apple. Для развития платформы американцы работают с несколькими производителями устройств, среди которых есть Samsung, Huawei, LG и ASUS. Цель Google — 100 миллионов совместимых устройств на рынке к концу тестирования, хотя это заявление выглядит странно, учитывая, что компания воздержалась от оглашения сроков.

Движок ARCore работает с Java/OpenGL, Unity и Unreal и сфокусирован на трёх вещах:

  • Отслеживание движения. Используя камеру телефона для наблюдения за точками на поверхностях объектов и данные инерциального датчика, ARCore определяет положение и ориентацию телефона при его движении. В результате виртуальные объекты точно закрепляются в пространстве.
  • Понимание окружающей среды. Для виртуальных объектов в дополненной реальности характерно размещение на полу или столе. ARCore может обнаруживать горизонтальные поверхности, используя те же функции, которые помогают отслеживать движения.
  • Оценка освещения. ARCore следит за условиями освещения вокруг и позволяет разработчикам естественно освещать виртуальные объекты, делая их более реалистичными.

Google также подчёркивает ведение работы над дополненной реальностью сразу в нескольких областях:

Наряду с ARCore мы инвестируем в приложения и сервисы, которые будут поддерживать разработчиков в создании отличного ДР-опыта. Мы разработали Blocks и Tilt Brush, чтобы каждый мог быстро создать отличный 3D-контент для использования в ДР-приложениях. Как мы уже упоминали на I/O, мы также работаем над Службой визуального позиционирования (VPS), которая позволит дополненной реальности в глобальном масштабе значительно превосходить настольную. И мы считаем, что интернет станет критически важным компонентом будущего дополненной реальности, поэтому также выпускаем прототипы браузеров для веб-разработчиков, чтобы они могли начать экспериментировать с ДР. Эти специальные браузеры позволяют создавать веб-сайты с поддержкой дополненной реальности и запускать их как на Android с ARCore, так и на iOS с ARKit.

Примеры дополненной реальности на ARCore доступны на специальной странице AR Experiments. Обсуждение SDK открыто на GitHub. Google также предлагает делиться идеями в социальных сетях через хештег #ARCore и обещает выделить собственных фаворитов.

Не пропускайте важнейшие новости о дополненной, смешанной и виртуальной реальности — подписывайтесь на Голографику в ВКTwitter и Facebook

Далее: Google приглашает тестировать рекламный SDK для виртуальной реальности

А ещё у нас можно арендовать очки и аттракционы виртуальной и дополненной реальности.

ARCore — реализация дополненной реальности в Android

Давным — давно, когда персонажи фильма “Звездные войны” звонили друг другу по видеосвязи — это казалось верхом развития технологий. Теперь это называют, например, скайп и даже твоя бабушка знает, как им пользоваться. Дополненная реальность — звучит, как очередная тема для фантастического фильма, однако она уже сегодня с легкостью помещается в простом смартфоне. Не так давно в ответ на ARKit от Apple, компания Google выпускает ARCore — библиотеку, позволяющую создавать дополненную реальность на платформе Android.

Впрочем, постойте. У нас ведь есть прекрасные приложение на мобильные платформы. Зачем нам эти AR и VR? Ответом на этот вопрос станет “погруженное вычисление” — термин, обозначающий взаимодействие с данными самым естественным способом. Это возможность добавлять цифровой контент в нашу реальность. Объекты, созданные с помощью ARСore, пропорционально масштабируются в реальном мире. К тому же, дополненная реальность доступна каждому, у кого есть современный смартфон. Таким образом, мы строим мост между 2D и 3D миром.

Зачем это нужно — спросите вы? А разве не здорово взять и расставить мебель у себя в комнате до того, как вы ее купили. Покрасить автомобиль в любой цвет и выбрать тот, который вам больше всего нравится. Или просто оставлять виртуальные напоминания на стенах своей квартиры.

Немного истории

История дополненной реальности на Android начинается в 2014 году с проекта Tango. Он не завоевал широкой популярности на рынке, поскольку его работа сильно зависела от сенсора глубины — устройства в смартфоне, рассчитывающего расстояние на основании отраженной длины инфракрасной волны. Сенсор позволял помещать девайс в виртуальное пространство, являющееся отражением реального. Однако у него были серьезные ограничения. Так максимально доступное расстояние составляло всего 4 метра. А расстояние, отраженное от ярких или зеркальных поверхностей, вообще не выстраивалось.

В результате компания Google задалась целью создать дополненную реальность на Android, исключив зависимость от аппаратных средств. Так появился ARCore. Ему абсолютно наплевать на сенсор глубины. Таким образом, опыт, полученный в процессе работы над Tango, для него не пригодился. Но послужил хорошей стартовой площадкой. На сегодня ARCore имеет около 100 миллионов потенциальных пользователей.

Что под капотом?

Концептуально, в основе ARCore лежит 3 основных положения — motion tracking, environment understanding и light estimation.

Motion tracking

Когда ваш мобильный телефон перемещается по всему миру, ARCore объединяет визуальные данные с камеры устройства, чтобы оценить положение и ориентацию объектива относительно времени и пространства. В этой категории следует выделить разные калибровки. Перечислим основные:

    1. Оптическая
      • Pinholde model — математическая модель описывающая отношение между координатами точки в трехмерном пространстве с ее проекцией на полотно, а также Field of View (FoV) — модель описывающая искажение перспективы изображения.
      • Фотометрическая калибровка — карта интенсивности цветов.
    2. Моделирование на основе инерции
      • Измеряется ускорение — не дистанция и не скорость.
      • Моделирование на основе инерции не сводится к категории “да или нет”. Это — больше статистика, необходимая для конкретного use case.

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

Environment understanding

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

  • В основе понимание окружения лежит технология SLAM — simultaneous localization and mapping. SLAM карта является графиком 3D точек, которые представляют собой разреженное облако, где каждая отметка соответствует координатам оптического объекта (например, угол таблицы).
  • Также как и с измерениями на основе ускорения, SLAM опирается на карту точек, которые могут быть более или менее надежными.
  • Основная задача SLAM — построение и обновление карты неизвестной среды при одновременном отслеживании местоположения агента внутри нее.
  • Также как и Tango, имеет проблемы с зеркальными поверхностями

Light estimation

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

Применение

Чтобы начать использовать ARСore в Android приложениях вам понадобится:

  1. Загрузить ARCore и установить его
  2. Базовое понимание разработки под Android с OpenGL
  3. Общие знания по Android framework

Итак, основные классы в AR core это Session, Frame, Plane, Anchor.

Session. Необходимо проверить поддерживает ли девайс ARCore и если это так — создать конфигурацию.

Frame. Необходимо получить объект камеры и обновить кадр. Основной вопрос на данном этапе — что использовать? Blocking или последнее изображение камеры? Blocking позволяет уменьшить рендеринг до частоты кадров камеры. Последнее же изображение помогает рендирить объекты, как можно быстрее.

Anchors. В этом же методе onDraw()  необходимо проверить было ли касание в полигоне и если оно было — расположить якорь. Якорей может быть не больше двадцати.

Proection Matrix. Матрица проекции содержит “позу” -где камера сейчас в мире. Она отвечает за сопоставление виртуальной и реальной камеры. В этом же методе onDraw() необходимо получить матрицу проекций, указав в каких рамках она будет располагаться. В примере ниже мы указываем, что трекаем объекты на расстоянии от 10 см до 100 метров. Из нашего объекта (кадра) мы получаем облако точек (Помните SLAM и достоверные точки?). Далее обновляем “облако точек”, передавая ему матрицу проекции и матрицу видения камеры.  Если матрица проекции содержит свойства камеры, а матрица соответствия видов содержит местоположение камеры, то матрица модели получит положение якоря. Теперь вы можете поместить пиксели в нужном месте на своем экране.

Render object. Далее мы проходимся по всех якорям и обновляем объект, который мы хотим нарисовать. Мы обновляем матрицу нашего объекта и матрицу его тени. Наконец, вызываем у них метод draw(). Полученный в примере выше объект “light intensity” мы передаем в качестве параметра нашему объекту и объекту, отвечающему за тень.

Резюме

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

Главную проблему технологии AR можно сформулировать примерно так: ок, это круто, но что мы можем с этим сделать? Пожалуй, на сегодня не существует какой-либо killer фичи, которая бы раскрыла ARCore в полной мере. Основная задача — удержать пользователя в приложении, хотя на 15 минут. И чтобы знакомство с ним не закончилось фразой: “Да, это забавно, но не более”.

Одними из наиболее успешных приложений, использующих технологию ARCore, стоит признать программы, располагающие мебель по различным интерьерам и подбирающие цвета для различных объектов (автомобили, одежда, обои и т.д.). Отдельным направлением ARcore скоро станут детские приложения. Прежде всего — игрушки.

Еще мы хотим отметить азиатский рынок, лишенный удовольствия пользоваться Google Play. Этот регион мог бы стать крупнейшим рынком сбыта для продуктов, использующих технологию дополненной реальности. Однако представителям крунпейшего континента придется искать альтернативу ARCore.

Хочется верить, что ARСore полностью раскроет свой потенциал в технологии Google Glass. К сожалению, сейчас проект приостановлен, из-за множества проблем, связанных в том числе с законодательством. Впрочем, Google уже возобновил работу и анонсировал грядущий акцент на промышленном применении очков — заводы, фабрики, высокотехнологичные концерны. Это направление выглядит наиболее перспективным. Оно вполне способно превратить дополненную реальность из забавной игрушки в полноценный инструмент.

 

Google ARCore Depth API теперь доступен для устройств Android

В конце 2019 года Google анонсировала новый интерфейс ARCore для дополненной реальности. Теперь он разворачивается на устройствах Android.

 

Так называемый Depth API является частью AR-интерфейса Google ARCore 1.18, который с сегодняшнего дня распространяется на устройства Android.

 

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

 

 

Google работал с разработчиками приложений для определения глубины с момента анонса в прошлом году. Например, в пугающей игре AR Five Nights at Freddy’s AR: Special Delivery роботы теперь могут прятаться за физическими объектами и еще больше пугать игроков.

 

Другие AR-эффекты

 

В дополнение к сокрытию, Depth API предлагает другие эффекты AR, такие как реалистичная физика и взаимодействие цифровых объектов с реальными предметами. Например, эксперимент Google Lines of Play позволяет пользователям смартфонов устанавливать домино в реальных средах, которые скрыты реальными объектами и сталкиваются с ними.

 

Датчик глубины, такой как установленный в Samsung Galaxy Note 10+ и S20 Ultra , не требуется, но он должен улучшить обнаружение помещения , пишет Google.

 

Соу Ван Ким (Soo Wan Kim), менеджер по продукции для фотоаппаратов Samsung, говорит, что 3D-датчик ускоряет определение глубины и быстрее обнаруживает даже текстурированные поверхности.

 

 

Источник

Обзор

ARCore | Разработчики Google

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

ARCore использует три ключевые возможности для интеграции виртуального контента с реальным мир глазами камеры вашего телефона:

  • Отслеживание движения позволяет телефону определять и отслеживать свое положение относительно мира.
  • Понимание окружающей среды позволяет телефону определять размер и расположение всех типов поверхностей: горизонтальных, вертикальных и наклонных, таких как земля, журнальный столик или стены.
  • Оценка освещенности позволяет телефону оценить окружающую среду текущие условия освещения.

Поддерживаемые устройства

ARCore разработан для работы с широким спектром квалифицированных телефонов Android под управлением Android 7. 0 (Nougat) и более поздних версий.Полный список всех поддерживаемых устройств доступен здесь.

Как работает ARCore?

По сути, ARCore выполняет две задачи: отслеживает положение мобильного устройство по мере его движения и построение собственного понимания реального мира.

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

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

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

Для более подробной информации о том, как работает ARCore, ознакомьтесь с фундаментальные концепции.

Узнать больше

Ознакомьтесь с нашими руководствами ниже, чтобы начать работу с SDK на платформе по вашему выбору.

Quickstart для Android | ARCore | Разработчики Google

Настройте среду разработки

Откройте демонстрационный проект

В этом кратком руководстве используется OpenGL, программный интерфейс для рендеринга 2D и 3D векторной графики. Обзор Включите документацию ARCore перед тем, как получить начал с шагов ниже.

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

 git clone https://github.com/google-ar/arcore-android-sdk.git 

В Android Studio откройте образец проекта hello_ar_java , расположенный в samples подкаталог в каталоге arcore-android-sdk .

Подготовьте устройство или эмулятор

Вы можете запускать приложения AR на поддерживаемом устройстве или в эмуляторе Android:

Запустить образец

Убедитесь, что ваше устройство Android подключено к машине разработки, и щелкните Запустите в Android Studio.

Android Studio встраивает ваш проект в отлаживаемый APK, устанавливает APK и затем запускает приложение на вашем устройстве. Для получения дополнительной информации см. Создайте и запустите свое приложение.

Вам может быть предложено установить или обновить Сервисы Google Play для AR. если он отсутствует или устарел. Выберите ПРОДОЛЖИТЬ , чтобы установить его из Google Play магазин.

Приложение hello_ar_java позволяет размещать фигурки Android и управлять ими на обнаружены поверхности плоскости AR. Он реализован с Android GL SurfaceView, который используется для рендеринга превью камеры и основных объектов AR, таких как самолеты и якоря. hello_ar_java Образец рендеринга можно найти в ком / google / ar / core / examples / java / common / samplerender .

Примечание: Методы жизненного цикла в hello_ar_java отличаются от обычных найдено в приложениях OpenGL. Чтобы обеспечить правильную настройку AR для вашего собственного приложения, следуйте логике управления жизненным циклом в hello_ar_java .

Использовать мгновенное размещение

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

Ваш браузер не поддерживает видео тег.

Поместите виртуальный объект с помощью Instant Placement

Мгновенное размещение автоматически включено в hello_ar_java . Нажмите значок шестеренки на экране и выберите Instant Placement в раскрывающемся списке меню.Флажок Enable Instant Placement уже должен быть установлен.

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

Следующие шаги

устройств с поддержкой ARCore | Разработчики Google

Модель
Asus Телефон ROG
Asus ROG Phone II
Asus ROG Phone III поддерживает API глубины
Asus Zenfone 6
Asus Zenfone 7/7 Pro поддерживает API глубины
Asus Zenfone AR
Asus Zenfone ARES
Fujitsu Стрелки 5G поддерживает API глубины
Fujitsu Arrows NX9 F-52A поддерживает API глубины
General Mobile GM 9 плюс
Google Nexus 5X Требуется Android 8. 0 или новее
В настоящее время не включен в файл CSV, предоставляемый консолью Google Play
Google Nexus 6P Требуется Android 8.0 или новее
Google пикселей
Google Pixel XL
Google Пиксель 2 Поддерживает частоту кадров захвата 60 кадров в секунду на задней камере
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Google Pixel 2 XL Поддерживает частоту кадров захвата 60 кадров в секунду на задней камере
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Google Пиксель 3 Поддерживает частоту кадров захвата 60 кадров в секунду на задней камере
Когда активен режим захвата камеры 60 кадров в секунду, камера использует фиксированный фокус
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает Depth API
Google Pixel 3 XL Поддерживает частоту кадров захвата 60 кадров в секунду на задней камере
Когда активен режим захвата камеры 60 кадров в секунду, камера использует фиксированный фокус
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает Depth API
Google Pixel 3a Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Google Pixel 3a XL Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Google Пиксель 4 Поддерживает частоту кадров захвата 60 кадров в секунду на задней камере на Android 10 декабря 2019 OTA или более поздней версии
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Google Pixel 4 XL Поддерживает частоту кадров захвата 60 кадров в секунду на задней камере на Android 10 декабря 2019 OTA или более поздней версии
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Google Пиксель 4a поддерживает API глубины
Google Pixel 4a 5G поддерживает API глубины
Google Пиксель 5 Поддерживает частоту кадров захвата 60 кадров в секунду на задней камере
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
HMD Global Nokia 3. 4
HMD Global Nokia 5.4
HMD Global Nokia 6 (2018) Также известен как Nokia 6.1
HMD Global Nokia 6.1 Plus
HMD Global Nokia 6.2 Требуется Android 10.0 или новее
HMD Global Nokia 7 Plus
HMD Global Nokia 7.1
HMD Global Nokia 7.2 Требуется Android 10.0 или новее
HMD Global Nokia 8 Требуется Android 8.0 или новее
HMD Global Nokia 8 Sirocco
HMD Global Nokia 8.1
HMD Global Nokia 8.3 5G
HTC Desire 21 Pro 5G поддерживает API глубины
Huawei Честь 8X
Huawei честь 10 Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Поддерживает Depth API
Huawei Honor View 10 Lite
Huawei честь V20 Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Поддерживает Depth API
Huawei Mate 20 Lite поддерживает API глубины
Huawei Mate 20 поддерживает API глубины
Huawei Mate 20 Pro поддерживает API глубины
Huawei Напряжение 20 X поддерживает API глубины
Huawei Нова 3 Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Поддерживает Depth API
Huawei Новая 3и поддерживает API глубины
Huawei Нова 4 Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Поддерживает Depth API
Huawei П20 Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Поддерживает Depth API
Huawei P20 Pro Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Huawei P30 Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Поддерживает Depth API
Huawei P30 Pro Поддерживает несколько разрешений текстур графического процессора — 2048×1536, 1280×960, 480p
Поддерживает Depth API
Huawei Porsche Design Mate RS
Huawei Порше Дизайн Мате 20 RS
Huawei Y9 2019
Infinix Mobile Примечание 6
Infinix Mobile Примечание 7
Infinix Mobile Ноль 8
Kyocera Момент G04
LG G6 Требуется Android 8. 0 или новее
LG G7 подходит
LG G7 Один
LG G7 тонкий Q ARCore использует широкоугольную заднюю камеру с фиксированным фокусом для отслеживания AR
LG G8 тонкий Q Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
LG G8S тонкий
LG G8X тонкий поддерживает API глубины
LG G Pad 5 10.1 FHD
LG K61
LG К71
LG K92 поддерживает API глубины
LG Q6 Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
LG Q70
LG Q8
LG Q92 поддерживает API глубины
LG style2 ARCore использует широкоугольную заднюю камеру с фиксированным фокусом для отслеживания AR
LG style3
LG Stylo 5
LG Stylo 6
LG V30 Требуется Android 8. 0 или более поздней версии
ARCore использует широкоугольную заднюю камеру с фиксированным фокусом для отслеживания AR
LG V30 + Требуется Android 8.0 или более поздняя версия
ARCore использует широкоугольную заднюю камеру с фиксированным фокусом для отслеживания AR
LG V30 + JOJO Требуется Android 8.0 или более поздняя версия
ARCore использует широкоугольную заднюю камеру с фиксированным фокусом для отслеживания AR
LG LG Signature Edition 2017 Требуется Android 8.0 или более поздней версии
ARCore использует широкоугольную заднюю камеру с фиксированным фокусом для отслеживания AR
LG V35 тонкий Q ARCore использует широкоугольную заднюю камеру с фиксированным фокусом для отслеживания AR
поддерживает API глубины
LG LG Signature Edition 2018 ARCore использует широкоугольную заднюю камеру с фиксированным фокусом для отслеживания AR
LG V40 тонкий Q ARCore использует широкоугольную заднюю камеру с фиксированным фокусом для отслеживания AR
LG V50 тонкий Q Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
LG V50S тонкий Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
LG LG Signature Edition 2019 Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
LG V60 ThinQ 5G Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Поддерживает аппаратный датчик глубины времени пролета (ToF)
LG БАРХАТ 5G поддерживает API глубины
LG КРЫЛО 5Г поддерживает API глубины
Motorola moto g⁵ˢ plus Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Motorola moto g⁶ Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Motorola moto g⁶ plus Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Motorola moto g⁷
Motorola moto g⁷ play
Motorola moto g⁷ plus
Motorola мото g⁷ мощность
Motorola moto g⁷ play
Motorola moto g⁸ Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Motorola moto g⁸ play Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Motorola moto g⁸ plus Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Motorola мото g⁸ мощность Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Motorola moto g⁸ power lite Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Motorola moto g⁹ play
Motorola moto g⁹ plus поддерживает API глубины
Motorola мото g⁹ мощность поддерживает API глубины
Motorola мото г 5G поддерживает API глубины
Motorola мото г мощность 2021 поддерживает API глубины
Motorola мото г мощность Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Motorola moto g pro Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Motorola Стилус moto g Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Motorola Стилус moto g (2020) поддерживает API глубины
Motorola край моторола поддерживает API глубины
Motorola моторола край плюс поддерживает API глубины
Motorola моторола один
Motorola моторола один 5G поддерживает API глубины
Motorola моторола одно действие
Motorola Motorola One Fusion поддерживает API глубины
Motorola Motorola One Fusion + поддерживает API глубины
Motorola моторола один гипер Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Motorola моторола один макрос
Motorola моторола одна мощность
Motorola моторола одно видение
Motorola motorola one zoom
Motorola мото x⁴ Требуется Android 8. 0 или новее
Motorola moto z² force Требуется Android 8.0 или новее
Motorola мото z³
Motorola moto z³ play
Motorola moto z⁴
OnePlus OnePlus 3T Требуется Android 8.0 или новее
OnePlus OnePlus 5
OnePlus OnePlus 5T
OnePlus OnePlus 6 Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
OnePlus OnePlus 6 т Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
OnePlus OnePlus 7 Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
OnePlus OnePlus 7 Pro Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
OnePlus OnePlus 7 Pro 5G Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
OnePlus OnePlus 7T Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
OnePlus OnePlus 7T Pro Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
OnePlus OnePlus 8 поддерживает API глубины
OnePlus OnePlus 8 Pro поддерживает API глубины
OnePlus OnePlus 8T поддерживает API глубины
OnePlus OnePlus Nord поддерживает API глубины
OnePlus OnePlus N10 поддерживает API глубины
Оппо A52
Оппо A72
Оппо A72 5G
Оппо A92
Оппо A92s
Оппо A93 5G
Оппо A94 поддерживает API глубины
Оппо F11 Pro
Оппо F15
Оппо F17 Pro
Оппо F19 Pro + поддерживает API глубины
Оппо Найти X2 поддерживает API глубины
Оппо Найти X2 Pro поддерживает API глубины
Оппо Найти X3 Pro поддерживает API глубины
Оппо К3 Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Оппо K5 Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Оппо R17 Pro
Оппо Рино
Оппо Reno2 Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Оппо Reno2 F
Оппо Reno2 Z Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Оппо Reno3
Оппо Reno3 5G поддерживает API глубины
Оппо Reno3 A
Оппо Reno3 Pro
Оппо Reno3 Pro 5G
Оппо Reno4 4G
Оппо Рено 4 SE 5G поддерживает API глубины
Оппо Рино 5 5G
Оппо Reno 5 Pro 4G
Оппо Reno 5 Pro 5G поддерживает API глубины
Оппо Reno 10-кратный зум Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Оппо Рино А Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Оппо Reno Z
Realme 5
Realme 5 Pro
Realme 6
Realme 6 профессиональный
Realme 7
Realme 7i
Realme 7 Pro
Realme Нарзо 20 Про
Realme Q
Realme Х
Realme X Lite
Realme XT
Realme Х2
Realme X2 Pro
Realme X3 Super Zoom
Realme X7 5 г
Realme X7 Pro 5G
Realme X50 Pro
Realme X50t 5G
Realme V5 5G
Samsung Galaxy A3 (2017) Требуется Android 8. 0 или новее
ARCore всегда работает с включенным режимом автофокуса на задней камере
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Samsung Galaxy A5 (2017) Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 960×720, 480p
Samsung Galaxy A6 (2018)
Samsung Galaxy A7 (2017) Некоторые модели поддерживают только OpenGL ES 3.0 и ранее
Samsung Galaxy A7 (2018) Некоторые модели поддерживают только OpenGL ES 3.0 и более ранние версии
Требуется Android 9.0 или более поздние версии
Samsung Galaxy A8
Samsung Galaxy A8 + (2018)
Samsung Galaxy A20
Samsung Galaxy A20s
Samsung Galaxy A20e
Samsung Galaxy A30
Samsung Galaxy A30s
Samsung Galaxy A31
Samsung Galaxy A32 5G поддерживает API глубины
Samsung Galaxy A40
Samsung Galaxy A41
Samsung Galaxy A42 5G
Samsung Galaxy A50 Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Samsung Galaxy A50s Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Samsung Galaxy A51
Samsung Galaxy A51 5G поддерживает API глубины
Samsung Galaxy A52 5G
Samsung Galaxy A60
Samsung Galaxy A70
Samsung Galaxy A70s Требуется Android 10 или новее
Samsung Galaxy A71
Samsung Galaxy A71 5G поддерживает API глубины
Samsung Galaxy A80 Поддерживает API глубины
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Samsung Galaxy A90 5G поддерживает API глубины
Samsung Galaxy F41
Samsung Galaxy Fold
Samsung Galaxy Z Fold2 5G поддерживает API глубины
Samsung Galaxy J5 (2017) Модели SM-J530
Некоторые модели поддерживают только OpenGL ES 3. 0 и более ранние версии
Поддерживает несколько разрешений текстур графического процессора — 960×720, 480p
Samsung Galaxy J5 Pro Модели SM-J530
Некоторые модели поддерживают только OpenGL ES 3.0 и более ранние версии
Поддерживает несколько разрешений текстур графического процессора — 960×720, 480p
Samsung Galaxy J7 (2017) Модели SM-J730
Некоторые модели поддерживают только OpenGL ES 3.0 и более ранние версии
Некоторые модели поддерживают только OpenGL ES 3.1 и более ранние версии
Samsung Galaxy J7 Pro Модели SM-J730
Некоторые модели поддерживают только OpenGL ES 3.0 и более ранние версии
Некоторые модели поддерживают только OpenGL ES 3.1 и более ранние версии
Samsung Galaxy M20 Требуется Android 10 или новее
Samsung Galaxy M21
Samsung Galaxy M30s
Samsung Galaxy M31
Samsung Galaxy M31s
Samsung Galaxy M51
Samsung Galaxy Note8 Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Samsung Galaxy Note9 поддерживает API глубины
Samsung Galaxy Note10 Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Samsung Galaxy Note10 5G Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Samsung Galaxy Note10 + Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Samsung Galaxy Note10 + 5G Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Samsung Galaxy Note10 Lite
Samsung Galaxy Note20 5G поддерживает API глубины
Samsung Galaxy Note20 Ультра 5G поддерживает API глубины
Samsung Galaxy S7 Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Samsung Galaxy S7 край Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Samsung Galaxy S8 Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Samsung Galaxy S8 + Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Samsung Galaxy S9 Exynos Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Samsung Galaxy S9 Qualcomm Поддерживает несколько разрешений текстур графического процессора — 2048×1536, 1280×960, 480p
Поддерживает Depth API
Samsung Galaxy S9 + Exynos Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Samsung Galaxy S9 + Qualcomm Поддерживает несколько разрешений текстур графического процессора — 2048×1536, 1280×960, 480p
Поддерживает Depth API
Samsung Galaxy S10e Exynos Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Samsung Galaxy S10e Qualcomm Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Поддерживает Depth API
Samsung Galaxy S10 Exynos Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Samsung Galaxy S10 Qualcomm Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Поддерживает Depth API
Samsung Galaxy S10 + Exynos Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Samsung Galaxy S10 + Qualcomm Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Поддерживает Depth API
Samsung Galaxy S10 5G Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Samsung Galaxy S10 Lite
Samsung Galaxy S20 поддерживает API глубины
Samsung Galaxy S20 5G поддерживает API глубины
Samsung Galaxy S20 + Поддерживает API глубины
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Samsung Galaxy S20 + 5G Поддерживает API глубины
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Samsung Galaxy S20 Fan Edition
Samsung Galaxy S20 Fan Edition 5G
Samsung Galaxy S20 Ультра 5G Поддерживает API глубины
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Samsung Galaxy S21 5G поддерживает API глубины
Samsung Galaxy S21 + 5G поддерживает API глубины
Samsung Galaxy S21 Ультра 5G поддерживает API глубины
Samsung Galaxy Tab A7
Samsung Galaxy Tab Active 3
Samsung Galaxy Tab Active Pro
Samsung Galaxy Tab S3 ARCore всегда работает с включенным режимом автофокусировки на задней камере
Samsung Galaxy Tab S4 Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 960×720, 480p
Samsung Galaxy Tab S5e
Samsung Galaxy Tab S6
Samsung Galaxy Tab S6 Lite
Samsung Galaxy Tab S7 поддерживает API глубины
Samsung Galaxy Tab S7 + поддерживает API глубины
Samsung Galaxy XCover Pro
Samsung Galaxy Z Flip
Samsung Galaxy Z Flip 5G поддерживает API глубины
Sharp AQUOS R3
Sharp AQUOS R5G
Sharp AQUOS sense3
Sharp AQUOS sense3 базовый
Sharp AQUOS sense3 plus
Sharp AQUOS sense4 поддерживает API глубины
Sharp AQUOS sense4 базовый поддерживает API глубины
Sharp AQUOS sense4 lite поддерживает API глубины
Sharp AQUOS sense4 plus
Sharp AQUOS sense5G поддерживает API глубины
Sharp AQUOS zero2
Sharp AQUOS zero5G базовый поддерживает API глубины
Sharp AQUOS zero5G basic DX поддерживает API глубины
Sharp S7
Sony Xperia XZ Premium Требуется Android 8. 0 или новее
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Sony Xperia XZ1 Требуется Android 8.0 или новее
Sony Xperia XZ1 Компактный Требуется Android 8.0 или новее
Sony Xperia XZ2 Требуется Android 8.0 или новее с обновлением программного обеспечения после августа 2018 г. (уровень безопасности 2018-08-05 или новее)
Поддерживает API глубины
Sony Xperia XZ2 Compact Требуется Android 8.0 или более поздней версии с обновлением программного обеспечения после августа 2018 г. (уровень исправления безопасности 2018-08-05 или более поздней версии)
Поддерживает API глубины
Sony Xperia XZ2 Premium Требуется Android 8.0 или новее с обновлением программного обеспечения после августа 2018 г. (уровень безопасности 2018-08-05 или новее)
Поддерживает API глубины
Sony Xperia XZ3 поддерживает API глубины
Sony Xperia 1
Sony Xperia 1 Professional Edition
Sony Xperia 1 II поддерживает API глубины
Sony Xperia 5 поддерживает API глубины
Sony Xperia 5 II поддерживает API глубины
Sony Xperia PRO поддерживает API глубины
TCL 10 5G UW поддерживает API глубины
Tecno Camon 12 Pro
Tecno Камон 16 Премьер
Tecno Camon 16 Pro
Tecno Фантом 9
Umx (Ultimate Mobile Experience) U3AR Устройство без передней камеры, не поддерживает фронтальную камеру ARCore
Винсмарт Онлайн 4 поддерживает API глубины
Vivo Nex 3 Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Vivo Nex 3 5G Поддерживает несколько разрешений текстур графического процессора — 1440×1080, 1280×960, 480p
Vivo NEX S
Vivo NEX Dual Display Edition
Vivo iQOO 3 4G
Vivo iQOO 3 5G
Vivo V17
Vivo V20
Vivo V20 Pro
Vivo Х23
Vivo Х50
Vivo X50 Pro
Vivo X50e 5G
Wiko Просмотр 3 Pro
Xiaomi Ми 8
Xiaomi Mi 8 SE
Xiaomi Ми 9
Xiaomi Mi 9 Lite
Xiaomi Mi 9 SE
Xiaomi Ми 10
Xiaomi Mi 10i поддерживает API глубины
Xiaomi Mi 10 Lite поддерживает API глубины
Xiaomi Ми 10 Лайт 5 г поддерживает API глубины
Xiaomi Mi 10 Lite зум
Xiaomi Ми 10 Pro поддерживает API глубины
Xiaomi Mi 10T Pro
Xiaomi Ми 11
Xiaomi Ми А3
Xiaomi Mi Mix 2S Поддерживает несколько разрешений текстур графического процессора — 1920×1440, 1280×960, 480p
Xiaomi Mi Mix 3
Xiaomi Mi Примечание 10
Xiaomi Mi Примечание 10 Lite
Xiaomi Pocophone F1 поддерживает API глубины
Xiaomi POCO X2
Xiaomi POCO X3
Xiaomi POCO X3 NFC
Xiaomi POCO M2 Pro
Xiaomi Редми К20
Xiaomi Редми K20 Pro
Xiaomi Редми К30 Только версия 4G
Xiaomi Редми K30 Pro
Xiaomi Редми Примечание 7 Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Xiaomi Redmi Примечание 7 Pro
Xiaomi Редми Примечание 8
Xiaomi Redmi Примечание 8 Pro
Xiaomi Redmi Примечание 8T
Xiaomi Redmi Примечание 9 Pro
Xiaomi Редми Примечание 9 Pro Макс
Xiaomi Redmi Примечание 9S
Xiaomi Redmi Примечание 9 (5G) поддерживает API глубины
Зебра ET51s 8-дюймовый планшетный ПК Enterprise поддерживает API глубины
Зебра ET56s 8-дюймовый планшетный ПК Enterprise поддерживает API глубины
Зебра TC52 Сенсорный компьютер WLAN
Зебра TC52x Сенсорный компьютер WLAN поддерживает API глубины
Зебра TC57 WWAN Сенсорный компьютер
Зебра TC57x WWAN Сенсорный компьютер поддерживает API глубины
Зебра TC72 Сенсорный компьютер WLAN
Зебра TC77 WWAN Сенсорный компьютер

Краткое руководство для Android | ARCore | Разработчики Google

Внимание: Эта страница документирует ARCore SDK для Unity и предназначена для только для разработчиков с существующими проектами.
Разработчикам, начинающим новые проекты, следует вместо этого обращаться к последним Расширения ARCore для AR Foundation документация.

Начните с настройки приложений ARCore Unity для Android.

В этом руководстве показано, как настроить среду разработки и попробовать пример приложения ARCore.

Требования

Оборудование

  • Устройство с поддержкой ARCore

  • Кабель USB для подключения устройства к машине разработки

Программное обеспечение

Получите ARCore SDK для Unity

  1. Загрузить ARCore SDK для Unity 1.22.0 или новее .
    SDK загружается как arcore-unity-sdk-1.22.0.unitypackage .
Примечание. Google собирает и обрабатывает данные об использовании вами ARCore SDK для Unity в соответствии с Политикой конфиденциальности Google и Условия использования API Google. Эти данные могут включать, например, версии Unity и ARCore. SDK.

Создайте новый проект и импортируйте SDK

  1. Откройте Unity и создайте новый проект 3D .

  2. Unity 2019 Только : выберите Window> Package Manager и установите следующие пакеты:

    • Многопользовательский HLAPI (требуется для образца CloudAnchors )
    • XR Legacy Input Helpers (требуется для Instant Preview, в котором используется TrackedPoseDriver )
  3. Импорт ARCore SDK для Unity:

    1. Выберите Assets> Import Package> Custom Package .

    2. Выберите загруженный вами пакет arcore-unity-sdk-1.22.0.unitypackage .

    3. В диалоговом окне Импорт пакета убедитесь, что выбраны все параметры пакета. и щелкните Импорт .

Открыть образец сцены

  1. В окне Unity Project вы можете найти образец HelloAR в:
    Assets / GoogleARCore / Примеры / HelloAR / Scenes / .

Настройка параметров проекта

  1. Перейдите в File> Build Settings , чтобы открыть Build Settings окно.
  2. В разделе Platform выберите Android и щелкните Switch Platform .
  3. Щелкните Настройки проигрывателя .
  4. На вкладке настроек Android настройте следующие параметры:
    Раздел Настройка Конфигурация
    Другие настройки Визуализация Снимите флажок Auto Graphics API .
    Если Vulkan указан в Графические API , удалите его.
    Многопоточный рендеринг Выберите этот вариант, чтобы использовать многопоточный рендеринг.

    Примечание:

    • При сборке для Android Многопоточный Опция рендеринга поддерживается в ARCore SDK для Unity 1.17.0 или позже. Однако, когда эта опция включена в Unity 2018.1 и ранее использование фронтальной (селфи) камеры не поддерживалось.
    • 3D-ресурсы могут не всегда отображаться правильно, когда приложение размещает высокая нагрузка на поток рендеринга.
    Имя пакета Создайте уникальный идентификатор приложения, используя формат имени пакета Java.
    Для Например, используйте com.example.helloAR .
    Серверная часть сценариев При сборке для 64-битных устройств установите Scripting Backend на IL2CPP .См. ARCore 64-битное требование для получения дополнительной информации.
    Целевые архитектуры При сборке для 64-битных устройств выберите ARM64 (требуется Бэкэнд сценариев установлен на IL2CPP ). См. ARCore 64-бит требование для получения дополнительной информации.
    Минимальный уровень API Выберите Android 7.0 «Nougat» (уровень API 24) или выше .
    Для дополнительных приложений AR, Минимальный уровень API 14.
    Настройки XR ARCore Поддерживается Включите эту опцию.

Создайте и запустите пример приложения

Внимание! Нацелен на Android 11 (уровень API 30) с версиями Unity 2020.1 или ранее требует специальной конфигурации Gradle. Увидеть Сборка для Android 11 с Unity для подробнее.
  1. Включить параметры разработчика и отладку по USB на вашем устройстве.

  2. Подключите ваше устройство к машине разработки.

  3. В окне Unity Build Settings щелкните Build and Run .
    Unity встраивает ваш проект в Android APK, устанавливает его на ваше устройство, и запускает его.

  4. Перемещайте устройство, пока ARCore не начнет обнаруживать и визуализировать самолеты.

  5. Нажмите на самолет, чтобы поместить на него объект Andy Android.

  6. (необязательно) Используйте Android logcat для просмотра сообщений журнала или Android Device Monitor для более полного анализа устройства.

Следующие шаги

Google AR · GitHub

Google AR · GitHub
  1. Расширения Google ARCore для Unity AR Foundation

    C # 47 12

  2. ARCore SDK для Unreal

    C ++ 244 116

  3. ARCore SDK для iOS

    163 50

  4. ARCore SDK для Android Studio

    C ++ 4. 1к 889

Репозиторий

  • C # 12 47 25 1 Обновлено 15 декабря 2020 г.
  • C # 413 1,319 248 7 Обновлено 11 декабря 2020 г.
  • Апач-2.0 50 163 19 0 Обновлено 11 декабря 2020 г.
  • C ++ 889 4 075 178 3 Обновлено 11 декабря 2020 г.
  • Ява Apache-2.0 566 1,101 564 1 Обновлено 28 июля 2020 г.
  • C ++ Апач-2.0 116 244 29 0 Обновлено 7 октября 2019 г.
  • org/Code» itemscope=»itemscope»>

    WebARonARKit

    Экспериментальное приложение для iOS, которое позволяет разработчикам создавать возможности дополненной реальности (AR) с помощью веб-технологий.

    Цель-C Apache-2.0 106 704 11 4 Обновлено 2 мая 2019 г.
  • WebARonTango

    Предложение предоставить в Интернете возможности дополненной реальности (AR) в виде прототипа поверх WebVR, встроенного в Chromium.

    C ++ Apache-2.0 49 383 9 1 Обновлено 2 мая 2019 г.
  • WebAR-статья

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

    JavaScript Apache-2.0 48 220 1 1 Обновлено 2 мая 2019 г.
  • WebARonARCore

    Разветвленный от хром / хром

    Экспериментальная модификация Chromium в виде приложения для Android, которое позволяет разработчикам создавать возможности дополненной реальности (AR) с использованием веб-технологий поверх ARCore от Google.

    3 236 727 18 0 Обновлено 8 мая 2018 г.
  • three.ar.js

    Вспомогательная библиотека three.js для создания веб-интерфейсов дополненной реальности, работающих в WebARonARKit и WebARonARCore.

    JavaScript Апач-2.0 351 2,558 12 0 Обновлено 16 апреля 2018 г.
Вы не можете выполнить это действие в настоящее время. Вы вошли в систему с другой вкладкой или окном. Перезагрузите, чтобы обновить сеанс. Вы вышли из системы на другой вкладке или в другом окне. Перезагрузите, чтобы обновить сеанс.

Объяснение технологии дополненной реальности Android

(Pocket-lint) — ARCore — это версия Apple ARKit для Android.Это встроенная платформа дополненной реальности, которую могут использовать разработчики.

Он отличается от снятого с производства Tango, еще одного проекта дополненной реальности Google, основанного на индивидуальных требованиях к оборудованию. ARCore менее мощный, чем Tango, но это нормально. Это должно быть более доступным. Google заявила, что будет работать со 100 миллионами существующих и будущих устройств.

Что такое дополненная реальность?

В то время как виртуальная реальность погружает вас в пространство, заменяя все, что вы видите в физическом мире, дополненная реальность (AR) берет мир вокруг вас и добавляет к нему виртуальные объекты.

С помощью AR, например, вы можете осмотреть комнату с помощью дисплея телефона и увидеть покемона, стоящего перед вами.

Что такое ARCore?

ARCore — это платформа, которая позволяет разработчикам приложений для Android быстро и легко встраивать возможности дополненной реальности в свои приложения и игры. Он может использовать камеру, процессоры и датчики движения вашего Android-устройства для обеспечения иммерсивного взаимодействия.

Google некоторое время изучает AR, благодаря Tango, для которой требовался телефон с нестандартным оборудованием, таким как две дополнительные камеры.Однако ARCore — более доступная технология.

Как работает ARCore?

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

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

Или, например, представьте себе, что вы ищете руководство по вашей сложной беговой дорожке, но все, что вам нужно сделать, это сфотографировать тренажер, и приложение может затем провести визуальный поиск, чтобы идентифицировать его и наложить инструкции или подать вверх видео на YouTube или руководство в формате PDF.

Нужно ли разработчикам использовать ARCore?

Нет. Разработчики Android уже могут создавать приложения AR без ARCore, точно так же, как разработчики iOS могут создавать приложения AR без ARKit.

В конце концов, до появления этих платформ были доступны такие приложения, как Pokemon Go.ARCore просто упрощает разработчикам добавление возможностей дополненной реальности в свои приложения. Например, Google заявил, что оптимизировал производительность ARCore больше, чем мог бы сделать сторонний разработчик.

Опытные разработчики захотят использовать Java / OpenGL, Unity и Unreal, но другие разработчики, которые плохо знакомы с 3D-дизайном, могут экспортировать объекты ARCore из нового приложения для рисования Tilt Brush VR от Google или инструмента моделирования блоков.

Могут ли все телефоны Android использовать ARCore?

Не все, есть список поддерживаемых устройств.Сервисы Google Play для дополненной реальности доступны в магазине Google Play для поддерживаемых устройств.

Вообще говоря, для ARCore требуется Android 7.0 или более поздняя версия (некоторые телефоны в списке имеют или требуют более новые версии, как указано ниже). В телефоне также должны быть установлены Google Mobile Services (GMS) и Google Play Store.

Написано Мэгги Тиллман и Элиз Беттерс.

Google ARCore дает пользователям Android дополненную реальность без Tango

На прошлой неделе в Сан-Франциско Google показал мне приложение под названием Oz . Oz — это своего рода книга с картинками с дополненной реальностью: она помещает анимированных персонажей из Волшебник страны Оз в физический мир, как они видны через камеру смартфона. Я пробовал это несколько месяцев назад в Google I / O, работающем на платформе Tango AR, и содержание не изменилось.Но опыт был намного интереснее, потому что впервые он мог работать на телефоне, которым я пользуюсь каждый день.

Эта версия Oz была построена на системе под названием ARCore, которая сегодня дебютирует как ограниченная предварительная версия. Как следует из названия, ARCore — это Android-эквивалент Apple ARKit: встроенная платформа дополненной реальности для разработчиков. Там, где из-за нестандартных требований к оборудованию Tango томится на посредственных смартфонах, ARCore менее мощный, но более доступный.Он запускается на телефонах Google Pixel и Samsung Galaxy S8 годовой давности, поддерживаемых Android 7.0 Nougat, а также на недавно выпущенном преемнике Android Oreo. Официальный запуск примерно запланирован на эту зиму, когда Google обещает, что ARCore будет работать со 100 миллионами существующих и будущих устройств.

Google вынужден конкурировать с Apple, но заявляет, что ARCore — это долгосрочный проект.

Google явно находится под давлением, чтобы конкурировать с облегченной версией AR от Apple, которая с момента анонса в июне произвела небольшую волну умных экспериментов.Но глава компании по дополненной и виртуальной реальности Клэй Бейвор описывает ARCore как намеренное долгосрочное развитие Tango. «Наш подход к Tango заключался в том, чтобы не ограничивать себя, — говорит Бавор. «Это действительно позволило нам многому научиться, выяснить, каковы варианты использования, и продвинуть технологию вперед — впереди того, что было бы возможно со стандартным оборудованием для смартфонов». Google выпустил пару потребительских продуктов с Tango, но они не получили особой популярности. Тем временем, по его словам, Google адаптировал ключевые компоненты для обычных телефонов, чтобы они могли работать без двух дополнительных камер Tango.

Теперь, когда Google считает, что ARCore достаточно хорош для широкого выпуска, устройства под брендом Tango, такие как Asus ZenFone AR, который вышел всего несколько недель назад, похоже, ушли в прошлое. «Я думаю, что Tango уходит на второй план, поскольку это более эффективная технология, которая работает за кулисами», — говорит Бавор. Технически он не мертв; Предполагается, что Google будет продолжать продвигать новые и лучшие камеры на основе технологий Tango, таких как датчик глубины. Но они будут добавлены к телефонам как элемент ARCore, а не как отдельная функция.

Как описывает Google, ARCore состоит из трех основных компонентов. Первый — это отслеживание движения, которое оценивает относительное местоположение телефона на основе внутренних датчиков и видеозаписи, чтобы вы могли прикреплять объекты в одном месте и обходить их. Второй — понимание окружающей среды, при котором камера используется для обнаружения плоских поверхностей. Третий — оценка освещенности, которая помогает виртуальным объектам отбрасывать точные тени и иным образом вписываться в окружающую среду.Google также демонстрирует несколько полуинтерактивных трюков. В простом демонстрационном приложении вы можете установить маленького талисмана Android в виртуальном лесу, где он будет махать, когда вы поднесете телефон к лицу. А в Oz Трусливый лев подпрыгивает от страха, если выключить свет.

Это те же возможности, которые вы найдете в ARKit от Apple, и я не провел достаточно времени с какой-либо платформой, чтобы тщательно сравнить их качество. Но моя контролируемая демонстрация в офисе Google была одним из лучших моих впечатлений от телефонной дополненной реальности.Объекты не дрожали, когда я ходил вокруг них, как я видел даже некоторые официальные демонстрации ARKit. Реквизит на удивление хорошо возвращался на место, когда я отвергал камеру или прикрывал ее, хотя они не могли восстановиться, когда я опускал телефон и бродил по конференц-залу.

Не каждое приложение Tango будет работать с ARCore

Android-разработчики могут создавать приложения с дополненной реальностью без ARCore, точно так же, как разработчики iOS могут обходиться без ARKit, и Google не создает для всех возможных вариантов использования.ARCore фокусируется на обнаружении самолетов, а не человеческих тел или черт лица, хотя персонажи в Oz действительно реагируют, когда камера видит лицо. Но Бавор обещает, что для базового отслеживания AR Google оптимизировал производительность ARCore больше, чем мог бы сделать сторонний разработчик. «Я думаю, что уровень качества, возможностей и возможностей будет на несколько уровней выше, чем у других решений».

Фото Никхила Чандока / Google

Google также пытается упростить сборку для ARCore.Опытные разработчики могут использовать Java / OpenGL, Unity и Unreal, а люди, которые плохо знакомы с 3D-дизайном, могут экспортировать объекты ARCore из приложения для рисования Google Tilt Brush VR или инструмента моделирования VR Blocks, который Google запустил в прошлом месяце. Google также выпускает две экспериментальные сборки Chromium, ориентированные на AR: веб-браузер на базе Android, использующий ARCore, и браузер на базе iOS, основанный на ARKit от Apple. Я использовал браузер Android для тестирования ограниченной версии инструмента предварительного просмотра мебели Wayfair на сайте покупок, который существует как специальное приложение для Tango.Он загружался не быстро, но как только он загружался, он работал так же плавно, как и его эквивалент в приложении.

Не все инструменты Tango так хорошо адаптируются к ARCore. Одно приложение под названием Constructor, например, полагается на специальную инфракрасную камеру Tango с датчиком глубины для создания детальных трехмерных сеток. «Понимание окружающей среды, насколько бы оно ни было, на самом деле является своего рода обнаружением поверхностей для размещения предметов, в отличие от полных трехмерных структур», — говорит Бавор. ARCore также должен оценивать масштаб на основе изображения с камеры, а Tango напрямую измеряет расстояние. В результате такие вещи, как предварительный просмотр мебели Wayfair, могут быть менее точными, хотя директор по продуктам AR Никхил Чандхок говорит, что «для всех приложений, которые, по нашему мнению, нужны пользователям», разница незначительна.

Что нужно пользователям ? Спустя три года разработчики Tango нашли несколько забавных и интересных вещей, которые можно сделать с помощью AR. Бавор говорит, что люди «загораются», когда помещают в мир невозможные объекты, и приложения для дизайна интерьера кажутся естественными.На ARCore кто-то даже собрал приложение для сложной кофемашины Google для приготовления эспрессо — если вы поднимете телефон, вы увидите инструкции, такие как «Положите сюда свою землю» или «Не трогайте эту штуку, это жарко», наложенные на камеру. образ.

Но лучшие приложения AR могут не появиться, пока не появятся и другие продукты Google. По словам Бавора, в сочетании с более точными картографическими данными ARCore может позволить вашему телефону указывать на определенные здания или углы улиц. Он также вспоминает недавно анонсированную Google «службу визуального позиционирования», которая должна определять местоположение внутри помещений с точностью до нескольких сантиметров.С VPS вы можете создать опору AR и вернуться к ней намного позже или даже оставить ее на поиски кого-то другого.

Программа дополненной реальности Google также может пересекаться с ее стремлением к визуальному поиску. Один из членов команды ARCore — Джон Вили, в прошлом ведущий дизайнер Google Search. Теперь, когда он является директором компании по иммерсивному дизайну, он считает, что объединение ARCore с инструментом визуального поиска, таким как Google Lens, может подтолкнуть взаимодействие человека и компьютера к «человеческой» стороне спектра.«Если смартфоны будут следовать нашему мыслительному процессу, а не наоборот, им нужно видеть мир так, как мы», — говорит Уайли. «Получить телефон и выровнять реальный мир — это невероятная техническая задача, но она также дает возможность получить гораздо более интуитивно понятный интерфейс».

В качестве примера того, как это может работать, представьте, что вы ищете инструкции — скажем, руководство по этой сложной кофемашине — путем показа Google изображения объекта. Визуальный поиск может идентифицировать его автоматически, а дополненная реальность может предлагать наложение инструкций вместо ссылки на видео YouTube или письменное руководство.«Мы очень тесно сотрудничаем с командой Google Lens, и я рассматриваю ARCore как один из многих компонентов, которые войдут в такие возможности, как Lens», — говорит Бавор. «Нечего сейчас объявлять об этом, но давайте просто скажем, что мы думаем, что ARCore сделает все это более интересным, более мощным и более полезным для людей».

ARCore — это не просто функция Android, это новый способ предоставления сервисов Google

Ничего из этого не произойдет в ближайшем будущем, и мы не должны пока слишком много думать о возможностях ARCore.Помимо Samsung, Google заявляет, что работает с Huawei, Asus и LG, среди других производителей, чтобы этой зимой достичь своей цели в 100 миллионов. Но компания пообещала аналогичный подробный список партнерских отношений для платформы Daydream VR, а некоторые из этих производителей телефонов до сих пор не сделали этого. Тем не менее, ARCore находится в лучшем положении, чем Daydream. Он сразу же выходит на популярный Galaxy S8, и для его использования не требуются специальные аксессуары. ARCore также может извлечь выгоду из работы, проделанной разработчиками iOS с ARKit, если портировать их приложения на Android достаточно просто.

Несмотря на всю работу, которую Google проделал над Tango, его самая большая возможность — не сделать Android самой «мощной» платформой AR. Он расширяет все пространство AR настолько, что люди постоянно используют его с такими сервисами, как Maps и Lens, независимо от операционной системы. «Мы здесь, чтобы создавать отличные продукты, которыми пользуется множество людей, и это, вероятно, означает, что эти приложения будут там, где находятся пользователи. И это включает в себя iOS », — говорит Бавор.