Apple arkit: Augmented Reality — Apple Developer

Содержание

мокап, камера, привязки • Голографика

Хотя Apple официально и прямо не подтвердила существование очков дополненной реальности. Но самым явным признаком серьёзного отношения к дополненной реальности, среди миллиона слухов, является прогресс ARKit, инструментария разработки ДР-приложений для iOS, существующий с 2017 года.

Вместе с iOS 16 осенью выйдет ARKit 6. В преддверии потенциального релиза очков особенно интересно узнать, какие возможности подарит обновление самого продвинутого решения для создания софта дополненной реальности на мировом рынке.

Захват движения

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

В ARKit 6 функция получит ряд обновлений, в том числе улучшенное отслеживание 2D-скелетов, которые теперь понимают местоположение левого и правого уха. Это полезно для лицевых фильтров, примерки очков, украшений и так далее.

Что касается 3D-скелетов, которые дают оценку позы с глубиной, Apple обещает лучшее отслеживание с меньшим дрожанием, большей временной согласованностью и надёжностью в случаях, когда пользователь закрыт краем камеры или другими объектами. Учтите, что некоторые из этих улучшений доступны только на iPhone 12 и более новых устройствах.

Камера

ARKit 6 даёт более глубокий контроль возможностей камеры при трекинге. Обещают качество уровня 4K HDR.

Разработчики получат доступ к входящим кадрам в реальном времени с разрешением до 4K при частоте 30 кадров в секунду на iPhone 11 и более новых, а также на iPad Pro с M1. Доступным остаётся и предыдущий режим с более низким разрешением и более высокой частотой в 60 кадров в секунду. Режим 4K может быть лучше для приложений, ориентированных на просмотр видео (например, виртуальный продакшн), а режим с более низким разрешением и 60 кадрами может подойти для приложений, которые выигрывают от скорости отклика, таких как игры.

Подобно более высокому разрешению видео в приложениях дополненной реальности, разработчики теперь могут делать фотографии с полным разрешением, даже когда приложение активно использует камеру. Это означает, что они могут извлекать 12-мегапиксельное изображение (по крайней мере, на iPhone 13) для сохранения или использования в другом месте. Это полезно для приложений, в которых частью опыта является фотосъёмка. Например, при съёмке по инструкции для последующего преобразования объектов в кадре в 3D-модели с помощью фотограмметрии.

Разработчики также могут настраивать баланс белого, яркость и фокусировку и считывать данные EXIF ​​из каждого входящего кадра.

Геопространственные привязки

ARKit включает функцию Location Anchors, которые обеспечивают трекинг для навигации по улицам в дополненной реальности. Пока это работает лишь в нескольких городах, но Apple обещает расширить их список на новые, включая Ванкувер, Торонто и Монреаль в Канаде, Фукуоку, Хиросиму, Осаку, Киото, Нагою, Иокогаму и Токио в Японии и Сингапур. Следом появятся Окленд в Новой Зеландии, Тель-Авив в Израиле и Париж во Франции.

Плоские привязки

Plane Anchors — это инструмент для трекинга плоских объектов, таких как столы, полы и стены. До ARKit 6 исходник обновлялся при обнаружении большей части плоскости (например, при перемещении устройства для открытия большей части стола, чем камера видела ранее). Это может затруднить удержание цифровых объектов на плоскости, если исходник был повёрнут после первого размещения. В ARKit 6 вращение исходника остаётся статичным независимо от того, как меняется форма плоскости во время сеанса.

***

Подробности нового инструментария и iOS 6 в целом вы можете узнать из презентации «Откройте для себя ARKit 6» с WWDC 2022.

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

Далее: Новый API RoomPlan для iOS 16 делает 3D-сканы целых этажей за минуты

ARKit 4 от Apple закрепляет трехмерную реальность в реальных местах на Картах

С ARKit 4 Apple создает основу для виртуального мира анимированной, интерактивной трехмерной «реальности», доступной любому, у кого есть новый iPhone в кармане.

На WWDC20 Apple рассказала о новых футуристических возможностях, которые появятся в ARKit 4. Предыдущие выпуски платформы дополненной реальности компании впервые позволили базовой трехмерной графике выглядеть зафиксированной в видеопотоке с камеры iOS 11 с использованием визуальной инерционной одометрии. Это позволяет пользователю исследовать виртуальный объект со всех сторон или играть в интерактивную игру, зафиксированную через AR, на поверхность стола.

ARKit 2 в iOS 12 2018 года представил общие AR-миры, где два пользователя могли видеть разные виды одной и той же виртуальной сцены, обеспечивая многопользовательский игровой процесс в приложениях дополненной реальности. В прошлых годах в ARKit 3 был представлен захват движения и окклюзия людей, что позволяло виртуальным объектам перемещаться впереди и сзади людей, одновременно понимая, как человека размещают перед камерой.

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

Расположение якоря

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

Чтобы обеспечить большую точность привязки местоположения, чем может обеспечить GPS, Apple продемонстрировала ARKit 4 с использованием визуального местоположения, которое использует машинное обучение для сопоставления ориентиров, видимых камерой, с картой локализации, загруженной из Apple Maps, соответствующей текущему местоположению. Похоже, что это данные, собранные транспортными средствами Apple Maps для создания исследовательских карт Look Around Maps в крупных городах.

Apple # WWDC20 в презентации # ARKit4 случайно упоминает, что у Apple Maps есть карта локализации, которая может точно позиционировать ваш iPhone с помощью камеры и машинного обучения. https://t.co/dM7flEOBR6

— Даниэль Эран Дилгер (@DanielEran) 25 июня 2020 г.

Процесс сопоставления местоположений выполняется локально на вашем телефоне, и личная информация не отправляется обратно на серверы Apple. Это впечатляющее пересечение технологий может в дальнейшем сочетаться с другими функциями, которые Apple подробно описывала на WWDC20, включая App Clips для обеспечения мгновенной функциональности, включая оплату с помощью Apple Pay или вход пользователя в систему с помощью «Войти в Apple».

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

Глубина API и LiDAR

В дополнение к привязке опыта AR к фиксированной точке реального мира, ARKit 4 теперь также предоставляет расширенные возможности понимания сцены с новым API глубины. Это позволяет ему использовать сканер LiDAR на новейшем iPad Pro, который, по слухам, появится на будущей модели iPhone 12, для быстрого сбора подробной информации о глубине окружающей среды.

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

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

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

Отслеживание лица и рук

Третье значительное усовершенствование в ARKit 4 расширяет отслеживание лица за пределы устройств, оснащенных камерой TrueDepth, до нового iPhone SE и других продуктов, по крайней мере, с процессором A12 Bionic.

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

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

Инструменты реальности для создания опыта AR

Apple также предоставляет новое приложение Reality Converter для переноса 3D-моделей, разработанных с помощью внешнего инструмента создания цифрового контента, в формат файлов usdz, используемый ARKit, а также обновление для Reality Composer для создания и тестирования AR-событий и их экспорта в портативный usdz.

RealityKit также добавляет поддержку для применения видео-текстуры в сцене ARKit, такой как виртуальное телевидение, установленное на стене, в комплекте с атрибутами реалистичности, такими как излучение света, альфа и шероховатость текстуры.

Работа, которую Apple выполняет в AR, перекрывает работу, начатую другими, в частности, Google. Но одна вещь, существенно поддерживающая усилия Apple в AR, — это обширная база высококлассных, сложных устройств со структурными датчиками, такими как TrueDepth на iPhone X и более поздних версиях, и новый датчик LiDAR на новых iPad Pro.

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

Дополненная реальность — Технологии — Руководство по человеческому интерфейсу — Дизайн

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

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

Предлагайте функции дополненной реальности только на совместимых устройствах. Если основное назначение вашего приложения — дополненная реальность, сделайте его доступным только для устройств, поддерживающих ARKit. Если ваше приложение включает функции, для которых требуются определенные возможности дополненной реальности, или если функции дополненной реальности являются необязательными в вашем приложении, не показывайте людям сообщение об ошибке, если они попытаются использовать эти функции на устройстве, которое их не поддерживает; вместо этого просто избегайте предлагать эту функцию на неподдерживаемом устройстве. Руководство для разработчиков см. в разделе Проверка поддержки устройств и разрешения пользователя.

Создание привлекательного и комфортного опыта

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

Стремитесь к убедительным иллюзиям при размещении реалистичных объектов. Создавайте детализированные 3D-активы с реалистичными текстурами для создания объектов, которые, кажется, обитают в физической среде, в которую вы их помещаете. Используя информацию из ARKit, вы можете правильно масштабировать объекты и размещать их на обнаруженных реальных поверхностях, отражать условия освещения окружающей среды и имитировать зернистость камеры, отбрасывать нисходящие рассеянные тени объектов на реальных поверхностях и обновлять визуальные эффекты при изменении положения камеры. . Чтобы не разрушить созданную вами иллюзию, убедитесь, что ваше приложение обновляет сцены 60 раз в секунду, чтобы объекты не прыгали и не мерцали.

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

Используйте звук и тактильные ощущения для усиления эффекта погружения. Звуковой эффект или ощущение удара — отличный способ подтвердить, что виртуальный объект вступил в контакт с физической поверхностью или другим виртуальным объектом. Фоновая музыка также может помочь погрузить людей в виртуальный мир. Инструкции см. в разделах «Воспроизведение аудио» и «Воспроизведение тактильных ощущений».

Свернуть текст в окружении. Отображать только ту информацию, которая нужна людям для работы с вашим приложением.

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

Рассмотрите возможность использования косвенных элементов управления, если вам необходимо обеспечить постоянные элементы управления. Косвенные элементы управления не являются частью виртуальной среды — вместо этого они представляют собой 2D-элементы управления, отображаемые в пространстве экрана. Если людям нужен доступ к постоянным элементам управления в вашем приложении, подумайте о том, чтобы разместить элементы управления так, чтобы им не приходилось менять способ удержания устройства, чтобы добраться до них. Кроме того, рассмотрите возможность использования полупрозрачности в непрямом элементе управления, чтобы избежать блокировки основной сцены. Например, приложение «Измерение» использует пространство экрана для отображения сочетания полупрозрачных и непрозрачных элементов управления, которые люди используют для измерения объектов в реальном мире.

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

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

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

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

Использование коучинга для начала работы

Прежде чем люди смогут насладиться возможностями дополненной реальности в вашем приложении, им нужно переместить свое устройство таким образом, чтобы ARKit мог оценивать окружение и обнаруживать поверхности. В iOS 13 и более поздних версиях вы можете использовать встроенное представление обучения, чтобы показать людям, что делать, и оставить отзыв во время процесса инициализации. Вы также можете использовать режим обучения, чтобы помочь людям повторно инициализировать AR — процесс, известный как релокализация — после того, как работа с дополненной реальностью была прервана, например, из-за того, что люди ненадолго переключились на другое приложение. Инструкции по перемещению см. в разделе Обработка прерываний; руководство для разработчиков см. в разделе ARCoachingOverlayView.

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

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

Помощь людям в размещении объектов

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

Индикатор приложения

Когда люди размещают объект, немедленно интегрируйте этот объект в среду дополненной реальности. Хотя обнаружение поверхности быстро и постепенно повышает точность, лучше не ждать более точных данных перед размещением объекта. Используйте доступную информацию, чтобы мгновенно реагировать, когда люди помещают объект; затем, когда обнаружение поверхности завершено, при необходимости слегка уточните положение объекта. Например, если люди помещают объект за пределы обнаруженной поверхности, осторожно подтолкните объект обратно на поверхность. Руководство для разработчиков по уточнению положения объекта см. в статье ARTrackedRaycast.

Попробуйте направить людей к виртуальным объектам за кадром. Иногда людям может быть трудно найти объект, расположенный за кадром. В этом случае вы можете помочь людям найти такие объекты, предлагая визуальные или звуковые подсказки. Например, если объект находится за пределами экрана слева, вы можете отобразить индикатор вдоль левого края экрана, который поможет людям направить камеру в этом направлении.

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

Включение информации о классификации плоскостей для информирования о размещении объекта. Например, разрешить людям размещать виртуальный предмет мебели только на плоскости, которая классифицируется как «пол», или требовать, чтобы плоскость была классифицирована как «стол», чтобы разместить виртуальную игровую доску.

Разработка интуитивно понятных, восхитительных взаимодействий с объектами

Пусть люди используют прямые манипуляции для взаимодействия с объектами, когда это возможно. Более захватывающе и интуитивно понятно, когда люди могут взаимодействовать с 3D-объектами на экране, прикасаясь к ним напрямую, а не используя непрямые элементы управления в пространстве экрана. Однако в ситуациях, когда люди перемещаются, используя ваше приложение, косвенные элементы управления могут работать лучше.

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

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

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

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

СОВЕТ Независимо от цели вашего приложения, не используйте масштабирование как способ регулировки расстояния до объекта. Если вы увеличиваете удаленный объект, чтобы он казался ближе, в результате получается более крупный объект, который все еще выглядит далеко.

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

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

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

Создание отличного многопользовательского интерфейса

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

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

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

Реагирование на объекты реального мира

Вы можете расширить возможности дополненной реальности, используя известные изображения и объекты в реальном мире, чтобы инициировать появление виртуального контента. Например, приложение, которое распознает театральные афиши научно-фантастического фильма, может заставить виртуальные космические корабли появляться из афиш и летать по окружающей среде. Другой пример — приложение для художественного музея, которое представляет виртуального гида, когда распознает скульптуру. Чтобы использовать подобные возможности, ваше приложение предоставляет набор эталонных 2D-изображений или эталонных 3D-объектов, а ARKit указывает, когда и где он обнаруживает любой из этих элементов в текущей среде. Руководство для разработчиков см. в разделе Распознавание изображений в дополненной реальности.

При первом исчезновении обнаруженного изображения рассмотрите возможность отсрочки удаления прикрепленных к нему виртуальных объектов. ARKit не отслеживает изменения положения или ориентации каждого обнаруженного изображения. Чтобы предотвратить мерцание виртуальных объектов, подождите до одной секунды, прежде чем затухать или удалять их.

Ограничение количества эталонных изображений, используемых одновременно. Производительность обнаружения изображений лучше всего работает, когда ARKit ищет 100 или менее различных изображений в реальной среде. Если вам нужно более 100 эталонных изображений, вы можете изменить набор активных эталонных изображений в зависимости от контекста. Например, приложение-путеводитель по музею может запрашивать разрешение на использование служб определения местоположения, чтобы определить, в какой части музея находится человек, а затем искать только изображения, отображаемые в этой области.

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

Общение с людьми

Если вам необходимо отобразить текст с инструкциями, используйте доступную терминологию. AR — это продвинутая концепция, которая может пугать некоторых людей. Чтобы сделать его доступным, избегайте использования технических терминов, таких как ARKit, обнаружение мира и отслеживание. Вместо этого используйте дружеские разговорные термины, понятные большинству людей.

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

В трехмерном контексте лучше использовать трехмерные подсказки. Например, размещение трехмерного индикатора поворота вокруг объекта более интуитивно понятно, чем отображение текстовых инструкций в двухмерном наложении. Избегайте отображения текстовых наложенных подсказок в 3D-контексте, если только люди не реагируют на контекстные подсказки.

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

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

Обработка прерываний

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

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

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

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

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

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

Предложение способов решения проблем

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

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

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

Значок дополненной реальности

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

Используйте глиф AR по назначению. Этот глиф следует использовать исключительно для запуска опыта на основе ARKit. Никогда не изменяйте глиф (кроме настройки его размера и цвета), не используйте его для других целей или не используйте вместе с элементами дополненной реальности, созданными не с помощью ARKit.

Обеспечьте минимальное свободное пространство. Минимальное свободное пространство, необходимое вокруг глифа дополненной реальности, составляет 10 % от высоты глифа. Не позволяйте другим элементам вторгаться в это пространство или каким-либо образом загораживать глиф.

Значки дополненной реальности

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

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

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

Используйте значки, только если ваше приложение содержит смесь объектов, которые можно просматривать в AR, и объекты, которые не могут. Если все объекты в вашем приложении можно просматривать в AR, то бейджинг не нужен.

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

Обеспечьте минимальное свободное пространство. Минимальное свободное пространство вокруг значка AR составляет 10% от высоты значка. Другие элементы не должны нарушать это пространство и каким-либо образом загораживать бейдж.

Apple сообщает об улучшениях в ARKit 6 для разработчиков

Ранее в этом месяце во время ежегодной конференции разработчиков Apple, WWDC 2022, компания представила разработчикам первый взгляд на улучшения, которые появятся в наборе инструментов Apple ARKit 6 для создания приложений дополненной реальности на устройствах iOS.

Хотя Apple еще не раскрыла (или даже не подтвердила) существование гарнитуры дополненной реальности, самым явным признаком того, что компания абсолютно серьезно относится к дополненной реальности, является ARKit, набор инструментов разработчика для создания приложений дополненной реальности на устройствах iOS, который Apple продвигает с 2017 года.

На конференции WWDC 2022 Apple представила последнюю версию ARKit 6, в которой улучшены основные возможности, чтобы разработчики могли создавать более качественные приложения дополненной реальности для iPhone и iPad (а в конечном итоге и для гарнитур… возможно).

Изображение предоставлено Apple

Во время сессии разработчиков «Откройте для себя ARKit 6» на WWDC 2022 инженер Apple ARKit Кристиан Липски рассказал о том, что будет дальше.

Улучшенный захват движения

ARKit включает функцию MotionCapture, которая отслеживает людей в видеокадре, предоставляя разработчикам «скелет», который оценивает положение головы и конечностей человека. Это позволяет разработчикам создавать приложения, которые накладывают дополненные объекты на человека или перемещают их относительно человека (это также можно использовать для перекрытия, чтобы размещать дополненный контент позади кого-то, чтобы более реалистично встроить его в сцену).

В ARKit 6 Липски говорит, что функция получает «целый набор обновлений», включая улучшенное отслеживание 2D-скелетов, которые теперь оценивают местоположение левого и правого ушей субъекта (что, безусловно, будет полезно для лицевых фильтров, пытающихся на очках с дополненной реальностью и аналогичными функциями с участием головы).

Изображение предоставлено Apple.

Что касается 3D-скелетов, которые дают оценку позы с глубиной, Apple обещает лучшее отслеживание с меньшим дрожанием, большей согласованностью во времени и большей надежностью, когда пользователь закрыт краем камеры или другими объектами (хотя некоторые из этих улучшений доступны только на iPhone 12 и более поздних версий).

Улучшения доступа к камере

Изображение предоставлено Apple

ARKit 6 дает разработчикам гораздо больший контроль над камерой устройства, когда она используется с приложением AR для отслеживания.

Разработчики теперь могут получать доступ к входящим кадрам в режиме реального времени с разрешением до 4K и частотой 30 кадров в секунду на iPhone 11 и новее, а также на новейшем iPad Pro (M1). Предыдущий режим, в котором используется более низкое разрешение, но более высокая частота кадров (60 кадров в секунду), по-прежнему доступен для разработчиков. Липски говорит, что разработчики должны тщательно продумать, какой режим использовать. Режим 4K может быть лучше для приложений, ориентированных на предварительный просмотр или запись видео (например, приложение для виртуального производства), но режим с более низким разрешением 60 кадров в секунду может быть лучше для приложений, которые выигрывают от отклика, таких как игры.

Подобно более высокому разрешению видео в приложении дополненной реальности, разработчики теперь могут делать фотографии с полным разрешением, даже когда приложение дополненной реальности активно использует камеру. Это означает, что они могут извлечь 12-мегапиксельное изображение (по крайней мере, на iPhone 13) для сохранения или использования в другом месте. Это может быть полезно для приложения дополненной реальности, в котором съемка фотографий является частью опыта. Например, говорит Липски, приложение, в котором пользователи получают инструкции по фотографированию объекта, чтобы позже преобразовать его в 3D-модель с помощью фотограмметрии.

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

Подробнее Location Anchor… Locations

Изображение предоставлено Apple

ARKit включает в себя LocationAnchors, которые могут обеспечивать отслеживание на уровне улиц для AR в некоторых городах (например, для создания пошаговых указаний в дополненной реальности). Apple расширяет эту функциональность в других городах, включая Ванкувер, Торонто и Монреаль в Канаде; Фукуока, Хиросима, Осака, Киото, Нагоя, Иокогама и Токио в Японии; и Сингапур.

Позднее в этом году функция будет расширена до Окленда, Новая Зеландия; Тель-Авив-Яффо, Израиль; и Париж, Франция.

Plane Anchors

Plane Anchors — это инструмент для отслеживания плоских объектов, таких как столы, полы и стены, во время сеанса дополненной реальности. До ARKit 6 происхождение Plane Anchor обновлялось по мере обнаружения большей части плоскости (например, перемещение устройства для открытия большей части стола, чем камера видела ранее).

scroll to top