Меню

Как использовать arkit: Как работает инструмент Apple ARKit, дополненная реальность в айфоне или айпаде

Содержание

Как работает инструмент Apple ARKit, дополненная реальность в айфоне или айпаде

Своё название инструмент Apple ARKit получил в соответствии с главной функцией — предоставить набор инструментов (Kit) разработчикам приложений, чтобы те могли задействовать дополненную реальность (AR). Технология Apple ARKit включена в iOS 11 — версию операционной системы для айфонов и айпадов, которая увидела свет в 2017 году.

Что такое ARKit? Главный успех

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

В отличие от прежних версий операционной системы, дополненная реальность в iOS 11 стала полноценным инструментом, доступным каждому разработчику. Так же как в 2008 году App Store унифицировал использование сенсорного дисплея, ARKit в 2017 году вывел на единый уровень возможности, связанные с дополненной реальностью.

Теперь разработчикам не нужно тратить уйму времени и сил, чтобы самостоятельно «учить» устройство на iOS анализировать окружающий мир и создавать AR в оперативной памяти.

Как создаётся дополненная реальность в iPhone и iPad

Вне зависимости от того планируется использовать созданное приложение для развлечения или для практических задач, инструментальные средства используются одни и те же:

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

Оснащённые набором инструментов AR iPhone и iPad теперь «умеют» самостоятельно обнаруживать горизонтальные и вертикальные поверхности, определять источники света и тени, различать голоса и лица и многое другое. Процессоры семейства A9 и более поздние модели в полной мере справятся с тем, чтобы задействовать поступающую информацию и создавать дополненную реальность.

Потенциал применения ARKit в приложениях и играх

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

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

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

Как использовать ARKit, или первые примеры дополненной реальности в iOS 11

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

Первым номером идёт приземление небезызвестной ракеты Falcon 9. Думаете, Илон Маск докатился до размещения своих  площадок на территории частных домов, пусть и с бассейном? 🙂 Конечно же, нет. Всё это iPhone и ARKit. Правда, этому видео не хватает свежей функции переворачивания, которая недавно появилась в мобильной версии YouTube.

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

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

В Советском Союзе мы могли бы услышать слоган в духе «ARKit строить и жить помогает», и он бы не обманул, поскольку дополненная реальность позволяет на голом участке земли разместить всё что вашей душе угодно, и дома — живое тому подтверждение: смоделируйте внешние стены, выберите пол, потолок, закиньте крышу, расставьте мебель и многое другое. Теперь, вместо того чтобы сказать: «Шкаф сюда бы вписался» — просто достаньте iPhone.

Другие интересные видео выкладываем ниже:

«Приземление на луну»

«Minecraft»

«Аэроплан FK23»

«Морской бой»

«Парковка»

ARKit + Unity + Overwatch

«Сварка гаражной двери»

«Робот BB-8»

ARKit: 7 примеров использования дополненной реальности в iOS 11 на iPhone

С выходом iOS 11, ARKit – инструмент для разработки дополненной реальности, заработает на миллионах iPhone и iPad, уже находящихся на руках у пользователей, и которые являются готовой платформой для размещения приложений, созданных с её помощью.

ARKit от Apple станет основным фреймворком, с помощью которого разработчики будут создавать приложения новой категории – приложения дополненной реальности (AR-приложения). В некотором роде, появление этого инструмента можно сравнить с запуском App Store.  В случае с App Store, это было появление приложений для работы на сенсорном экране, в случае с ARKit, это станут приложения для работы с дополненной реальностью.

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

Что такое ARKit?

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

 Apple также берет на себя все вычисления, связанные с прорисовкой теней и всех передвижений при перемещении камеры.

Таким образом, для каждого разработчика AR-приложений отпадает необходимость каждый раз изобретать велосипед, можно просто воспользоваться готовым фреймворком и написать своё приложение поверх него. Также как и в случае с App Store, инструментарий ARKit позволяет разработчикам сосредоточиться на творчестве, на создании новых областей применения этой технологии.

Приложения, созданные с помощью ARKit iOS будут запускаться на устройствах, оснащённых процессорами семейства A9 и A10. В список поддерживаемых устройств относятся следующие модели устройств: iPhone 6s, iPhone 6s Plus, iPhone SE, iPhone 7, iPhone 7 Plus, 9.7 iPad (2017), 9.7 iPad Pro, 10.5 iPad Pro и 12.9 iPad Pro.

А теперь, давайте перейдём к рассмотрению уже созданных демонстрационных приложений.

1. Вид с высоты птичьего полёта в Apple Maps

So. . Apple put an awesome VR mode in Apple Maps (powered by ARKit) and didn’t even talk about it in the Keynote ? Wow pic.twitter.com/2ZBBXj4NYM

— Felix Lapalme (@lap_felix) June 27, 2017

Итак: Apple добавила режим VR /Виртуальной реальности/ в своём приложении Apple Maps (созданный с помощью ARKit) и не упомянула об этом во время основной презентации?

В iOS 11, приложение «Карты» обзавелось новым режимом «Вид с высоты птичьего полёта». Работает для карт ограниченного количества городов, но позволяет полетать над ними с помощью технологии виртуальной реальности при включении данного режима в «Картах».

2. Приложения для измерений

Мы уже наблюдаем наплыв демонстрационных AR приложений для измерения пространства, что в полнее естественно.

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

3. Рисование в 3D

Так как инструментарий ARKit делает пространственные разметки в трёхмерном измерении, то теперь также появилась возможность создавать рисунки в 3D.  При перемещении камеры, ваш «рисунок 3D» будет располагаться соответствующим образом.

4. Приземление «Falcon9»

Почему бы не посмотреть как будет приземлятся первая ступень ракеты «Falcon 9» на поверхность вашего бассейна?

5. Несметное количество игр

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

Fidget spinner in ARKit pic.twitter.com/zCbvr8HOmX

— Shane ⚡️ Vitarana (@shanev) June 9, 2017

Кто-то пошёл дальше: создали виртуальный спинер с помощью ARKit.

Виртуальный спинер в ARKit

Другой разработчик, используя ARKit, превратил парковку в настоящую видеоигру:

6. Интерактивные виды искусств и перформансы

Инструментарий ARKit будет способствовать дальнейшему развитию всякого рода перформансов и других видов интерактивного искусства. И самое лучшее в этом – отсутствие занятого физического пространства и отсутствие необходимости личного присутствия где бы то ни было. Действия волшебства будут разворачиваться прямо по середине вашей гостинной комнаты.

7. Самые крутые ARKit демо

Ниже даём ссылки на самые крутые демо-приложения, созданные пользователем Твиттера под ником «Mad With ARKit». Его разработка, под названием «межпространственный портал» служит доказательством того, как разработчики могут использовать инструментарий и различные виды фреймворков в iOS 11 для создания у пользователей iPhone и iPad опыта «погружённости в ситуацию».

Бонус: Новые примеры использования ARKit

ARKit Модель Тесла 3 

Модель «Тесла 3» от поклонника, который ни как не может дождаться получения этой новой модели и с помощью фреймворка ARKit создал виртуальную модель в своём реальном пространстве, и на которой можно включать головные фары и многое другое.

Подробнее

Заказ еды с помощью ARKit

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

Баскетбол у вас на рабочем столе

Небольшой эксперимент с размещением виртуальных объектов в реальном пространстве с использованием ARKit.

hint pic.twitter.com/WOuqVer1Ph

— Made With ARKit (@madewithARKit) June 27, 2017

Клип A-Ha  – Take On Me с применением ARKit

Разработчики создали довольно неплохой клип на Take On Me и сделали это с помощью новой технологии Apple ARKit. Результат превзошёл все ожидания и стал одним из лучших демонстраций возможностей ARKit. Само видео длится меньше двух минут, но им наслаждаешься с первой до последней секунды:

Apple Maps с применением ARKit

Разработчик Эндрю Харт сделал демо-версию приложения, показывающего будущее навигации с ARKit и CoreLocation на iOS 11. Дополненная реальность будет добавлять стрелки и синюю линию прямо в реальный мир, делая путь, по которому надо идти, ясным и очевидным.

ARKit + CoreLocation, part 2 pic.twitter.com/AyQiFyzlj3

— Andrew Hart (@AndrewProjDent) July 21, 2017

Сцена из фильма Звонок с использованием ARKit

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

I reenacted a famous scene from ‘The Ring’ to bring #horror movies to life in AR#madewithunity #ARKit pic.twitter.com/fRU2ul56ki

— Abhishek (@shekitup) February 21, 2018

Подробнее

Смотрите также подборку лучших iOS-приложений с поддержкой ARKit и лучшие игры с ARKit для iOS.

Какие виды AR-приложений ожидаете вы? В чем заключается ваша идея в создании лучшего AR-приложения? Ждём ваши комментарии.

Оцените пост

[всего: 0 рейтинг: 0]

Смотрите похожее

ARKit iOS 11

ARKit: обновление iOS дополнит нашу реальность

ARKit становится основным инструментом для создания приложений дополненной реальности (augmented reality — AR). Использование готового фреймворка облегчит труд разработчиков программ. Пока ARKit ещё находится на стадии разработки, но уже можно увидеть некоторые примеры использования.

Новые миры

Многие воспринимают AR как портал в другие миры. И разработчики уже демонстрируют примеры таких путешествий. Если ещё не видели, посмотрите, как выглядит «окно» в клип на хит Take On Me группы A-ha.

Или «портал» в Древний Египет:

Виртуальные питомцы

Вы сможете «отсканировать» своё домашнее животное и поместить его в дополненную реальность, чтобы не скучать в разлуке или создать нового виртуального друга.

Dogs aren’t allowed in the building, so I scanned Aeon and added her to the ARKit demo instead. pic.twitter.com/TVy7mVsIHJ

— Sam Williams (@stimply) 26 июля 2017 г.

My #wwdc lab was quiet, so I modified the ARKit sample code to place dogs randomly throughout the building pic.twitter.com/2arBY4F1Vj

— Nick Shearer (@nickjshearer) 8 июня 2017 г.

Карты

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

Изменение реальности

Практически магия: в дополненной реальности можно заставлять предметы исчезать, копировать их, перемещать. Или просто взять и закрасить всё, что вам не нравится.

Doodling with the new #ARKit @Apple @madewithunity #madewithunity #ar #socool
##iOS11 smashes it out of the park! pic.twitter.com/4K0N2wch5q

— Brandon Sidebottom (@Brannydonowt) 8 июня 2017 г.

Игры

Дополненная реальность становится местом для всевозможных игр.

The Machines running on #ARKit powered by #UE4! https://t.co/xC4hum7dhk @EpicGames @UnrealEngine #ar #AugmentedReality @Apple pic.twitter.com/5rOpUIlDuA

— Directive Games (@DirectiveGames) 21 июля 2017 г.

Ремонт

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

Или чтобы примерить расстановку новой мебели.

Been playing around with #ARKit lately and I’m really impressed with it! I built a little tool for laying out rooms 🛋 pic.twitter.com/oughpP2Oxk

— Asher Vollmer (@AsherVo) 21 июля 2017 г.

Работа

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

Bar charts are so boring!!! #ARKit @thevrara #ios #iosdev #wwdc pic.twitter.com/jpG4VLGZ8n

— azamsharp (@azamsharp) 8 июня 2017 г.

Пока эти AR-приложения недоступны для массовой загрузки. Но некоторые примеры использования дополненной реальности уже можно попробовать.

Тестируем возможности ARKit. Создаем игру с дополненной реальностью

На WWDC 2017 Apple анонсировала ARKit — SDK для работы с дополненной реальностью. Благодаря ему порог вхождения в эту технологию стал значительно ниже. Можно ожидать появления большого количества качественных игр и приложений.

Если вы смотрели Keynote, то, вероятно, вы уже в восторге от увиденного. Игровой мир, который инженеры Apple смогли развернуть на обычном столе при помощи ARKit, не может оставить равнодушными даже самых искушенных геймеров. Это был не просто прототип, а хорошо работающая технология, над которой действительно потрудились. В этом легко убедиться, запустив несколько демо или попробовав самим привнести что-либо виртуальное в наш мир.

Вынужден расстроить счастливых обладателей iPhone 6 и ниже. На данных девайсах все эти прелести жизни будут недоступны. Для использования всех ключевых функций ARKit необходим процессор А9 и выше. Apple, конечно, даст урезанный доступ к функциональности, но это уже совсем не то.


Дополненная реальность

Дополненная реальность (augmented reality, AR) — это виртуальная среда, которая накладывается на реальный мир для придания ему большей выразительности, информативности или просто ради развлечения. Термин, предположительно, был предложен исследователем компании Boeing Томасом Коделлом еще в 1990 году. Уже тогда начали появляться первые примеры устройств с применением данной технологии. Впервые дополненная реальность была реализована на электронных шлемах летчиков для вывода информации о полете и радаре.

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

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


  • Игровая индустрия;
  • Архитектура;
  • Киноиндустрия.

Возможности ARKit

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

Основой задачей ARKit является слежение за окружающим миром (World Tracking) для создания виртуальной модели реального мира. Фреймворк распознает особенности видеокадров, отслеживает изменения их положения и сравнивает эту информацию с данными от датчиков движения. Результатом является виртуальная модель реального мира. Отдельная возможность — распознавание плоских горизонтальных поверхностей. ARKit находит плоскости и сообщает об их расположении и размерах.

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

Основой ARKit являются ARSCNView и ARSKView. Они служат для отображения live видео и рендеринга 3D и 2D изображений. Как все уже догадались, это наследники от SCNView и SKView. Следовательно, ARKit не привносит каких-то невероятных особенностей в отображении данных. Это все те же движки для работы с 2D и 3D графикой, с которыми уже все знакомы. Поэтому порог вхождения в данную технологию будет достаточно низким. Apple знаменита любовью к своим технологиям и продуктам, но несмотря на это разработчики ARKit сделали поддержку Unity и Unreal Engine. Это положительно скажется на количестве качественных приложений, которые появятся в ближайшее время.

ARSCNView и ARSKView содержат в себе сердце ARKit — ARSession. Именно этот класс содержит в себе все необходимое для работы с дополненной реальностью. Для запуска ARSession необходимо передать конфигурацию работы сессии.

Тип конфигурации определяет стиль и качество работы AR, которое может быть достигнуто:


  • На девайсах с процессором A9 и новее можно использовать ARWorldTrackingSessionConfiguration. Именно эта конфигурация дает возможность воспользоваться всей мощью нового фреймворка. Для вас будет создана модель окружающего мира в виртуальной реальности и предоставлена информация о плоскостях в поле видимости камеры. Это поможет расположить виртуальные объекты с максимальной точностью.
  • На остальных девайсах, поддерживающих ARKit, будет доступна лишь ARSessionConfiguration. Базовый класс предоставляет только информацию о движении устройства в пространстве, но не строит виртуальных моделей. Это не даст необходимого эффекта и не позволит насладиться всем качеством новой технологии. Вам будет недоступна возможность фиксации виртуальных объектов относительно объектов реального мира.

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

override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)

        // Create a session configuration
        let configuration = ARWorldTrackingSessionConfiguration()

        // Run the view's session
        sceneView.session.run(configuration)
}

Важно помнить, что ARKit потребляет довольно много энергии для расчетов. Если View с контентом не отображается в данный момент на экране, то имеет смысл приостановить сессию на это время, используя session.pause().

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

Способ получения информации об окружающей среде зависит от того, какой вид отображения данных вы будете использовать ARSCNView, ARSKView или Metal. Единицей информации, которую предоставляет ARKit, является ARAnchor. Если у вас включено распознавание поверхностей, то вы столкнетесь с сабклассом ARPlaneAnchor. Он содержит в себе информацию о найденных плоскостях. Благодаря данным якорям есть возможность ориентироваться в пространстве. В случае использования Metal вам придется вручную заниматься рендерингом. Тогда можете подписаться на обновления, используя делегат ARSessionDelegate у класса ARSession, и получать якоря от сессии. Если используете один из Apple движков для рендеринга объектов, тогда есть возможность воспользоваться более удобными делегатами ARSCNViewDelegate или ARSKViewDelegate.

На первый взгляд все довольно просто. Почти всю сложную работу делает ARSession. Давайте попробуем сделать тестовое приложение.


Тестируем возможности ARKit

Дополненная реальность сейчас у всех ассоциируется с игрой Pokémon GO, которая взорвала рынок игровой индустрии. Попробуем сделать нечто похожее.

Для создания тестового приложения мы воспользуемся ARSCNView для создания и рендеринга 3D моделей. Наша игра будет состоять из 2 этапов. Сначала мы будем расставлять мишени по комнате, а после пытаться как можно быстрее попасть по ним всем. Игра довольна примитивна, но продемонстрирует простоту создания игр с дополненной реальностью.

Начнем с того, что растянем на весь ViewController ARSCNView и создадим IBOutlet. Далее будем работать с ней, как с обычной SCNView. Произведем первоначальную настройку. Сделаем контроллер делегатом контактов физического мира и выведем статистику. Настроим запуск и паузу сессии при появлении и скрытии контроллера.

override func viewDidLoad() {
        super.viewDidLoad()

        sceneView.scene.physicsWorld.contactDelegate = self

        // Show statistics such as fps and timing information
        sceneView.showsStatistics = true
}

override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)

        // Create a session configuration
        let configuration = ARSessionConfiguration.isSupported ? 
ARWorldTrackingSessionConfiguration() : ARSessionConfiguration()

        // Run the view's session
        sceneView.session.run(configuration)
}

override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)

        // Pause the view's session
        sceneView.session.pause()
}

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

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

Мы не будем здесь описывать обработку нажатий или подсчет очков. Это не так важно, и вы можете это увидеть сами в ДЕМО, представленном в конце статьи.

Наша игра содержит две модели объектов: шарик, которым мы будем стрелять, и летающие логотипы Touch Instinct. Для добавления этих моделей на экран, необходимо создать их, используя SCNNode.

Что понадобится, чтобы создать физический объект:


  • задать фигуру определенного размера;
  • создать фигуру с физическими свойствами для контролирования контактов с другими объектам;
  • создать физическое тело для описания поведения объекта при соприкосновении;
  • задать текстуры.

Пример реализации классов патрона в виде шара и логотипа в виде куба с нужными текстурами.

class ARBullet: SCNNode {

    override init() {
        super.init()

        let arKitBox = SCNSphere(radius: 0.025)
        self.geometry = arKitBox
        let shape = SCNPhysicsShape(geometry: arKitBox, options: nil)
        self.physicsBody = SCNPhysicsBody(type: .dynamic, shape: shape)
        self.physicsBody?.isAffectedByGravity = false

        self.physicsBody?.categoryBitMask = CollisionCategory.arBullets.rawValue
        self.physicsBody?.contactTestBitMask = CollisionCategory.logos.rawValue

        // add texture
        let material = SCNMaterial()
        material.diffuse.contents = UIImage(named: "art.scnassets/ARKit_logo.png")
        self.geometry?.materials  = [material]
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

}
class Logo: SCNNode {

    override init() {
        super.init()

        let logo = SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0)
        self.geometry = logo
        let shape = SCNPhysicsShape(geometry: logo, options: nil)

        self.physicsBody = SCNPhysicsBody(type: .dynamic, shape: shape)
        self.physicsBody?.isAffectedByGravity = false

        self.physicsBody?.categoryBitMask = CollisionCategory.logos.rawValue
        self.physicsBody?.contactTestBitMask = CollisionCategory.arBullets.rawValue

        // add texture
        let material = SCNMaterial()
        material.diffuse.contents = UIImage(named: "art.scnassets/logo-mobile.png")
        self.geometry?.materials  = Array(repeating: material, count: 6)
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

}

Хочется обратить внимание на CollisionCategory. Это структура используется для определения типа объекта при контакте.

struct CollisionCategory: OptionSet {
    let rawValue: Int

    static let arBullets  = CollisionCategory(rawValue: 1 << 0)
    static let logos = CollisionCategory(rawValue: 1 << 1)
}

Это стандартная тактика для определения контакта. Свойство categoryBitMask задает маску конкретного объекта, а contactTestBitMask настраивает все контакты, которые нам будут интересны и о которых мы хотим получать уведомления.

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

extension ViewController: SCNPhysicsContactDelegate {

    func physicsWorld(_ world: SCNPhysicsWorld, didBegin contact: SCNPhysicsContact) {
        guard let nodeABitMask = contact.nodeA.physicsBody?.categoryBitMask,
            let nodeBBitMask = contact.nodeB.physicsBody?.categoryBitMask,
            nodeABitMask & nodeBBitMask == CollisionCategory.logos.rawValue & CollisionCategory.arBullets.rawValue else {
                    return
        }

        contact.nodeB.removeFromParentNode()
        logoCount -= 1

        if logoCount == 0 {
            DispatchQueue.main.async {
                self.stopGame()
            }
        }

        DispatchQueue.main.asyncAfter(deadline: .now() + 0.5, execute: {
            contact.nodeA.removeFromParentNode()
        })
    }

}

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

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

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

private func addLogo() {
        guard let currentFrame = sceneView.session.currentFrame else {
            return
        }

        let logo = Logo()
        sceneView.scene.rootNode.addChildNode(logo)

        var translation = matrix_identity_float4x4
        translation.columns.3.z = -1
        logo.simdTransform = matrix_multiply(currentFrame.camera.transform, translation)

        logoCount += 1
        if logoCount == ViewController.logoMaxCount {
            startGame()
        }
}

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

private func shoot() {
        let arBullet = ARBullet()

        let (direction, position) = cameraVector
        arBullet.position = position
        arBullet.physicsBody?.applyForce(direction, asImpulse: true)
        sceneView.scene.rootNode.addChildNode(arBullet)
}

Вот так всего за пару десятков строк мы создали простую игру.


Будущее наступит в сентябре

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

Скачивайте новый Xcode 9, и создавайте приложения, которые добавят в наш мир виртуальной магии. Будущее уже здесь. Ну или будет здесь ближе к сентябрю, после очередной презентации Apple.


Демо проект

Скачивайте в репозитории Touch Instinct


как использовать приложение ARKit Measure на iPhone

Сторонние разработчики предложили новые приложения для измерения реальных пространств и объектов с iPhone, когда iOS 11 и ARKit появились в прошлом году. В этом году Apple представит эту функциональность в собственном приложении для iOS 12 под названием Measure. Следуйте за практическим взглядом на то, как это работает.

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

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

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

Как использовать приложение ARKit Measure на iPhone в iOS 12

  1. Открой Измерить приложение
  2. Следуйте инструкциям на экране, чтобы переместить телефон, чтобы начать
  3. Как только вы увидите белый кружок с белой точкой внутри, переместите его туда, где вы хотите начать измерения и нажмите знак +
  4. Теперь переместите ваш iPhone в направлении, где вы хотите закончить измерения, вы увидите, что значение измерения отображается при перемещении вашего iPhone / белая точка
  5. Нажмите знак + еще раз, чтобы завершить измерение линии

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

Хотя это может быть не самое быстрое измерение во всех случаях, оно очень удобно для случаев, когда у вас нет рулетки или для труднодоступных мест.

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

Хотя я использовал приложение в книжной ориентации, оно работает и в альбомной. В iOS 12 вы также заметите, что Apple переместила функцию уровня из приложения Compass в приложение Measure.

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

  • iOS 12: как создать Memoji на iPhone X
  • watchOS 5: Как начать соревнование по активности
  • HomePod: Как создать стереопару
  • iPhone iPad: как включить сообщения в iCloud
  • iPhone iPad: как включить мобильное радио

9 лучших бесплатных игр и приложений ARKit для iPhone

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

Перенесемся в июнь 2017 года, когда Apple анонсировала ARKit на WWDC. Этот инструментарий позволяет разработчикам легче, чем когда-либо, внедрять AR в свои приложения, а закулисная работа Apple помогла стабилизировать отслеживание и значительно повысить производительность.

AR больше не трюк, а мощный инструмент, который выглядит и чувствует себя реальным. Вот наши любимые примеры, доступные в настоящее время в App Store.

Что такое ARKit?

ARKit — это API дополненной реальности Apple

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

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

Пользователям iOS особенно повезло, поскольку широкая реализация Apple ARKit включает несколько поколений устройств. Они объединены последней версией iOS. Google добавил похожий API под названием ARCore для Android, но пока еще не многие устройства поддерживают его. Это означает, что многие разработчики AR ориентируются в первую очередь на iOS.

Если у вас есть iPhone или iPad, способный использовать ARKit, почему бы не попробовать его?

Устройства, которые поддерживают ARKit

В настоящее время вы можете использовать приложения ARKit на любом устройстве iOS с процессором A9 или выше. Это означает, что вам нужен iPhone 6s / 6s Plus, iPhone SE или новее. Чем новее ваше устройство, тем выше производительность, которую вы можете ожидать.

Наилучший текущий опыт ARKit приходит через iPhone X и его камеру TrueDepth. Флагман Apple способен определять положение лица, топологию и выражения. Animoji от Apple демонстрирует, насколько забавной может быть камера TrueDepth, хотя не все приложения оптимизированы для iPhone X.

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

Лучшие бесплатные приложения и игры ARKit

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

1. Покемон GO

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

Но теперь, когда Pokémon GO включает поддержку ARKit (режим AR +, как называет его Niantic), возможно, стоит дать этой функции еще один взлом. Обновленный в декабре 2017 года, Pokémon GO теперь отличается более плавным и лучше интегрированным AR-геймплеем. Если вам это не нравится, вы всегда можете выключить его и сэкономить заряд батареи.

Покемоны — это уже не простые 2D-оверлеи, а 3D-модели, которые вы можете перемещать или приближать. Вы даже можете получить значок «Эксперт-обработчик», если тщательно подкрадываетесь к Покемону и захватываете его.

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

,

Скачать: Покемон GO

2. Тени остаются: AR триллер

От Halfbrick Studios, разработчика таких хитов, как Fruit Ninja и Jetpack Joyride, появился новый вид AR-опыта. Описывая себя как паранормальное приключение-головоломка, Shadows Remain предлагает вам расследовать таинственные события матери, пытающейся спасти своего сына от злых сил.

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

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

Скачать: Тени остаются: AR триллер

3. Ghosts ‘n Guns AR

Когда игры AR впервые появились, многие приняли форму простых шутеров, таких как Ghosts Gun n Guns AR. Враги появляются в вашем местном окружении, и вы должны использовать свой iPhone, чтобы стрелять в них.

Ваша оценка зависит от вашей производительности, поскольку битвы с боссами действительно проверяют ваши способности. В то время как большинство старых AR шутеров чувствовали себя как плавные технологические демонстрации, Ghosts ‘n Guns AR чувствует себя более зрелым Это отличное место для начала, если вы раньше не играли в AR-шутер, так как управление одним касанием облегчает задачу.

Игра поддерживается рекламой, которую вы можете удалить с помощью дополнительного премиум-обновления.

Скачать: Ghosts ‘n Guns AR

4. AR Runner

AR Runner может быть игровым или фитнес-приложением, в зависимости от того, как вы на него смотрите. Цель проста: использовать AR, чтобы пройти через контрольные точки на вашем устройстве, конкурировать с игроками по всему миру и улучшить свои лучшие времена.

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

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

Скачать: AR Runner

5. ИКЕА Плейс

Всегда хотел попробовать предмет мебели в своей комнате, прежде чем купить его? Теперь вы можете с IKEA Place. В приложении представлены сотни шведских предметов мебели и декораций, которые вы можете разместить в непосредственной близости, чтобы посмотреть, как они выглядят.

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

,

Приложение постоянно добавляет новые продукты, и независимо от того, приобретаете ли вы товар в ИКЕА или нет, приятно примерить мебель по размеру. Если бы только IKEA работала над приложением AR, чтобы упростить процесс сборки плоских пакетов!

Скачать: ИКЕА Плейс

6. Войдите в комнату

«Вход в зал», созданный Международным комитетом Красного Креста, является острым взглядом на жестокую реальность войны и ее влияние на гражданское население. На самом деле это не игра, а скорее интерактивный опыт, который оживляет историю прямо перед вами.

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

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

Скачать: Войди в комнату

7. Цивилизации АР

Прогуляйтесь и испытайте древнюю египетскую мумию, знаменитые произведения искусства Беллини и Тернера, римские каски и Розеттский камень, среди других. Артефакты очень детализированы, и вы можете перемещать их, увеличивать их и видеть их реальные размеры одним нажатием кнопки.

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

,

Скачать: Цивилизации АР

8. TapMeasure

ARKit удивительно точен, но работает ли он как виртуальная рулетка? Это именно то, что TapMeasure пытается сделать. Приложение представляет собой виртуальную рулетку, 3D-конструктор помещений и уровень духа — все в одном.

Я проверил рулетку, измерив линейку 15 см (чуть менее 6 дюймов), и приложение правильно оценило длину. Хотя отслеживание было немного отключено, приложение, кажется, работает довольно хорошо в этом качестве. Строитель комнаты тоже был довольно хорош, хотя он лучше работает в пустых комнатах, так как угадать, где пересекаются ваши углы и полы, непросто.

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

Скачать: TapMeasure

9. LEGO AR Studio

Студия LEGO AR, предназначенная для детей и для души, позволяет вам играть с некоторыми из лучших наборов LEGO в дополненной реальности. Выбор ограничен, но реализация на удивление хорошая. Это позволяет вам управлять виртуальными пиратскими кораблями, мехами и поездом. Вы можете исследовать модели, близко познакомившись с вашим устройством.

LEGO AR Studio, вероятно, лучше всего сочетается с несколькими реальными наборами LEGO

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

LEGO может расширить концепцию AR с помощью интерактивных руководств по сборке, как и IKEA.

Скачать: LEGO AR Studio [больше не доступен]

Дополненная реальность не умерла

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

!

Учебное пособие из 13 шагов по настройке Apple ARKit для начала разработки мобильных приложений AR

Разработка AR и VR может быть сложной задачей, но не обязательно переводить устройство в режим разработчика. Если ваша цель — начать разработку дополненной реальности для устройств iOS, вам стоит прочитать наше руководство по настройке для разработчиков.

Но сначала, что такое ARKit?

ARKit — это платформа SDK для разработки приложений AR в трехмерных игровых движках, таких как Unreal или Unity.Поскольку SDK является продуктом Apple, ARKit — это среда, которую вы собираетесь использовать для разработки на устройствах iOS, таких как iPhone и iPad.

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

Фреймворк можно использовать бесплатно. В этом руководстве мы включим ARKit для Unity.

Если у вас есть устройство Android, следуйте руководству по ARCore. Чтобы узнать больше о AR SDK, включая Vuforia и AR Foundation, ознакомьтесь с Ultimate AR Comparison Guide.

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

В этом посте мы сначала немного поговорим об ARKit, а затем Усман поделится 13-шаговым видео-руководством по настройке для разработки Unity.

И, для вас, технари, у нас есть все технические шаги внизу сообщения.

Давайте начнем и настроим конфигурацию Apple ARKit Unity!

Перейти к техническим этапам

Учебное пособие по ARKit

Итак, нам нужно решить несколько вещей, прежде чем мы погрузимся в это руководство. Во-первых: что такое ARKit? И второе: зачем вам тоже нужно использовать Unity? Что ж, на самом деле это довольно просто.

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

ARKit позволяет фактически создавать возможности дополненной реальности для поддерживаемых устройств Apple. Пока что совместимость ограничена новейшими моделями iPhone и iPad: iPhone 6s, 6s Plus, iPhone 7, 7 Plus, iPhone 8, 8 Plus, iPhone X, iPad (2017) и iPad Pro.Но это еще масса устройств. Благодаря огромному рынку Apple, ARKit является крупнейшей платформой AR в мире. Разработчики стекаются в ARKit, чтобы воспользоваться преимуществами огромной базы пользователей Apple, включая сотни миллионов людей, которые регулярно используют iOS 11. Это ваша возможность выйти на рынок дополненной реальности и воплотить в жизнь свою потрясающую идею. Но для того, чтобы действительно использовать ARKit для сборки, вам необходимо связать его с программным обеспечением для разработки, таким как SceneKit , Swift или Unity .

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

Загрузите нашу 10-недельную программу разработки AR с помощью Unity Course Syllabus

Прежде чем мы погрузимся в Unity…

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

Шаг 1 : Если у вас его еще нет, вам нужно создать Apple ID. Вы можете сделать это здесь .

Шаг 2 : Теперь вам нужно получить инструмент разработчика Apple Xcode, который позволяет ARKit выполнять свою работу. Вам нужна версия 9 или выше. Загрузите его из Mac App Store. , если он еще не установлен на вашем компьютере.

Шаг 3 : Запустите установщик Unity, по очевидным причинам убедившись, что в параметрах установки выбрано «iOS Build Support».

Шаг 4 : Откройте устройство Apple (телефон или iPad) и включите режим разработчика. Проблемы с этим? На этом этапе вам также необходимо убедиться, что на вашем устройстве установлено последнее обновление iOS 11 или выше.

Давайте приступим к этому проекту!

Шаг 5 : Откройте Unity. Наконец-то мы здесь.Создайте новый проект и перейдите в магазин ресурсов, где вы найдете подключаемый модуль Unity ARKit. Выберите его, затем загрузите и импортируйте в свой проект.

Шаг 6 : Перейдите в меню «Правка» и выберите «Настройки проекта»> «Редактор»> «Устройство (инспектор)». Когда откроется окно, оставьте свои параметры открытыми, выбрав «Любое устройство iOS».

Настройки сборки Unity

Теперь мы собираемся настроить несколько параметров в наших настройках сборки. Вы можете найти параметры сборки в меню «Файл» вверху.

Шаг 8 : Первое изменение, которое мы хотим сделать, — это переключить платформу на iOS. Итак, шаг за шагом: Файл> Параметры сборки> выберите iOS. Отметьте также «Development Build» в этом окне и отметьте «ARKitScene» в разделе сцен параметров сборки.

Шаг 9 : Вернитесь в Файл> Настройки сборки, потому что мы собираемся изменить некоторые настройки в нашем инспекторе проигрывателя. Поэтому нажмите «Настройки проигрывателя», затем «Другие настройки (инспектор)». Здесь вам нужно будет ввести уникальный «Идентификатор пакета.Убедитесь, что вы соответствуете названию вашей компании и продукта. Дважды убедитесь, что описание использования камеры не пустое, затем установите для целевой минимальной версии iOS значение 11.0.

Шаг 10 : Вернитесь в настройки сборки и нажмите «Сборка и запуск». Не паникуйте! Xcode запустится с ошибкой сборки. Это именно то, что мы хотим.

В Xcode

Шаг 11 : В верхнем левом углу нажмите Buildtime, затем выберите папку Unity-iPhone и найдите раздел «подписывание» в средней панели.Нажмите «Команда», чтобы открыть раскрывающееся меню, и выберите свою учетную запись разработчика Apple. Если у вас нет такой возможности, добавьте ее.

Шаг 12 : Под этим разделом в разделе «Развертывание» выберите свое устройство Apple (iPhone или iPad). Перейдите в меню «Продукт» и нажмите «Создать». После завершения сборки вернитесь в меню «Продукт» и нажмите «Выполнить».

На вашем iPhone или iPad

Шаг 13 : Ваше приложение, вероятно, не развернется сразу. Это хорошо! Зайдите в меню настроек вашего устройства, затем выберите «Общие»> «Профили»> «Управление устройством»> «Разработка».Оказавшись там, выберите вариант «доверять своему компьютеру / приложению». Вуаля!


Технические шаги

Предварительные требования:

  1. Создайте Apple ID, перейдите на сайт developer.apple.com и зарегистрируйте свою учетную запись в качестве разработчика.
  2. Загрузите последнюю версию Xcode (версия 9.0 или выше).
  3. Убедитесь, что при установке Unity3D включена поддержка сборки iOS. В противном случае запустите установщик еще раз и отметьте только «Поддержка сборки iOS», затем «Установить».
  4. Включите режим разработчика на своем устройстве Apple и убедитесь, что оно обновлено до программного обеспечения iOS 11 или более поздней версии.
    1. Откройте приложение «Настройки» на мобильном устройстве.
    2. Запустите Xcode на компьютере и подключите устройство. Затем вы должны увидеть значок молотка с надписью Разработчик в приложении настроек. Коснитесь значка молотка, и на вашем устройстве будет включен режим разработчика.

Редактор Unity:

  1. Создайте новый проект и перейдите в хранилище ресурсов в Unity. Загрузите и импортируйте «Плагин Unity ARKit».
  2. Перейдите в меню «Правка»> «Настройки проекта»> «Редактор»> «Устройство (инспектор)» и выберите «Любое устройство iOS».
  3. Перейдите в раздел «Файл»> «Настройки сборки»>
    1. Выберите iOS для переключения платформы.
    2. Проверить сборку разработки
    3. Отметьте «ARKitScene» в сценах в разделе сборки
  4. Перейдите в Файл> Настройки сборки> Настройки проигрывателя> Другие настройки (Инспектор)>
    1. Введите уникальный «Идентификатор пакета», сопоставьте это с компанией и названием продукта
    2. Использование камеры Assure Описание не пустое
    3. Установите «Целевая минимальная версия iOS» на 11.0
  5. Перейдите в «Файл»> «Параметры сборки»> нажмите «Сборка и запуск»

Xcode:

  1. Xcode должен запуститься с ошибкой сборки
  2. Щелкните верхний левый раздел «время сборки», папку «Unity -iPhone…» и просмотрите раздел «подпись» в средней панели, щелкните раскрывающийся список «Команда», чтобы выбрать разработчика Apple учетная запись.Если нет, добавьте учетную запись. Внизу в разделе развертывания выберите свое устройство Apple iPhone / iPad.
  3. Перейдите в Продукт> Сборка. После завершения сборки перейдите в раздел Продукт> Выполнить

iPhone / iPad:

  1. Если ваше приложение не развернется сразу, перейдите в настройки устройства> Общие> Профили и управление устройствами> Разработать, а затем выберите «Доверять» своему computer / app ‘”

Хотите создать AR для Android?

Ищете руководство по разработке для Android с ARCore или инструкции по использованию Vuforia с Unity? Вот еще несколько руководств по настройке:

Как начать работу с платформой дополненной реальности ARKit от Apple

По мнению большинства, новый смартфон Apple, «iPhone 8», должен выйти в ближайшее время — в сентябре 2017 года.Но я с уверенностью могу сказать, что самый революционный релиз компании за год действительно состоялся этим летом на Всемирной конференции разработчиков Apple (WWDC) в Сан-Хосе, Калифорния.

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

Сегодня это обычно достигается с помощью приложений, которые используют камеру смартфона (или другого устройства), чтобы показать вам реальный мир перед вами, а затем накладывают на него виртуальные объекты. Например, некоторые из наиболее часто используемых функций AR прямо сейчас — это «линзы» или фильтры лица в Snapchat — эффекты, которые накладывают уши животных на вашу голову или странным образом искажают ваше лицо. Еще одно — Pokémon Go, игровое приложение, в котором карманные монстры выглядят так, будто они прыгают по вашему столу или по улице.Общим для этих приложений является то, что виртуальные объекты внутри них кажутся населяющими или изменяющими сцены реального мира, «увеличивая» нашу реальность.

Но эти приложения были специально созданы профессиональными разработчиками программного обеспечения. Что делает версию дополненной реальности Apple ARKit настолько захватывающей, так это то, что это , а не приложение — вместо этого — это бесплатный способ для любого создавать новые приложения AR , которые смогут работать на многих устройствах Apple iOS с последних нескольких годы. И доказательство в пудинге: ARKit от Apple был общедоступен только около двух месяцев, но уже независимые разработчики программного обеспечения создали невероятно привлекательные возможности для iPhone — все, от виртуальных порталов, в которые вы можете войти, до помещения виртуальных зомби в ваша гостиная и многое другое.Даже режиссер Властелин колец Питер Джексон получил удовольствие от короткометражного фильма ARKit.

G / O Media может получить комиссию

Я много лет интересовался дополненной реальностью, поэтому, когда Apple анонсировала ARKit, я был в восторге. Если вы чувствуете то же самое или просто хотите поэкспериментировать с этим самостоятельно, вот как вы можете начать.

Убедитесь, что у вас есть совместимое устройство iOS.

ARKit работает только на устройствах Apple iOS с процессором A9 (или новее).Согласно RedmondPie, это ограничивает его следующими устройствами:

  • iPhone 6s и 6s Plus
  • iPhone 7 и 7 Plus
  • iPhone SE
  • iPad Pro (9.7, 10.5 или 12.9)
  • iPad (2017)

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

Загрузите iOS 11 на свой iPhone или iPad

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

Если вы не хотите ждать, вы можете загрузить бета-версию iOS 11 и приступить к работе. Для этого вам необходимо зарегистрироваться в программе бета-тестирования программного обеспечения Apple.Это бесплатно, но для настройки требуется от 20 минут до пары часов. Идите сюда и следуйте инструкциям.

Убедитесь, что у вас совместимый компьютер Mac.

Вам также понадобится компьютер для программирования приложения ARKit. В частности, Mac с установленной бесплатной операционной системой mac OS Sierra 10.12.4 (или более новой версией). Это означает, что право на участие имеют следующие машины:

  • MacBook (конец 2009 г. или новее)
  • MacBook Pro (середина 2010 г. или новее)
  • MacBook Air (конец 2010 г. или новее)
  • Mac mini (середина 2010 г. или новее)
  • iMac (конец 2009 г. или новее)
  • Mac Pro (середина 2010 г. или новее)

Зарегистрируйте учетную запись разработчика Apple

Вы можете использовать бесплатную или платную учетную запись разработчика, чтобы начать работу с ARKit.Если у вас уже есть обычная потребительская учетная запись Apple, которую вы используете для покупки приложений и тому подобного на своем iPhone / iPad / Mac, вы можете обновить ее до бесплатной или платной учетной записи разработчика. Используя веб-браузер на компьютере Mac, перейдите на страницу входа в учетную запись разработчика Apple и выберите подходящий вариант.

Загрузите Xcode 9 (который содержит ARKit) для вашего Mac бесплатно с веб-сайта разработчика Apple

На вашем Mac войдите в свою учетную запись разработчика Apple, затем перейдите сюда и нажмите «Загрузить» в правом верхнем углу, чтобы получить Xcode 9, программа Apple для программирования (тавтология, да!).Предупреждение: вам потребуется не менее 4,9 ГБ свободного места на жестком диске, чтобы загрузить это, а затем сам Xcode займет 9,76 ГБ на жестком диске.

Запустите Xcode 9 и подключите устройство iOS к компьютеру с помощью кабеля

На Mac разархивируйте загруженный файл Xcode 9, дважды щелкнув его, затем перетащите приложение Xcode в папку «Приложения» и дважды щелкните его, чтобы запустить его. . Подключите устройство iOS с установленной iOS 11.

Создайте новый шаблон проекта приложения AR в Xcode

В Xcode на вашем Mac нажмите «Файл», «Создать» и выберите «Проект.Это должно поднять сетку вариантов. Щелкните «Приложение дополненной реальности».

Заполните информацию о вашем новом приложении AR в Xcode

Apple требует, чтобы вы заполнили следующую информацию для вашего нового приложения AR. Вы можете назвать его как угодно и не забудьте также выбрать «Команда», даже если вы физическое лицо (если у вас ее еще нет, вы сможете создать ее). все остальное проверил.

В опции «язык» можно также выбрать между Swift, новым языком программирования Apple, и Objective-C, его более старым языком.Оба позволят вам создать приложение AR. Если вы новичок в программировании, Swift может быть лучшим выбором, поскольку это то, что Apple планирует использовать для всех своих инструментов в будущем.

Наконец, вы можете выбрать «Технологию контента», выбирая между SceneKit, SpriteKit и Metal. Это разные механизмы рендеринга для отображения графики. Все три позволят вам создавать приложения AR, но предлагают разные компромиссы, некоторые из которых описаны здесь (в основном: SceneKit для 3D-графики, SpriteKit для 2D, Metal для более сложных сцен).Для этой демонстрации я выбрал SceneKit.

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

Выберите подключенное устройство iOS, чтобы получить новое приложение AR.

В Xcode на вашем Mac выберите «Окно» в верхней строке меню, нажмите «Устройства и симуляторы» и дважды щелкните свое устройство iOS. Убедитесь, что вы установили флажок «Показывать как назначение запуска».

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

Если это произойдет, найдите приложение «Настройки» на своем устройстве iOS, коснитесь его, прокрутите вниз до «Общие» и коснитесь его, затем прокрутите дальше до «Профили и управление устройством», и вы сможете найдите свой адрес электронной почты разработчика Apple. Коснитесь этого, и это должно позволить вам установить ARapp.

Запустите свое первое демонстрационное приложение AR

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

Чтобы увидеть это в действии, сначала убедитесь, что ваше устройство iOS выбрано в раскрывающемся меню выбора устройства в верхнем левом углу Xcode.

Затем посмотрите на верхнюю строку меню в Xcode. Найдите «Продукт», щелкните его, а затем нажмите «Выполнить».

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

Чтобы остановить демонстрационное приложение, вернитесь к «Продукт» в Xcode и прокрутите вниз до «Остановить.

Вот и все, вы на правильном пути к использованию ARKit! Для получения дополнительной информации о добавлении собственных новых 3D-моделей и создании анимационных эффектов я бы порекомендовал следующие руководства:

Все, что вам нужно знать

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

Apple уже несколько лет очень заинтересована в потенциале AR и представила ARKit в 2017 году как часть iOS 11. Впоследствии она анонсировала вторую версию в iOS 12, а теперь у нее есть версия третьего поколения, запланированная для iOS 13. Существует аналог Google для телефонов Android под названием ARCore.

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

Apple

Что такое AR?

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

Что такое Apple ARKit?

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

Как пользователь, вы на самом деле не видите, является ли что-то приложением с поддержкой ARKit или нет — вы просто видите отличное, забавное или полезное приложение.

ARKit использует технологию под названием «Визуальная инерциальная одометрия» для отслеживания мира вокруг вашего iPad или iPhone. Это позволяет вашему устройству iOS определять, как оно движется в комнате.

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

В чем смысл ARKit?

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

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

Ikea

Для Apple ARKit открывает совершенно новую категорию приложений, которые будут работать на каждом iPhone и iPad.

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

В прошлом году в рамках iOS 12 Apple представила версию ARKit второго поколения, которую она запустила вместе с концепцией Lego, включающей виртуальные части и минифигурки Lego.

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

Apple

Что в ARKit 3?

2019 ARKit 3 включает Motion Capture, поэтому разработчики могут интегрировать движения людей в свои приложения и People Occlusion. Обе эти технологии означают, что контент дополненной реальности будет естественным образом отображаться перед людьми или позади них, чтобы сделать приложения более захватывающими.

Теперь поддерживается как передняя, ​​так и задняя камеры, а передняя камера также может отслеживать до трех лиц.

Однако для всех этих функций необходимы новейшие устройства Apple. «Окклюзия людей и использование захвата движения, одновременной работы передней и задней камеры и отслеживания нескольких лиц поддерживаются на устройствах с чипами A12 / A12X Bionic, Apple Neural Engine и TrueDepth Camera.«

Итак, это, по сути, прошлогодние модели iPad Pro и iPhone XR, XS и XS Max.

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

Какие устройства iOS могут работать с приложениями ARKit?

Любой iPhone или iPad, поддерживающий iOS 11 или более поздней версии, может устанавливать приложения ARKit.

Новые устройства лучше справляются с приложениями. Например, у iPad Pro после 2017 года частота обновления дисплея увеличена до 120 Гц, а это означает, что то, что вы видите через камеру, должно казаться намного более впечатляющим на этих устройствах.

Как вы создаете приложения ARKit?

Если вы заинтересованы в создании приложений ARKit, перейдите на сайт разработчиков Apple, на котором есть много информации о создании приложений AR. Вы можете скачать оттуда образец кода для игры SwiftShot.

Написано Мэгги Тиллман и Дэном Грэбхэмом.Первоначально опубликовано .

ARKit | Возможности, обновления, слухи


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

ARKit в настоящее время находится на своей третьей итерации и упоминается Apple как ARKit 3.

Виртуальный боулинг — лишь одно из множества возможностей ARKit.

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

Дополненная реальность — часто стилизованная под AR — это процесс наложения компьютерного изображения на «реальный мир», обычно через камеру смартфона и экран. Люди часто сравнивают AR с VR или виртуальной реальностью. Однако виртуальная реальность — это процесс создания полностью смоделированной среды, в которую пользователь может «войти».

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

ARKit также является фреймворком для iOS-приложения Measure.

Некоторые розничные продавцы также позволяют пользователям предварительно просматривать товары в своих домах с помощью дополненной реальности.

В то время как AR в основном используется для смартфонов и планшетов прямо сейчас, многие отраслевые эксперты оптимистично смотрят в будущее очков или гарнитур AR. Microsoft HoloLens и Magic Leap One — это примеры двух устаревших сегодня продуктов, в которых используется технология AR.Также имеется множество свидетельств, указывающих на то, что Apple разрабатывает гарнитуру AR или очки AR.

Характеристики ARKit

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

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

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

LiDAR позволяет ARKit 4 собирать данные о глубине комнаты

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

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

ARKit может отслеживать лицо пользователя с помощью камеры iPhone TrueDepth. Создав сетку лица на основе данных с камеры TrueDepth, можно добавлять эффекты к лицу пользователя в режиме реального времени, такие как нанесение виртуального макияжа или других элементов для селфи. Функция Animoji также использует эту систему.

Документация Apple ARKit включает в себя руководства по созданию первого опыта AR для разработчиков, работе с 3D-взаимодействием и элементами управления пользовательским интерфейсом в AR, обработке звука в AR и созданию возможностей AR на основе лиц.

Apple также добавила уроки в свое приложение Swift Playgrounds, давая молодым и неопытным разработчикам возможность познакомиться с фреймворком. Задача «Дополненная реальность» учит пользователей командам, позволяющим камере iPad обрабатывать обнаруженные самолеты, размещать персонажа на самолете и делать сцену интерактивной.

Несмотря на оптимизацию в Metal и SceneKit, также можно включить ARKit в сторонние инструменты.

Слухи

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

ARKit 4

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

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

Все это обрабатывается на устройстве с использованием существующих картографических данных, созданных Apple Maps и его функцией Look Around.

Новый API глубины был создан для использования преимуществ системы LiDAR на iPad Pro четвертого поколения, iPhone 12 Pro и iPhone 12 Pro Max. Используя полученные данные о глубине и определенные точки привязки, пользователь может создать трехмерную карту всей комнаты за секунды.

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

ARKit 4 позволяет отслеживать лицо и руки

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

LiDAR и ARKit 3.5

Каждая из серий iPad Pro и iPhone 12 Pro четвертого поколения оснащена датчиком LiDAR на задней панели устройства. Начиная с обновления ARKit для iOS 13.4, программное обеспечение Apple теперь поддерживает систему LiDAR и может использовать преимущества новейшего оборудования.

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

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

Датчик времени пролета может сделать картографирование окружающей среды намного быстрее и точнее для ARKit

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

ARKit 3

ARKit 3 внес в систему немало доработок, используя машинное обучение и улучшенное обнаружение 3D-объектов. Сложные среды теперь можно более точно отслеживать для размещения и измерения изображений.

Объекты в реальном мире могут скрывать виртуальные объекты с помощью окклюзии.

People Occlusion было добавлено с появлением ARKit 3.Это позволяет устройству отслеживать людей и позволять цифровым объектам плавно проходить позади или впереди них по мере необходимости.

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

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

С помощью ARKit Face Tracking можно отслеживать до 3 лиц с помощью камеры TrueDepth.

Реакция разработчика и первоначальный ответ

Реакция разработчиков на инструменты ARKit «невероятна», как заявил в интервью в конце июня 2019 года вице-президент Apple по мировому маркетингу продуктов iPod, iPhone и iOS Грег Джосвиак. Отмечая быстро разработанные проекты, от виртуальных измерительных лент до приложения для покупок Ikea, Джосвиак сказал: «Совершенно невероятно, что люди делают за такое короткое время.«

«Я думаю, что у нас есть гигантская взлетно-посадочная полоса для iPhone и iPad. Тот факт, что у нас есть миллиард таких устройств, открывает большие возможности для разработчиков», — сказал Джосвиак. «Кто знает, что будет дальше, но что бы это ни было, мы начнем с нуля».

Совместимость с ARKit

ARKit был выпущен вместе с iOS 11, что означало, что любое устройство, поддерживающее iOS 11, могло бы использовать функции AR.

ARKit 4 по-прежнему имеет функции, совместимые с устройствами под управлением iOS 11, но его более продвинутые функции доступны только для устройств с чипами A12 Bionic или выше. Новейшие функции и определение глубины требуют наличия LiDAR на устройстве, а пока это только серии iPad Pro и iPhone 12 Pro.

ARKit 4 и LiDAR будут очень важны в будущем, поскольку Apple продолжает разработку «Apple Glass».

Apple’s ARKit: шпаргалка — TechRepublic

ARKit — это среда разработки Apple для дополненной реальности, совместимая с миллионами устройств iOS.Вот что разработчики и конечные пользователи должны знать об ARKit.

Изображение: Apple, Inc.

ARKit был выпущен вместе с iOS 11 на Всемирной конференции разработчиков Apple в 2017 году. Дополненная реальность (AR) находится на переднем крае специализированных технологий, разрабатываемых Apple и другими высокотехнологичными компаниями, и этот новый комплект помогает разработчикам внедрять AR в iOS. устройств.Комплект разработчика интегрирован с новейшим оборудованием, что обеспечивает невиданный ранее уровень интеграции дополненной реальности на устройствах iOS.

Эта статья представляет собой введение в ARKit. Мы будем периодически обновлять этот ресурс, когда появляется новая информация о среде разработки AR. Он также доступен для загрузки, Шпаргалка: ARKit от Apple (бесплатный PDF-файл).

SEE: Дополненная реальность: краткий глоссарий (TechRepublic Premium)

Краткое содержание

  • Что такое ARKit? iOS включает в себя фреймворк в составе комплекта разработки программного обеспечения (SDK) iOS под названием ARKit.Эта структура позволяет разработчикам создавать приложения с дополненной реальностью и использовать аппаратные и программные возможности устройств iOS.
  • Почему ARKit имеет значение? Как и виртуальная реальность, дополненная реальность — горячая тема в технологиях. AR позволяет пользователям приложений размещать виртуальные объекты в реальном мире, а затем взаимодействовать с ними. Приложения AR будут особенно популярны в игровом, торговом и промышленном секторах.
  • На кого влияет ARKit? iOS 11 была первой версией iOS, которая включала ARKit, и с тех пор она была включена в новые версии iOS, что позволяет разработчикам создавать возможности AR в своих приложениях.Это также влияет на пользователей, поскольку они могут загружать и использовать приложения ARKit на своих устройствах iOS.
  • Когда будет доступен ARKit? ARKit был доступен разработчикам как часть Xcode 9 с момента его бета-выпуска на WWDC ’17 в июне 2017 года. Приложения ARKit стали доступны потребителям в App Store с выпуском iOS 11 19 сентября 2017 года.

SEE: Все шпаргалки и руководства для умных людей TechRepublic

Что такое ARKit?

ARKit — это среда дополненной реальности, включенная в Xcode, совместимая с iPhone и iPad.ARKit позволяет разработчикам размещать цифровые объекты в реальном мире, смешивая камеру на экране с виртуальными объектами, позволяя пользователям взаимодействовать с этими объектами в реальном пространстве.

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

ARKit может работать на большинстве современных iPhone и iPad с iOS 11 и может использовать функции Metal, такие как интеграция SceneKit, и интегрироваться со сторонними инструментами, такими как Unity и Unreal Engine.

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

Apple создала задачу Swift Playgrounds, в которой используется ARKit. Приложение Swift Playgrounds можно загрузить для iPad в App Store.Разработчики и конечные пользователи могут видеть, как создаются и используются эти приложения AR.

Дополнительные ресурсы

Почему ARKit важен?

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

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

SEE: 10 приемов настройки macOS для вашего Mac (бесплатный PDF) (TechRepublic)

С iPhone X Apple создала настоящее устройство AR с улучшенной камерой, которая обеспечит отслеживание лица и лучшее позиционирование и определение топологии.

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

Дополнительные ресурсы

Какие устройства и приложения поддерживают ARKit?

Устройства с поддержкой ARKit — это любой iPhone или iPad под управлением iOS 11 или более поздней версии с процессором Apple A9, A10, A11 или более поздней версии; эти устройства необходимы для работы с продвинутой графикой Metal.На момент запуска большинство приложений, поддерживающих ARKit, относятся к категории игр; по мере того, как все больше разработчиков работают с AR, мы увидим рост числа полезных приложений.

Некоторые из популярных приложений, доступных при запуске с поддержкой ARKit, включают RoomScan Pro, Human Anatomy Atlas 2021 и Night Sky, а также следующие.

Игры

Инструменты и другие приложения
  • Overstock.com (бесплатно): Поместите трехмерные модели мебели в натуральную величину в комнате, чтобы посмотреть, как они будут выглядеть; вы даже можете обойти его, чтобы ощутить масштаб.
  • Edmunds (бесплатно): Поместите трехмерную модель автомобиля в натуральную величину, которая находится в их библиотеке, на подъездной дорожке или в гараже, чтобы посмотреть, подойдет ли машина.
  • MeasureKit (бесплатно): Это утилита дополненной реальности, которая позволяет измерять комнату или другой объект в реальной жизни с помощью виртуальной рулетки.

Дополнительные ресурсы

Улучшения ARKit 2

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

SEE: Политика виртуальной и дополненной реальности (TechRepublic Premium)

Улучшения ARKit 3

ARKit 3 добавляет функции, которые расширяют возможности дополненной реальности. Вы можете показывать контент AR спереди или сзади людей, используя People Occlusion, который может отслеживать до трех лиц. Теперь вы также можете поддерживать совместные сеансы, обеспечивая совершенно новые совместные игровые возможности AR.

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

Другие важные улучшения:

  • Возможности обнаружения до 100 изображений одновременно
  • Оценка физического размера изображения
  • Обнаружение 3D-объектов стало более надежным и позволяет лучше распознавать объекты в сложных средах
  • Машинное обучение используется для более быстрого обнаружения самолетов в окружающей среде, что приводит к более быстрой настройке среды AR
  • Одновременное использование передней и задней камеры означает, что вы можете по-новому взаимодействовать с контентом AR с помощью распознавания лиц
  • Отслеживание нескольких лиц на iPhone X, iPhone XS, iPhone XS Max, iPhone XR и iPad Pro теперь могут отслеживать до трех лиц одновременно

Улучшения ARKit 4

ARKit 4 был анонсирован на WWDC 2020 и выпущен вместе с Xcode 12, macOS 11 и iOS 14 позже в 2020 году.С введением LiDAR на iPhone и iPad в 2020 году Apple решила добавить в ARKit 4 функциональность, позволяющую использовать преимущества этих датчиков. Информация о глубине от датчика LiDAR была добавлена ​​в эту версию ARKit для улучшения отслеживания и обнаружения объектов.

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

ARKit 5

ARKit 5 был анонсирован и выпущен в качестве бета-версии для разработчиков вместе с Xcode 13 на WWDC 2021.Для этой версии ARKit Apple представила множество новых функций, которые разработчики приложений дополненной реальности давно хотели, включая возможность создавать собственные шейдеры, процедурную генерацию сетки, захват объектов и управление персонажами.

Возможно, самой большой особенностью была возможность захвата объектов с помощью встроенных API, LiDAR и камер в устройствах iOS 15. Вы можете сканировать объект и мгновенно превратить его в файл USDZ, который можно импортировать в Xcode и использовать в сценах или приложениях ARKit в качестве 3D-модели.

Вы можете узнать больше об этих новых функциях в ARKit 5, просмотрев некоторые сеансы WWDC21, ниже:

Reality Composer и RealityKit

Эти новые инструменты, доступные в ARKit, могут помочь в создании сцен AR практически без традиционный опыт дизайна AR.

Дополнительные сведения см. В разделе Reality Composer и Reality Kit на веб-сайте разработчиков Apple.

Дополнительные ресурсы

Когда станет доступен ARKit?

ARKit был доступен с июня 2017 года для разработчиков в бета-версиях iOS 11 и Xcode 9.Последняя версия 1.0 ARKit была выпущена вместе с iOS 11 в сентябре 2017 года. Разработчики начали делать приложения ARKit доступными в App Store для iOS с 19 сентября 2017 года. ARKit связан с последними iOS SDK внутри последних версий Xcode. ARKit связан с последними iOS SDK внутри последних версий Xcode.

Изменения версии

  • Июнь 2017 г .: Apple выпустила бета-версию ARKit вместе с бета-версиями Xcode 9 и iOS 11.
  • Сентябрь 2017 г .: Apple анонсировала iPhone X с камерой TrueDepth, которая позволяет ARKit определять положение, топологию и выражение лица пользователя.
  • Сентябрь 2017 г .: Apple выпустила iOS 11 для общественности и Xcode 9 для разработчиков с недавно включенными функциями отслеживания лиц в ARKit.
  • Ноябрь 2017 г .: Apple выпустит iPhone X для широкой публики, и разработчики смогут воспользоваться функциями отслеживания лица в системе камеры TrueDepth.
  • Июнь 2018 г .: Бета-версия iOS 12 выпущена для разработчиков на WWDC, предлагая бета-версию ARKit 2.
  • Сентябрь 2018 г .: Apple выпускает iOS 12 для широкой публики, обеспечивая ARKit 2 для iPhone и iPad, что позволяет разработчикам публично выпустить приложения ARKit 2.
  • Июнь 2019 г. : бета-версия iOS 13 выпущена для разработчиков на WWDC, в результате чего появилась бета-версия ARKit 3.
  • Сентябрь 2019 г .: iOS 13 выпущена для широкой публики, в результате чего ARKit 3 появится в новой трети -партийные приложения и опыт.
  • Июнь 2020 г .: iOS 14 beta выпущена для разработчиков на WWDC, предлагая бета-версию ARKit 4 с улучшениями LiDAR для недавно выпущенного iPad Pro 2020 с датчиком LiDAR.
  • Сентябрь 2020 г .: iOS 14 выпущена для широкой публики, включая приложения, поддерживающие ARKit 4, в App Store.
  • Июнь 2021 г .: Apple выпускает бета-версию iOS 15 с ARKit 5 и RealityKit 2 вместе с Xcode 13 для разработки приложений с использованием этих технологий.

Дополнительные ресурсы

Еженедельный бюллетень Apple

Если вам нужны советы по iPhone и Mac или последние корпоративные новости Apple, у нас есть все необходимое.Доставлено по вторникам

Зарегистрироваться Сегодня

Начните и узнайте, как создать свое первое приложение ARKit

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

Этот пост из серии статей по ARKit, где мы говорим о проектировании для AR, создании демонстрационного приложения, изучении и тестировании многих функций ARKit. Ранее мы писали о создании 3D-моделей для приложений AR.

Введение

AR — это основная технология, лежащая в основе удивительных приложений, таких как Pokémon Go, анимированные смайлики Snapchat и 3D-стикеры Instagram. Объявление Apple о ARKit на WWDC в 2017 году уже привело к созданию впечатляющего программного обеспечения с сочетанием забавных и практичных приложений, которые предлагают что-то для всех.Мы хотели иметь возможность поиграть с ним и посмотреть, какие невероятные вещи мы можем с его помощью построить.

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

Говорят, что дом как шляпа — лучший способ проверить расположение локации.

Для этой демонстрации мы будем использовать пользовательскую 3D-модель, созданную в дизайнерской части этой серии.Даже если вы не можете создать свою собственную модель, вы можете использовать простой AR-куб, который предоставляет Apple, или загрузить модель из SketchUp или Google Poly

.

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

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

Если вам нужен более глубокий анализ, я настоятельно рекомендую вам прочитать эту страницу о дополненной реальности от Apple или посмотреть их доклад на WWDC 2017 на ARKit. Я также рекомендую посмотреть разговор Understanding ARKit Tracking and Detection и видео ARKit2 с WWDC 2018.

Как выглядит модель с плоскостями и источником света в Xcode.Это будет добавлено в сцену AR
.

С помощью этого World Tracking и Plane Detection ARKit может создавать Feature Points. Feature Points используются в ARKit для размещения моделей на сцене и привязки моделей к их «окружению». Как объясняет Apple:

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

Использование ARView и ARSCNView

Для создания приложения AR мы следовали серии руководств: AppCode ARKit Introduction, AppCoda ARKit с 3D-объектами, Pusher, создающего AR с помощью ARKit и MarkDaws AR by Example, а также документации по классам AR, которые предоставляет Apple. Поскольку большая часть базовой настройки уже была покрыта Apple и другими руководствами, мы не будем публиковать здесь весь код, просто рассмотрим некоторые логики, проблемы и решения, которые мы нашли на этом пути.Весь исходный код этого и всех следующих сообщений, связанных с этим проектом, можно найти на нашем GitHub.

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

Есть несколько ключевых моментов, которые нужны каждому приложению AR:

  • Вам понадобится ARSCNView . Большинство людей называют свой экземпляр sceneView . Здесь происходит вся магия дополненной реальности. Вы можете настроить его так, чтобы он занимал весь экран или просто как часть пользовательского интерфейса.

  • Вам необходимо реализовать протокол ARSCNViewDelegate , который включает методы, используемые для визуализации моделей в представлении. Контроллер SceneView будет реализовывать этот протокол и быть делегатом View.
  sceneView.delegate = self
  
  • ARConfiguration необходимо настроить с желаемым типом отслеживания плоскости (по умолчанию — горизонтальное), а затем добавить в сеанс sceneView session run () для фактического запуска сцены AR. ARSession
  переопределить функцию viewWillAppear (_ animated: Bool) {
        super.viewWillAppear (анимированный)
        
        // Создаем конфигурацию сеанса
        let configuration = ARWorldTrackingConfiguration ()
        configuration.isLightEstimationEnabled = true;
        
        // Запускаем сеанс просмотра
        sceneView.session.run (конфигурация)
    }
  
  • В viewWillDisappear мы приостанавливаем сеанс sceneView , чтобы остановить отслеживание мира и движения устройства, выполняемое телефоном во время работы AR.Это позволяет устройству высвободить ресурсы.
  переопределить функцию viewWillDisappear (_ animated: Bool) {
        super.viewWillDisappear (анимированный)
        
        // Приостановить сеанс просмотра
        sceneView.session.pause ()
    }
  

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

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

Прежде чем двигаться дальше, я настоятельно рекомендую вам добавить это к методу viewDidLoad вашего контроллера представления:

  sceneView.showsStatistics = true
    sceneView.debugOptions = [ARSCNDebugOptions.showFeaturePoints,
    ARSCNDebugOptions.showWorldOrigin]
  

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

С включенными опциями Feature points при отладке вы можете видеть, что ARKit распознает, когда вы перемещаетесь по своей плоскости, также известной как желтые точки

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

А теперь самое интересное: добавление вашей 3D-модели в сцену sceneView ! Вместо создания сцены с активом вы можете создать SCNNode , а затем поместить этот узел в sceneView в определенной точке. Здесь мы используем узлы вместо SCNScene , потому что объект SCNScene занимает весь sceneView , но нам нужна наша модель в определенной точке сцены.

Чтобы создать SCNode, мы сначала загружаем временный SCNScene с активом, а затем сохраняем childNode сцены как узел, который мы собираемся использовать. Мы делаем это, потому что вы не можете инициализировать узел с активом, но вы можете загрузить узел из загруженной сцены, если вы ищете узел по имени.

  охранник let scene = SCNScene (named: assetPath) else {
      вернуть ноль
}
let node = scene.rootNode.childNode (withName: assetName, рекурсивно: true)
  

Обратите внимание, что AssetName здесь не fileName актива, а скорее имя узла самой модели.Вы можете узнать, какое nodeName имеет ваша модель, просто открыв файл .dae или .scn в XCode и переключив представление Scene Graph, которое покажет список слоев файла.

Как настроить имя узла на сцене

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

Во-первых, нам нужно знать, где визуализировать нашу модель в трехмерном мире.Для нашей демонстрации мы получаем местоположение, заставляя пользователя нажать CGpoint из метода touchesBegan :

  охранник let location = touches.first? .Location (in: sceneView) else {return}

let hitResultsFeaturePoints: [ARHitTestResult] = sceneView.hitTest (расположение, типы: .featurePoint)

if let hit = hitResultsFeaturePoints.first {
  пусть finalTransform = hit.worldTransform
}
  
Получение местоположения
CGPoint и преобразование его в матрицу float_4x4 с помощью метода worldTransform .

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

  sceneView.hitTest (расположение, типы: .featurePoint)
  
Также можно использовать кейсы
.existingPlaneUsingExtent и .EstimatedHorizontalPlane , чтобы получить положение плоскостей при использовании плоскости Detection

Этот метод дает нам массив ближайших ARHitTestResult , отсортированных по возрастанию расстояния от места касания. Следовательно, первый результат этого массива является ближайшей точкой. Затем мы можем использовать следующий код
let transformHit = hit.worldTransform , который возвращает матрицу float4x4 реального местоположения 2D точки касания.

Обнаружение самолетов

Теперь, когда у нас есть положение касания в трехмерном мире, мы можем использовать его для размещения нашего объекта.Мы можем добавить модель в сцену двумя разными способами, выбор одного из них зависит от того, как мы настроили нашу ARSession, и от того, включен ли у нас planeDetection . Это связано с тем, что если вы запустите свою конфигурацию с включенным параметром planeDetection для горизонтального или вертикального обнаружения, ARSCNView будет постоянно обнаруживать среду и отображать любые изменения в sceneView .

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

Мы можем включить planeDetection на viewWillAppear при добавлении ARWorldTrackingConfiguration к ARSession :

  configuration.planeDetection = .horizontal
  

Итак, пока включен planeDetection , мы можем добавить новый узел в сцену, создав новый SCNode из нашего объекта Scene и изменив положение узла, SCNVector3 , туда, где мы хотим, чтобы модель была на виде. .Затем мы добавим этот узел как часть childNode из sceneView , и поскольку planeDetection включен, инфраструктура AR автоматически подберет новый якорь и отобразит его на сцене.

  пусть pointTranslation = transformHit.translation
let node = scene.rootNode.childNode (withName: assetName, рекурсивно: true)
nodeModel.position = SCNVector3 (pointTranslation.x, pointTranslation.y, pointTranslation.z)
sceneView.scene.rootNode.addChildNode (nodeModel)
  
Здесь преобразователь
transformHit из предыдущего был использован с .СуществующийPlaneUsingExtent и .estimatedHorizontalPlane случаев вместо .featurePoints , так как planeDetection включен

Чтобы получить правильную позицию узла, нам нужно будет использовать матрицу transformHit float4x4 , которую мы создали ранее, и преобразовать ее в float3 . Для этого преобразования мы использовали расширение, которое переводит нашу матрицу float4x4 в float3 .

  удлинитель float4x4 {
  var translation: float3 {
  пусть перевод = сам.столбцы 3
  вернуть float3 (translation.x, translation.y, translation.z)
  }
}
  

Tada 🎉 мы только что успешно добавили 3D-модель в AR-сцену!

Анкеровка

Постоянное обнаружение самолета приложением требует значительных ресурсов. Apple рекомендует отключить planeDetection после того, как вы закончите обнаружение сцены. Но, как мы упоминали ранее, если planeDetection не включен, ARScene не подберет ваш недавно добавленный дочерний узел и не отобразит его в sceneView .

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

Чтобы создать ARAnchor из местоположения касания, мы будем использовать ту же матрицу transformHit float4x4 , которую мы создали ранее — без необходимости ее преобразования на этот раз, поскольку ARAnchors и ARHitResults используют одно и то же пространство координат.

  охранник пусть местоположение = касается.сначала? .location (in: sceneView) else {return}

let hitResultsFeaturePoints: [ARHitTestResult] = sceneView.hitTest (расположение, типы: .featurePoint)

if let hit = hitResultsFeaturePoints.first {
  пусть finalTransform = hit.worldTransform
}

пусть якорь = ARAnchor (преобразование: finalTransform)
sceneView.session.add (привязка: привязка)
  

Добавляя новый якорь самостоятельно, вместо того, чтобы полагаться на Конфигурацию сеанса, мы запускаем функцию renderer () от делегата, которая вернет узел, который будет отображаться для конкретной привязки.

  func renderer (_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
  guard! anchor.isKind (of: ARPlaneAnchor.self) else {
      вернуть ноль
  }
  let node = scene.rootNode.childNode (withName: assetName, рекурсивно: true)
  node.position = SCNVector3Zero
  возвратный узел
 }
  
Нам нужно дважды проверить, является ли привязка, запускающая функцию рендеринга, только что добавленной привязкой, а не
ARPlaneAnchor .

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

Tada 🎉 мы только что успешно добавили 3D-модель в AR-сцену!

Выводы

Подводя итог, в этом посте мы рассмотрели основы дополненной реальности и ARKit от Apple. Мы применили извлеченные уроки и создали приложение, которое добавляет наши 3D-модели в мир двумя разными способами.

Код для этой демонстрации можно найти на GitHub Novoda, а также вы можете проверить репозиторий ARDemoApp, где вы можете импортировать свои собственные модели в сцену дополненной реальности без написания строчки кода.

Если вам понравился этот пост, обязательно ознакомьтесь с остальной частью серии!

Есть вопросы или комментарии? Напишите нам в Twitter @bertadevant @KaraviasD

10 лучших применений Apple ARKit

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

Так что нового? Дополненная реальность существует уже давно.Вы, наверное, помните, как играли в Pokemon Go или, возможно, использовали линзы Snapchat, чтобы превратить свое лицо в кролика? Оба используют AR. Но до сих пор AR была ограничена, потому что компьютеры не так хорошо, как люди, понимают, на что они смотрят. Таким образом, для работы AR потребовались специальные маркеры или легко узнаваемые изображения, например лица.

К счастью, Apple и Google работали над этим, и в последние версии их мобильных операционных систем встроены расширенные возможности AR.Apple называет свою технологию ARKit, а Google — ARCore.

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

Эта технология скоро станет доступной для всех, когда выйдет iOS11, и, чтобы отпраздновать это событие, мы вручную выбрали некоторые из лучших демонстраций, чтобы ваши творческие соки разошлись!

Гараж Тропический лес

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

ЗВУКИ

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

Объемный захват

Volumetric Capturing за последние несколько лет стремительно улучшился, и теперь он используется в 3D-печати, виртуальной реальности, а теперь и в дополненной реальности.Эта короткая демонстрация показывает, насколько эффективным может быть смешивание этих двух компонентов, что мы можем представить себе, посещая собрания таким образом в будущем.

Икеа

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

Виртуальные питомцы

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

В поисках друзей

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

AHA Возьми меня на

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

Голодная гусеница

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

Moba AR

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

AR

рупий

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

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

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *