Что такое 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 использует три ключевые технологии для «внедрения» виртуального контента в реальную среду:
Отслеживание движения: оно позволяет смартфону понять своё положение в реальном мире.
Понимание окружающей среды: оно позволяет смартфону определять размер и местоположение всех типов поверхностей (вертикальных, горизонтальных и угловых).
Оценка освещённости: это позволяет смартфону оценить текущие условия освещения окружающей среды.
Как работает ARCore?
Вы когда-нибудь задумывались, почему большинству приложений дополненной реальности требуется, чтобы вы поперемещали камеру по комнате для обнаружения поверхностей в ней? Это необходимо для того, чтобы приложение построило свой собственный виртуальный мир на основе физического. ARCore в этом плане ничем не отличается.
Когда вы перемещаете свой телефон, ARCore запоминает окружение и строит собственный мир, в котором он может размещать виртуальные объекты. Он также использует технологию отслеживания движения для определения того, как некоторые объекты движутся, учитывая движения вашей камеры.
Вот почему, когда вы размещаете виртуальный объект в своей комнате, выходите и возвращаетесь, объект всё ещё там. ARCore построил свой виртуальный мир, в котором он помнит, где находится каждая деталь.
Когда вы размещаете в этом пространстве объект, ARCore вычисляет его положение по отношению к другим объектам, а когда вы возвращаетесь в то же место, объект отображается снова.
Кто может использовать ARCore?
Прямо сейчас ARCore SDK доступен для:
Android
Android NDK
Unity для Android
Unity для iOS
iOS
Unreal
Этот список довольно исчерпывающий и покрывает нужды большинства разработчиков. У Google есть краткое руководство по началу работы с каждым из них.
ARCore для Android
Google позаботился обо всех Android-разработчиках, и не важно, используете вы Android SDK, Android NDK или Unity для разработки под Android. ARCore поддерживает их все.
В этом кратком руководстве показано, как настроить среду разработки, включить ARCore и запустить простое приложение. ARCore использует Sceneform SDK, который представляет собой 3D-фреймворк, который позволяет Java-разработчикам легко создавать приложения ARCore без OpenGL.
Перевод статьи «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 объединяет визуальные данные с камеры устройства, чтобы оценить положение и ориентацию объектива относительно времени и пространства. В этой категории следует выделить разные калибровки. Перечислим основные:
Оптическая
Pinholde model — математическая модель описывающая отношение между координатами точки в трехмерном пространстве с ее проекцией на полотно, а также Field of View (FoV) — модель описывающая искажение перспективы изображения.
Измеряется ускорение — не дистанция и не скорость.
Моделирование на основе инерции не сводится к категории “да или нет”. Это — больше статистика, необходимая для конкретного use case.
Впрочем, существует температурная проблема при заводской калибровке IMU. Различные производители изготавливают ее при разной температуре, поэтому данные на различных девайсах могут различаться.
Environment understanding
ARCore ищет кластеры характерных точек, которые, как представляется, лежат на общих горизонтальных поверхностях и делают их доступными для вашего приложения в виде плоскостей.
В основе понимание окружения лежит технология SLAM — simultaneous localization and mapping. SLAM карта является графиком 3D точек, которые представляют собой разреженное облако, где каждая отметка соответствует координатам оптического объекта (например, угол таблицы).
Также как и с измерениями на основе ускорения, SLAM опирается на карту точек, которые могут быть более или менее надежными.
Основная задача SLAM — построение и обновление карты неизвестной среды при одновременном отслеживании местоположения агента внутри нее.
Также как и Tango, имеет проблемы с зеркальными поверхностями
Light estimation
ARCore может обнаружить среднюю интенсивность изображения камеры, так что вы получаете возможность осветить виртуальные объекты так же, как освещены объекты окружающей среды.
Применение
Чтобы начать использовать ARСore в Android приложениях вам понадобится:
Загрузить ARCore и установить его
Базовое понимание разработки под Android с OpenGL
Общие знания по 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 перед тем, как получить
начал с шагов ниже.
Получите образец проекта, клонировав репозиторий с помощью следующей команды:
В 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
Загрузить 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
Откройте Unity и создайте новый проект 3D .
Unity 2019 Только : выберите Window> Package Manager и установите
следующие пакеты:
Многопользовательский HLAPI (требуется для образца CloudAnchors )
XR Legacy Input Helpers (требуется для Instant Preview, в котором используется TrackedPoseDriver )
В диалоговом окне Импорт пакета убедитесь, что выбраны все параметры пакета. и щелкните Импорт .
Открыть образец сцены
В окне Unity Project вы можете найти образец HelloAR в: Assets / GoogleARCore / Примеры / HelloAR / Scenes / .
Настройка параметров проекта
Перейдите в File> Build Settings , чтобы открыть Build Settings окно.
В разделе Platform выберите Android и щелкните Switch Platform .
Щелкните Настройки проигрывателя .
На вкладке настроек 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 для
подробнее.
Включить параметры разработчика и отладку по USB
на вашем устройстве.
Подключите ваше устройство к машине разработки.
В окне Unity Build Settings щелкните Build and Run . Unity встраивает ваш проект в Android APK, устанавливает его на ваше устройство,
и запускает его.
Перемещайте устройство, пока ARCore не начнет обнаруживать и визуализировать самолеты.
Нажмите на самолет, чтобы поместить на него объект Andy Android.
(необязательно) Используйте Android logcat
для просмотра сообщений журнала или Android Device Monitor
для более полного анализа устройства.
Следующие шаги
Google AR · GitHub
Google AR · GitHub
Расширения Google ARCore для Unity AR Foundation
C #
47
12
ARCore SDK для Unreal
C ++
244
116
ARCore SDK для iOS
163
50
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 », — говорит Бавор.
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 использует три ключевые технологии для «внедрения» виртуального контента в реальную среду:
Как работает ARCore?
Вы когда-нибудь задумывались, почему большинству приложений дополненной реальности требуется, чтобы вы поперемещали камеру по комнате для обнаружения поверхностей в ней? Это необходимо для того, чтобы приложение построило свой собственный виртуальный мир на основе физического. ARCore в этом плане ничем не отличается.
Когда вы перемещаете свой телефон, ARCore запоминает окружение и строит собственный мир, в котором он может размещать виртуальные объекты. Он также использует технологию отслеживания движения для определения того, как некоторые объекты движутся, учитывая движения вашей камеры.
Вот почему, когда вы размещаете виртуальный объект в своей комнате, выходите и возвращаетесь, объект всё ещё там.
ARCore построил свой виртуальный мир, в котором он помнит, где находится каждая деталь.
Когда вы размещаете в этом пространстве объект, ARCore вычисляет его положение по отношению к другим объектам, а когда вы возвращаетесь в то же место, объект отображается снова.
Кто может использовать ARCore?
Прямо сейчас ARCore SDK доступен для:
Этот список довольно исчерпывающий и покрывает нужды большинства разработчиков. У 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 recognitionARCore умеет строить rgb-карты глубины (красным цветом обозначены области, расположенные рядом, синим — расположенные дальше) с помощью Depth API
Example depth map from Google DevelopersЭто позволяет перекрывать виртуальные объекты настоящими и создавать более реалистичные взаимодействия.
Например, AR-персонаж может отталкиваться от окружения или прятаться за ним
ARCore Depth API demos from Google DevelopersARKit пока, к сожалению, не умеет строить такие карты. Оценка глубины одного кадра используется для определения людей на видео
И 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 GoogleGoogle использует эту возможность для отображения некоторых результатов поиска с мобильных устройств. Например, giant panda или tiger (открывайте с телефона, чтобы попробовать)
ARCore умеет распознавать неподвижные и движущиеся 2D-маркеры — Augmented Images (до 20 изображений одновременно, до 1000 изображений в базе)
ARCore Augmented ImagesА у Apple есть свой фреймворк компьютерного зрения Vision.
С его помощью можно распознавать штрихкоды, текст, статичные и движущиеся маркеры. Количество маркеров не ограничено, но оптимально до 100 изображений
ARKit image marker replaced with videoИ даже организовать распознавание реальных объектов на основе подборки изображений
ARKit Vision classification modelsARKit умеет из коробки сканировать и распознавать статичные 3D-объекты. Для ARCore это тоже возможно, но с использованием сторонних сервисов, например, Vuforia Scanner
ARKit Scanning processARKit на устройствах с Face ID позволяет отслеживать мимику, геометрию лица, взгляд, интенсивность, температуру и направление света на лице
ARKit eyesight trackingДля работы с мимикой в ARKit есть около 50 коэффициентов положения частей лица (брови, нос, щёки, губы, язык)
ARKit identifiers for facial featuresЭто позволяет переносить выражения лица и движения головы на 2d и 3d-объекты, создавая собственных анимированных персонажей на основе движений и мимики реальных людей
ARKit Animoji Rick by Michael BramlageARKit позволяет не только примерять маски, но и создавать эффекты искажения лица с помощью наложения 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 appARCore пока ничего подобного не умеет, но посмотрим, что будет дальше
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 VykingGoogle представила новую платформу дополненной реальности для 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 можно установить на любой Android-смартфон
Как сделать старое лицо на Android
Начать предлагаю с более подробного объяснения, что такое ARCore
Как скачать ARCore
Чтобы заставить ARCore работать на Android-смартфоне, который его не поддерживает в принципе, можно задействовать обходной путь. Он не требует даже получения рут-прав, а потому подойдёт всем, у кого наблюдаются проблемы с воспроизведением дополненной реальности.
Без этих двух приложений чуда не получится
Как на 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. Внезапно весь прогрессивный мир понял, что главными устройствами дополненной реальности являются не очки, а именно смартфоны, уже купленные, привычные гаджеты, полезность которых не надо доказывать с нуля.
Google представила предварительную версию платформы для создания приложений дополненной реальности ARCore. Она работает с уже выпущенными и анонсированными гаджетами на Android 7.0. Первыми смартфонами с поддержкой нового SDK стали Pixel и Galaxy S8 — характерно, что оба оснащены одинарными модулями камер, как и большинство актуальных смартфонов Apple. Для развития платформы американцы работают с несколькими производителями устройств, среди которых есть Samsung, Huawei, LG и ASUS. Цель Google — 100 миллионов совместимых устройств на рынке к концу тестирования, хотя это заявление выглядит странно, учитывая, что компания воздержалась от оглашения сроков.
Движок ARCore работает с Java/OpenGL, Unity и Unreal и сфокусирован на трёх вещах:
Google также подчёркивает ведение работы над дополненной реальностью сразу в нескольких областях:
Примеры дополненной реальности на 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 объединяет визуальные данные с камеры устройства, чтобы оценить положение и ориентацию объектива относительно времени и пространства. В этой категории следует выделить разные калибровки. Перечислим основные:
Впрочем, существует температурная проблема при заводской калибровке IMU. Различные производители изготавливают ее при разной температуре, поэтому данные на различных девайсах могут различаться.
Environment understanding
ARCore ищет кластеры характерных точек, которые, как представляется, лежат на общих горизонтальных поверхностях и делают их доступными для вашего приложения в виде плоскостей.
Light estimation
ARCore может обнаружить среднюю интенсивность изображения камеры, так что вы получаете возможность осветить виртуальные объекты так же, как освещены объекты окружающей среды.
Применение
Чтобы начать использовать ARСore в Android приложениях вам понадобится:
Итак, основные классы в 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 перед тем, как получить
начал с шагов ниже.
Получите образец проекта, клонировав репозиторий с помощью следующей команды:
В 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 Образец рендеринга можно найти в
Примечание: Методы жизненного цикла в hello_ar_java отличаются от обычных найдено в приложениях OpenGL. Чтобы обеспечить правильную настройку AR для вашего собственного приложения, следуйте логике управления жизненным циклом в hello_ar_java .ком / google / ar / core / examples / java / common / samplerender
.Использовать мгновенное размещение
API мгновенного размещения позволяет пользователю размещать объект AR на экране. не дожидаясь, пока ARCore определит геометрию поверхности.Размещение объекта уточняется в реальном времени по мере того, как пользователь перемещается дальше по окружающей среде. однажды ARCore определяет правильную позу в области размещения объекта AR, белый объект автоматически обновляется, чтобы соответствовать позе, и становится непрозрачным.
Ваш браузер не поддерживает видео тег.Поместите виртуальный объект с помощью Instant Placement
Мгновенное размещение автоматически включено в hello_ar_java . Нажмите значок шестеренки на экране и выберите Instant Placement в раскрывающемся списке меню.Флажок Enable Instant Placement уже должен быть установлен.
Нажмите на экран, чтобы разместить объект.
Обязательно продолжайте перемещать устройство
после того, как на экране появился голографический объект, чтобы ARCore мог
получить достаточно данных о вашем окружении, чтобы точно привязать виртуальный
объект.
Следующие шаги
устройств с поддержкой ARCore | Разработчики Google
В настоящее время не включен в файл CSV, предоставляемый консолью Google Play
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Когда активен режим захвата камеры 60 кадров в секунду, камера использует фиксированный фокус
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает Depth API
Когда активен режим захвата камеры 60 кадров в секунду, камера использует фиксированный фокус
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает Depth API
Поддерживает API глубины
Поддерживает API глубины
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Поддерживает Depth API
Поддерживает Depth API
Поддерживает Depth API
Поддерживает Depth API
Поддерживает Depth API
Поддерживает Depth API
Поддерживает Depth API
ARCore использует широкоугольную заднюю камеру с фиксированным фокусом для отслеживания AR
ARCore использует широкоугольную заднюю камеру с фиксированным фокусом для отслеживания AR
ARCore использует широкоугольную заднюю камеру с фиксированным фокусом для отслеживания AR
ARCore использует широкоугольную заднюю камеру с фиксированным фокусом для отслеживания AR
поддерживает API глубины
Поддерживает API глубины
Поддерживает API глубины
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Поддерживает API глубины
Поддерживает API глубины
Поддерживает API глубины
Поддерживает API глубины
Поддерживает API глубины
Поддерживает API глубины
Поддерживает API глубины
ARCore всегда работает с включенным режимом автофокуса на задней камере
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Требуется Android 9.0 или более поздние версии
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Некоторые модели поддерживают только OpenGL ES 3.
Поддерживает несколько разрешений текстур графического процессора — 960×720, 480p
Некоторые модели поддерживают только OpenGL ES 3.0 и более ранние версии
Поддерживает несколько разрешений текстур графического процессора — 960×720, 480p
Некоторые модели поддерживают только OpenGL ES 3.0 и более ранние версии
Некоторые модели поддерживают только OpenGL ES 3.1 и более ранние версии
Некоторые модели поддерживают только OpenGL ES 3.0 и более ранние версии
Некоторые модели поддерживают только OpenGL ES 3.1 и более ранние версии
Поддерживает API глубины
Поддерживает API глубины
Поддерживает API глубины
Поддерживает API глубины
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Поддерживает API глубины
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Поддерживает API глубины
Поддерживает API глубины
Поддерживает API глубины
Поддерживает Depth API
Поддерживает API глубины
Поддерживает Depth API
Поддерживает API глубины
Поддерживает Depth API
Поддерживает API глубины
Поддерживает Depth API
Поддерживает API глубины
Поддерживает Depth API
Поддерживает API глубины
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Поддерживает аппаратный датчик глубины времени пролета (ToF)
Поддерживает несколько разрешений текстур графического процессора — 1080p, 720p, 480p
Поддерживает API глубины
Поддерживает API глубины
Поддерживает API глубины
Краткое руководство для Android | ARCore | Разработчики Google
Внимание: Эта страница документирует ARCore SDK для Unity и предназначена для только для разработчиков с существующими проектами.Разработчикам, начинающим новые проекты, следует вместо этого обращаться к последним Расширения ARCore для AR Foundation документация.
Начните с настройки приложений ARCore Unity для Android.
В этом руководстве показано, как настроить среду разработки и попробовать пример приложения ARCore.
Требования
Оборудование
Устройство с поддержкой ARCore
Кабель USB для подключения устройства к машине разработки
Программное обеспечение
Получите ARCore SDK для Unity
- Загрузить ARCore SDK для Unity 1.22.0 или новее .
Примечание. Google собирает и обрабатывает данные об использовании вами ARCore SDK для Unity в соответствии с Политикой конфиденциальности Google и Условия использования API Google.SDK загружается как
arcore-unity-sdk-1.22.0.unitypackage
.Создайте новый проект и импортируйте SDK
Откройте Unity и создайте новый проект 3D .
Unity 2019 Только : выберите Window> Package Manager и установите следующие пакеты:
TrackedPoseDriver
)Импорт ARCore SDK для Unity:
Выберите Assets> Import Package> Custom Package .
Выберите загруженный вами пакет
arcore-unity-sdk-1.22.0.unitypackage
.В диалоговом окне Импорт пакета убедитесь, что выбраны все параметры пакета.
и щелкните Импорт .
Открыть образец сцены
Assets / GoogleARCore / Примеры / HelloAR / Scenes /
.Настройка параметров проекта
Если Vulkan указан в Графические API , удалите его.
Примечание:
Для Например, используйте
com.example.helloAR
.IL2CPP
.См. ARCore 64-битное требование для получения дополнительной информации.ARM64
(требуется Бэкэнд сценариев установлен наIL2CPP
). См. ARCore 64-бит требование для получения дополнительной информации.Для дополнительных приложений AR, Минимальный уровень API 14.
Создайте и запустите пример приложения
Внимание! Нацелен на Android 11 (уровень API 30) с версиями Unity 2020.1 или ранее требует специальной конфигурации Gradle. Увидеть Сборка для Android 11 с Unity для подробнее.Включить параметры разработчика и отладку по USB на вашем устройстве.
Подключите ваше устройство к машине разработки.
В окне Unity Build Settings щелкните Build and Run .
Unity встраивает ваш проект в Android APK, устанавливает его на ваше устройство, и запускает его.
Перемещайте устройство, пока ARCore не начнет обнаруживать и визуализировать самолеты.
Нажмите на самолет, чтобы поместить на него объект Andy Android.
(необязательно) Используйте Android logcat для просмотра сообщений журнала или Android Device Monitor для более полного анализа устройства.
Следующие шаги
Google AR · GitHub
Google AR · GitHubРасширения Google ARCore для Unity AR Foundation
C # 47 12
ARCore SDK для Unreal
C ++ 244 116
ARCore SDK для iOS
163 50
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 явно находится под давлением, чтобы конкурировать с облегченной версией 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. Реквизит на удивление хорошо возвращался на место, когда я отвергал камеру или прикрывал ее, хотя они не могли восстановиться, когда я опускал телефон и бродил по конференц-залу.
Android-разработчики могут создавать приложения с дополненной реальностью без ARCore, точно так же, как разработчики iOS могут обходиться без ARKit, и Google не создает для всех возможных вариантов использования.ARCore фокусируется на обнаружении самолетов, а не человеческих тел или черт лица, хотя персонажи в Oz действительно реагируют, когда камера видит лицо. Но Бавор обещает, что для базового отслеживания AR Google оптимизировал производительность ARCore больше, чем мог бы сделать сторонний разработчик. «Я думаю, что уровень качества, возможностей и возможностей будет на несколько уровней выше, чем у других решений».
Фото Никхила Чандока / GoogleGoogle также пытается упростить сборку для 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.Помимо Samsung, Google заявляет, что работает с Huawei, Asus и LG, среди других производителей, чтобы этой зимой достичь своей цели в 100 миллионов.
Но компания пообещала аналогичный подробный список партнерских отношений для платформы Daydream VR, а некоторые из этих производителей телефонов до сих пор не сделали этого. Тем не менее, ARCore находится в лучшем положении, чем Daydream. Он сразу же выходит на популярный Galaxy S8, и для его использования не требуются специальные аксессуары. ARCore также может извлечь выгоду из работы, проделанной разработчиками iOS с ARKit, если портировать их приложения на Android достаточно просто.
Несмотря на всю работу, которую Google проделал над Tango, его самая большая возможность — не сделать Android самой «мощной» платформой AR. Он расширяет все пространство AR настолько, что люди постоянно используют его с такими сервисами, как Maps и Lens, независимо от операционной системы. «Мы здесь, чтобы создавать отличные продукты, которыми пользуется множество людей, и это, вероятно, означает, что эти приложения будут там, где находятся пользователи. И это включает в себя iOS », — говорит Бавор.