Arkit ios: ARKit 6 — Augmented Reality

Содержание

Тестируем возможности 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 -технология дополненной реальности ARKit

  1. Темы

Последнее обновление — 20 мая 2022

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

Тим Кук Интервью с Apple Компания Apple Конференция Apple Технологии Apple Работа в Apple Смартфоны Apple Обзор наушников для iPhone Звук на iPhone Обзоры техники Apple

Популярные статьи рубрики ARKit

Самое обсуждаемое по теме ARKit

Иван Кузнецов
3

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

Читать далее

Иван Герасимов
10

Буквально пару недель назад мы рассуждали о том, что Apple будет делать без iPhone. Как гром средь ясного неба вышла новость о том, что Apple все-таки готовит новый девайс, который заменит нам iPhone. Как он будет выглядеть, сколько будет стоить и действительно ли он заменит iPhone — одному Куку известно. Тем не менее, Apple снова бежит впереди паровоза, точнее, паровоз под названием «производители смартфонов» догоняет Apple: пока компании экспериментируют, создавая складные смартфоны и прочую дребедень, купертиновцы снова рванули в другую галактику. Если AR-гарнитура и вправду появится, то это будет и вправду легендарно. Мы позабудем о смартфонах и о том, что с ними связано, ведь мир уже не будет прежним. Не верите? А зря.

Читать далее

Иван Кузнецов
8

Несмотря на то что Тим Кук управляет Apple уже целых 10 лет, за это время компания выпустила только три сугубо новых продуктовых линейки, которых до этого не было. Это наушники AirPods, умная колонка HomePod и умные часы Apple Watch. Два из трёх этих продукта оказались чрезвычайно популярными. Однако всё остальное из того, что выпускала Apple, так или иначе было продолжением уже существующих товаров. Неужели без Джобса у инженеров компании не хватает мозгов выпустить что-то по-настоящему своё? На самом деле хватает. Но есть кое-какие проблемы.

Читать далее

Иван Кузнецов
14

Каждое приглашение Apple на очередное мероприятие, независимо от того, проходит оно онлайн или офлайн, — это отдельный вид искусства. В Купертино всегда с большим трепетом подходят к их составлению, стараясь, чтобы пригласительные получились одновременно и красивыми, и говорящими. Говорящими о том, к чему стоит готовиться гостям или зрителям предстоящего события. Несмотря на то что в последние годы в приглашениях стало меньше абстрактного и больше конкретного, это не удалило из них скрытый подтекст. Поэтому порассуждать, что нас ждёт, по-прежнему можно.

Читать далее

Александр Богданов
16

Марк Гурман из Bloomberg, от «людей, которые в курсе происходящего», узнал, что очки дополненной реальности (Apple Glasses) в 2023 году не выйдут. Зато кое-что произойдет уже в 2022, и этим «кое-что» будет самая потрясающая гарнитура виртуальной реальности в истории человечества – возможно, именно с неё и начнется настоящая история носимых устройств виртуальной и дополненной реальности Apple. Разработка гарнитуры виртуальной реальности находится на стадии поздних прототипов, на этой стадии испытываются варианты будущего изделия, следующая после этого стадия – разработка реального продукта, и она уже вот-вот начнется.

Читать далее

Иван Кузнецов
5

Несмотря на то что Apple уже довольно давно пытается развивать дополненную реальность, складывается стойкое впечатление, что в Купертино просто не знают, в каком направлении нужно двигаться. По крайней мере, так я и думал, глядя на то, как умело с этой же технологией жонглирует Google, применяя её то тут, то там. Даже внедрение лидара в новые iPhone и iPad не сильно изменило моего мнения об Apple. Но в компании объяснили, что прелесть дополненной реальности – в её универсальности, а чтобы технология считалась успешной, по ней совершенно необязательно сходить с ума.

Читать далее

Иван Кузнецов
6

Дополненная реальность ещё несколько лет назад обещала стать ключевым направлением развития Apple. Ну, по крайней мере на это всячески намекали Тим Кук и остальные члены его команды, которые довольно активно продвигали эту технологию, распинаясь о её преимуществах на каждой презентации. Правда, единственным более-менее практичным сценарием применения дополненной реальности с тех пор стала лишь коррекция взгляда в FaceTime, которая создавала иллюзию того, что пользователь смотрит прямо в камеру, а не в экран, где показан его собеседник. На этом фоне довольно странно осознавать, что Google ушла в развитии этой технологии гораздо дальше.

Читать далее

Иван Кузнецов
17

05.06.2020,

Каждый раз, когда меня спрашивают, за что я люблю технику Apple, я неизменно отвечаю — за инновации для людей. Ведь, в отличие от конкурентов, которые зачастую внедряют новые технологии по принципу «чтобы было», не слишком разбираясь в том, насколько это в действительности нужно людям, Apple старается сделать так, чтобы этим было можно и хотелось пользоваться. Так в iPhone появился Face ID, в MacBook Pro – Touch Bar, а в iPad — поддержка внешних трекпадов. Тем не менее, далеко не всегда цели, которые перед собой ставят в Купертино, берясь за тот или иной продукт, оказываются очевидны.

Читать далее

Иван Кузнецов
13

Трёхмерный датчик, или, как его ещё называют, лидар, которым Apple оснастила iPad Pro 2020, оказался одним из самых противоречивых нововведений, когда-либо появлявшихся в фирменных устройствах компании. Несмотря на всю технологичность этого компонента, сфера его применения оказалась не самой широкой: дополненная реальность и портретные фотографии. Но если снимки с эффектом размытия у аппаратов Apple и раньше получались довольно неплохо, то вот AR явно есть куда развивать, и лидар этому сильно поспособствует.

Читать далее

Олег Свиргстин
22

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

Читать далее

ARKit — все о технологии дополненной реальности

Дата последнего обновления: 23 августа 2020

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

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

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

  • 3D Touch
  • iOS
  • iOS 11
  • iOS 11.3
  • Face ID
  • iPhone X
  • OnePlus
  • OnePlus 6
  • App Store
  • iOS 12
  • Тим Кук
  • Google
  • Google Pixel 2
  • Google Pixel Buds
  • CES

Самое интересное по теме

Недавно Apple выпустила новый iPad Pro и обновление iOS 13.4, а вслед за этим вышла и новая версия …

В этом году платформа дополненной реальности ARKit от Apple получит множество улучшений. Она даже …

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

В сети был опубликован патент Apple о множестве разных полезных способов применения очков …

Спустя несколько недель после выхода iPhone XS Google презентовала свой новый флагман Pixel 3. Это iPhone в мире смартфонов с Android. В данный смартфон Google добавила свои лучше технологии. Напомним, что между Apple и Google ведётся долгая война в плане копирования функций.

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

Apple наконец-то предоставила нам функции, которых мы ждали почти десять лет. Объединённые уведомления? Есть. Больше опций режима «не беспокоить»? Конечно. Конференции FaceTime? Да, но чуть позже. Кроме того, версия iOS 12 значительно улучшит производительность устройств. Обновление содержит огромное количество мелочей, которые делают его очень удобным.

1

Мы собрали лучшие обои для вашего iPhone

Нажмите, чтобы скачать

Финальная версия iOS 12 наконец-то доступна публично. Впервые Apple анонсировала iOS 12 на Всемирной конференции разработчиков в июне. Обновление нацелено на улучшение производительности и содержит следующие новые функции: Memoji, Экранное время, Siri Shortcuts, объединённые уведомления и т.д.

Компания eBay представила новую технологию, которая поможет людям с нарушениями моторики легче совершать покупки и использовать приложения. Технология HeadGaze работает на основе камеры Apple TrueDepth и платформы ARKit. Она позволяет управлять приложениями за счёт движений головы.

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

Когда впервые вышла платформа ARKit с iOS 11, для неё появилось множество приложений с измерениями. Приложения для составления схем помещений, приложения для измерения объектов или просто дистанций от одной до другой точки, ещё какие-то приложения. Однако ни одно из них не соответствовала стандартам Apple, поэтому в iOS 12 компания добавила собственное приложение Рулетка (Measure), которое автоматически установится вместе с новой версией системы.

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

Вчера Apple выпустила и первую публичную бета-версию iOS 12. Компания многое рассказала об обновлении на презентации WWDC, включая новые функции Animoji, Memoji и др.

Apple добавила несколько новых опций в iOS 12, связанных с QR-кодами и сканированием документов, и открыть их можно с помощью 3D Touch и иконок Заметок и Камеры на домашнем экране.

1 из 612345…»

[IOS-ARKit] Сканирование и обнаружение 3D-объектов

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

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

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

This sample code project provides multiple ways to make use of object detection:

Этот пример проекта кода предоставляет несколько способов использования обнаружения объектов:

  • Запустите приложение для сканирования реальных объектов и экспортируйте файл эталонных объектов, который вы можете использовать в своем приложении для обнаружения объекта.
  • Используйте то, что продемонстрировано в этом примере приложенияARObjectScanningConfiguration с ARReferenceObject Класс записывает ссылочный объект как часть вашего собственного конвейера производства активов.
  • Использование в мире отслеживания AR сессийdetectionObjects Для идентификации эталонных объектов и создания AR взаимодействий.

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

Шаги программирования для сканирования и определения эталонных объектов, которые ARKit может использовать для обнаружения, очень просты. (См. «Создание эталонного объекта в сеансе AR» ниже.) Однако точность созданного эталонного объекта и ваш успех в обнаружении эталонного объекта в вашем собственном приложении зависят от физического взаимодействия с объектом во время сканирования. Создайте и запустите это приложение на своем устройстве iOS, чтобы сгенерировать файл эталонного объекта, который можно использовать для проверки в вашем собственном приложении, выполнив ряд шагов для получения высококачественных данных сканирования.

  1. Готов к сканированию. При первом запуске приложение отображает окно, которое приблизительно оценивает размер любого реального объекта, центрированного на виде с камеры. Поместите объект для сканирования на поверхность без других объектов (например, пустой рабочий стол). Затем переместите устройство так, чтобы объект находился в центре поля, и нажмите кнопку «Далее».
  2. Определите ограничивающий прямоугольник. Перед сканированием необходимо указать, в какой области мира приложений содержится объект, который вы хотите сканировать. Перетащите, чтобы переместить рамку в 3D, или нажмите и удерживайте одну сторону рамки, затем перетащите, чтобы отрегулировать ее размер. (В качестве альтернативы, если вы не меняете рамку, вы можете перемещаться вокруг объекта, и приложение будет пытаться автоматически разместить рамку вокруг него.) Убедитесь, что ограничивающий прямоугольник содержит только функции объекта, который вы хотите сканировать (не из среды), и затем нажмите Сканировать Кнопка.
  3. Сканирование объекта. Перемещайтесь, чтобы рассмотреть объекты под разными углами. Приложение выделяет различные части ограничительной рамки, чтобы указать, когда вы сканируете достаточно, чтобы распознать объект в соответствующем направлении. Обязательно просмотрите все аспекты объекта, которые вы хотите, чтобы пользователи вашего приложения распознавали. После завершения сканирования приложение автоматически переходит к следующему шагу или нажимает кнопку «Стоп», чтобы продолжить вручную.
  4. Отрегулируйте происхождение. Приложение отображает координатные оси x, y и z, показывая точку привязки или происхождение объекта. Перетащите круг, чтобы переместить начало координат относительно объекта. На этом этапе вы также можете использовать кнопку «Добавить» (+) для загрузки 3D-модели в формате USDZ. Приложение отображает модель, которая появляется в AR, когда обнаруживает реальные объекты, и использует размер модели для настройки масштаба эталонного объекта. Нажмите кнопку тестирования, когда закончите.
  5. Тест и экспорт. Приложение создалоARReferenceObject И перенастроил сеанс, чтобы обнаружить его. В различных условиях и условиях освещения наблюдайте за объектами реального мира под разными углами, чтобы убедиться, что ARKit может надежно определять свое положение и ориентацию. Нажмите кнопку экспорта, чтобы открыть форму обмена, чтобы сохранить заполненный. arobject файл. Например, вы можете использовать AirDrop, чтобы легко отправить его на свой Mac для разработки, или отправить его в приложение «Файл», чтобы сохранить его на iCloud Drive.

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

Обнаружение эталонных объектов в опыте AR

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

  1. Откройте каталог ресурсов проекта и используйте кнопку «Добавить» (+), чтобы добавить новую группу ресурсов AR.
  2. Перетащите файл .arobject из Finder во вновь созданную группу ресурсов.
  3. Или для каждого ссылочного объекта используйте инспектор, чтобы предоставить описательное имя для вашего использования.

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

Чтобы включить обнаружение объекта в сеансе AR, загрузите опорный объект, который должен быть обнаружен какARReferenceObject Примеры, предоставьте эти объектыARWorldTrackingConfiguration изdetectionObjects Свойства, а затем запустите ARSession с этой конфигурацией:

let configuration = ARWorldTrackingConfiguration()
configuration.detectionObjects = ARReferenceObject.referenceObjects(inGroupNamed: "gallery", bundle: nil)
sceneView.session.run(configuration)

Когда ARKit обнаружит один из ваших ссылочных объектов, сеанс будет автоматическиARObjectAnchor Добавьте в свой список опорных точек. Чтобы ответить на идентифицируемый объект, реализуйте соответствующийARSessionDelegateARSCNViewDelegate ИлиARSKViewDelegate Способ сообщить о новой привязке, добавленной к сеансу. Например, в приложении на основе SceneKit вы можете реализоватьrenderer:didAddNode:forAnchor: Добавить 3D активы на сцену и автоматически сопоставляет положение и ориентацию опорной точки

func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
    if let objectAnchor = anchor as? ARObjectAnchor {
        node.addChildNode(self.model)
    }
}

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

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

Создать эталонные объекты в сеансе AR

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

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

let configuration = ARObjectScanningConfiguration()
configuration. planeDetection = .horizontal
sceneView.session.run(configuration, options: .resetTracking)

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

После завершения сканирования позвонитеcreateReferenceObjectWithTransform:center:extent:completionHandler: Создать один из области пользовательской среды карты сеансаARReferenceObject:

// Extract the reference object based on the position & orientation of the bounding box.
sceneView.session.createReferenceObject(
    transform: boundingBox.simdWorldTransform,
    center: float3(), extent: boundingBox.extent,
    completionHandler: { object, error in
        if let referenceObject = object {
            // Adjust the object's origin with the user-provided transform. 
            self.scannedReferenceObject =
                referenceObject.applyingTransform(origin.simdTransform)
            self.scannedReferenceObject!.name = self.scannedObject.scanName
            creationFinished(self.scannedReferenceObject)
        } else {
            print("Error: Failed to create reference object. \(error!.localizedDescription)")
            creationFinished(nil)
        }
})

Когда опорный объект обнаружен, ARKit сообщает о своем положении в соответствии с источником, определенным опорным объектом. Если вы хотите разместить виртуальный контент, который, кажется, находится на той же поверхности, что и объект реального мира, убедитесь, что место происхождения эталонного объекта находится там, где находится объект реального мира. Быть захваченнымARReferenceObject После корректировки происхождения, пожалуйста, используйтеreferenceObjectByApplyingTransform: метод.

получатьARReferenceObjectПосле этого вы можете использовать его для немедленного обнаружения (см. Выше «Обнаружение эталонных объектов в AR Experience») или сохранить как.arobject Файлы для использования в более поздних сессиях или других приложениях на основе ARKit. Чтобы сохранить объект в файл, используйтеexportObjectToURL:previewImage:error: метод. В этом методе вы можете предоставить изображение реальных объектов Xcode для использования в качестве изображения предварительного просмотра.

Обнаружение объекта

  • ARReferenceObject
  • ARObjectAnchor
  • ARObjectScanningConfiguration

ARKit от Apple: шпаргалка | ТехРеспублика

ARKit от Apple: шпаргалка

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

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

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

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

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

ПОСМОТРЕТЬ: Дополненная реальность: краткий глоссарий (TechRepublic Premium)

Резюме

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

ПОСМОТРЕТЬ: Все шпаргалки TechRepublic и руководства для умных людей

Что такое ARKit?

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

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

Обязательная к прочтению репортаж Apple

  • Apple представляет новые и улучшенные часы, iPhone и AirPods

  • Как изменить настройки Touch ID на MacBook Pro

  • Сэкономьте более 1000 долларов на восстановленном MacBook Air

  • Политика использования iCloud (TechRepublic Premium)

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

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

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

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

  • WWDC 2021: 5 лучших функций iOS 15 для бизнес-профессионалов (TechRepublic)
  • WWDC 2021: Apple добавляет новые функции конфиденциальности в iCloud, Siri, Mail и другие сервисы (TechRepublic)
  • Язык программирования Swift от Apple: руководство для умных людей (TechRepublic)
  • WWDC 2017: Apple запускает инструменты для разработчиков дополненной реальности с ARKit (ZDNet)
  • Apple заявляет, что новые iPhone «настраиваются специально для AR» (ZDNet)
  • Команды терминала macOS, которые должен знать каждый пользователь Mac (TechRepublic)
  • iOS 15: 3 главные функции, которые Apple должна включить (TechRepublic)

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

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

Приложения

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

ПОСМОТРЕТЬ: 10 хитростей по настройке macOS для вашего Mac (бесплатный PDF) (ТехРеспублика)

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

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

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

  • Дополненная реальность набирает большую популярность, чем виртуальная реальность на предприятии (TechRepublic Premium)
  • Google внедряет разработку дополненной реальности в телефоны Android (TechRepublic)

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

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

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

Игры

  • Egg, Inc. (бесплатно): Фермерская игра, в которой вы можете увидеть свою ферму, разложенную на столе или полу.
  • Thomas &amp; Friends Minis (бесплатно): В этой игре вы можете разложить на полу виртуальный поезд.
  • Разветвители (2,9 долл. США)9): В этой игре вы можете исследовать полностью играбельную версию игры, наложенную на пол.

Инструменты и другие приложения

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

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

  • Lowe’s использует ARKit от Apple для создания новых приложений для улучшения дома (ZDNet)
  • 23 лучших приложения ARKit, которые вы можете попробовать прямо сейчас (CNET)
  • Шаг за шагом изучайте программирование на Swift (Академия TechRepublic)
  • Master Unity Game Development: Ultimate Beginners Bootcamp (Академия TechRepublic)

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 ниже:

  • Погрузитесь в RealityKit 2

  • Изучите расширенный рендеринг с помощью RealityKit 2 (видео доступно 9 июня 2021 г. на веб-сайте WWDC21)

  • Исследуйте ARKit 5 (видео доступно 10 июня 2021 г. на веб-сайте WWDC21)

Reality Composer и RealityKit

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

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

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

  • WWDC 2019: самые важные выводы для разработчиков (TechRepublic)
  • WWDC 2019: руководство для профессионалов бизнеса (TechRepublic Premium)
  • Самые крутые новые функции AR от Apple работают только на iPad и iPhone с новейшими процессорами (CNET)
  • Чему новая игра Apple в боулинг с дополненной реальностью научила нас о будущем (CNET)
  • Генеральный директор Apple Тим Кук рекламирует корпоративную дополненную реальность, поскольку Apple и SAP продолжают интегрироваться (ZDNet)

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

ARKit был доступен разработчикам с июня 2017 года в бета-версии iOS 11 и бета-версии Xcode 9. Окончательная версия 1.0 ARKit была выпущена вместе с iOS 11 в сентябре 2017 года. Разработчики начали делать приложения ARKit доступными в App Store для iOS с 19 сентября 2017 года. ARKit поставляется в комплекте с последними iOS SDK внутри последних версий Xcode. ARKit поставляется с последними пакетами SDK для iOS внутри последних версий 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 выпущена для разработчиков на WWDC и представляет собой бета-версию ARKit 4 с улучшениями LiDAR для недавно выпущенного iPad Pro 2020 года с датчиком LiDAR.
  • Сентябрь 2020 г.: Выпущена общедоступная версия iOS 14, вместе с которой в App Store добавлены приложения, способные поддерживать ARKit 4.
  • Июнь 2021 г.: Apple выпускает бета-версию iOS 15 с ARKit 5 и RealityKit 2 вместе с Xcode 13 для разработки приложений с использованием этих технологий.

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

  • Udacity и Unity запускают новый курс обучения разработчиков стоимостью 200 долларов США для ARKit от Apple (TechRepublic)
  • Разработчики: это функции iPhone X, iPhone 8, Apple TV 4K и Apple Watch Series 3, которые вам нужно знать (TechRepublic)
  • Сможет ли Apple с iPhone X стать следующим лидером дополненной реальности? (ТехРеспублика)
  • Apple представляет iPhone 8, 8 Plus как «первый смартфон, разработанный для дополненной реальности» (TechRepublic)

Кори Бохон

Опубликовано:

Изменено:

Увидеть больше Программное обеспечение

Поделиться: ARKit от Apple: шпаргалка

  • Яблоко

  • Шпаргалки

  • Разработчик

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

Выбор редактора

  • Изображение: Rawpixel/Adobe Stock

    ТехРеспублика Премиум

    Редакционный календарь TechRepublic Premium: ИТ-политики, контрольные списки, наборы инструментов и исследования для загрузки

    Контент TechRepublic Premium поможет вам решить самые сложные проблемы с ИТ и дать толчок вашей карьере или новому проекту.

    Персонал TechRepublic

    Опубликовано:

    Изменено:

    Читать далее

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

  • Изображение: Адоб Сток

    Инновации

    Gartner выделяет 25 новых технологий в цикле ажиотажа 2022 года

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

    Эстер Шеин

    Опубликовано:

    Изменено:

    Читать далее

    Увидеть больше Инновации

  • Изображение: BillionPhotos. com/Adobe Stock

    CXO

    Топ-10 поставщиков ERP 2022 г.

    Вы ИТ-менеджер или руководитель и пытаетесь найти нового поставщика ERP? Сравните лучшие программные решения ERP с нашим списком сегодня.

    Бренна Майлз

    Опубликовано:

    Изменено:

    Читать далее

    Увидеть больше

  • Изображение: яблоко. На WWDC 2022 Apple объявила о запланированном выпуске следующей версии своей операционной системы Mac, macOS Ventura, на осень 2022 года.
  • Изображение: elenabsl/Adobe Stock

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

    Лучшие учебные курсы и программные предложения TechRepublic Academy 2022 года

    Получите выгодные предложения на учебные курсы для разработчиков и Linux, лицензии Microsoft Office и многое другое благодаря этим предложениям Академии TechRepublic.

    Бренна Майлз

    Опубликовано:

    Изменено:

    Читать далее

    Увидеть больше Программное обеспечение

  • Изображение: iStock/фототехно

    Облако

    Объяснение Multicloud: шпаргалка

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

    Мэтт Асай

    Опубликовано:

    Изменено:

    Читать далее

    Увидеть больше Облако

АРКит | Особенности, обновления, слухи


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


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

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

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

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

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

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

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

Функции ARKit

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

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

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

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

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

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

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

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

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

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

ARKit 6

Apple представила видео 4K HDR для AR-сцен с улучшениями в рендеринге сцен, записи и экспорте. Другие обновления были сделаны для улучшения ранее представленных функций, таких как захват движения и привязки местоположения.

ARKit 5

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

ARKit 4

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

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

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

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

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

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

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

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

LiDAR и ARKit 3.5

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

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

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

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

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

ARKit 3

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

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

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

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

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

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

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

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

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

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

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

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

23 лучших приложения ARKit для iPhone и iPad

1 из 38 Патрик Холланд/CNET

Если на вашем iPhone или iPad установлена ​​iOS 11 или 12, вам нужно попробовать на нем приложение дополненной реальности. Приложения AR улучшают реальный мир с помощью 3D-графики, измерительных инструментов, игр, обучения и многого другого.

Но какие приложения стоит попробовать? Мы часами прочесывали App Store в поисках наших любимых AR-игр, и вот те, которые, по нашему мнению, удивят вас.

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

2 из 38 Dumpling Design

Если вы обычно загружаете только бесплатные приложения для своего iPhone или iPad, вы можете пересмотреть свое мнение: за 1,99 доллара Smash Tanks может быть единственным лучшим способом показать друзьям и семье, как весело немного дополненной реальности. реальность может быть.

Он превращает ваш этаж в маленькое мультяшное поле битвы, где вы сбрасываете друг в друга группы симпатичных маленьких танков (что-то вроде Angry Birds) с большими, грохочущими бонусами, которые вы можете подобрать. Вы можете играть вдвоем с одним iPhone, но если у вас их два, вам не придется передавать устройство друг другу.

Посмотрите видео здесь.

3 из 38 Патрик Холланд/CNET

Если у вас есть какие-либо наборы Lego, обязательно установите приложение Lego Studio. Вы можете смешивать настоящие наборы Lego с версиями дополненной реальности, которых на самом деле не существует! Вы можете играть в игры, создавать сцены и записывать их как видео.

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

4 из 38 Sadness Шон Холлистер/CNET

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

(Я называю это «Бесконечная грусть») 

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

5 из 38 Скриншот Шона Холлистера/CNET

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

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

6 из 38 Скриншот Шона Холлистера/CNET

Нет, мы не волшебным образом телепортировали Porsche 718 Boxer на шестой этаж офисов CNET. (Мы хотим.) Но мы действительно внимательно рассмотрели автомобиль с помощью нового приложения AR от Porsche.

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

7 из 38 Скриншот Шона Холлистера/CNET

Или просто поставить эти машины в сумасшедшие ситуации — например, на этом железнодорожном пути.

8 из 38 Скриншот Шона Холлистера/CNET

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

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

9 из 38 Скриншот Джейсона Паркера/CNET

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

(Режим немного скрыт: запустите игру, выйдите из первого матча, затем проведите вправо по списку игр, чтобы найти его.)

10 из 38 Скриншот Шона Холлистера/CNET самое популярное использование ARKit прямо из ворот. Эта технология позволяет вам просто навести телефон на две разные точки, чтобы мгновенно определить расстояние между ними. Пока нам больше всего нравится MeasureKit.

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

11 из 38 Скриншот Шона Холлистера/CNET

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

12 из 38 Скриншоты Шона Холлистера/CNET

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

13 из 38 Патрик Холланд/CNET

Patrón Experience предназначен для работы на плоской поверхности, такой как барная стойка. Он начинается с растения голубой агавы, которое вырастает в полную гасиенду Patrón Hacienda среди рядов агавы. Очаровательный миниатюрный бармен проведет вас по дегустационным ноткам различных видов текилы.

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

Текила AR не вызовет похмелья, но тяга к текиле может возникнуть.

14 из 38 Macallan

Если текила вам не по вкусу, у производителя виски Macallan есть для вас приложение дополненной реальности. Macallan 12 AR Experience основан на передвижной галерее дополненной реальности, которая использует Microsoft Hololens для создания интерактивной выставки виски.

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

И хотя в нем нет очаровательного миниатюрного бармена, как в приложении Patrón, оно более интерактивно. Оно позволяет нажимать и перемещать ингредиенты и профили вкуса для двух сортов виски Macallan, выпущенных 12 лет назад: Double Cask 12 и Sherry Oak 12. Это приложение определенно нацелено на то, чтобы помочь любителям виски выйти на новый уровень вкуса.

15 из 38 Dance Reality/Скриншоты CNET

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

Практикуйтесь сами или пригласите партнера присоединиться к вам.

16 из 38 Скриншот Scott Stein/CNET

Что, если бы вы могли видеть звезды и определять планеты и созвездия среди бела дня? Это то, для чего предназначен Sky Guide — это приложение, которое отслеживает ваше точное положение, чтобы показать вам настоящие небесные объекты, которые вы бы увидели, если бы это была ясная темная ночь.

О, и вы можете соединить его с режимом покадровой съемки iPhone, чтобы сделать довольно аккуратное видео. Это стоит 2,99 доллара, 2,99 фунта стерлингов или 4,49 австралийского доллара.

17 из 38 Скриншоты CNET

ARKit от Apple породил совершенно новую категорию приложений «проверить, поместится ли мебель в моем доме», но ни одно из них не может сравниться с IKEA Place.

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

(Хотите посмотреть, как Скотт Стайн из CNET расставляет мебель на платформе метро? Нажмите здесь.)

18 из 38 Скриншот Шона Холлистера/CNET

Вы когда-нибудь хотели узнать, как работает тостер, замок или механическая коробка передач — и я имею в виду, что работает , а не только то, как они выглядят внутри? Jigspace предлагает вам анимированные пошаговые 3D-пошаговые руководства («Jigs»), где вы можете наблюдать за движущимися частями. ARKit означает, что вы можете положить его прямо на стол и наклониться, чтобы увидеть мелкие детали.

Пока не так много приспособлений, но, возможно, пользователи вдохновятся на создание своих собственных, когда компания выпустит инструмент Jig Workshop.

19 из 38 Скриншоты Шона Холлистера/CNET

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

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

20 из 38 PaintSpace AR

Вы слышали о Tilt Brush, приложении виртуальной реальности, которое позволяет рисовать светом и создавать 3D-рисунки, по которым можно ходить? ARKit от Apple привлекает несколько приложений с похожей идеей, и Paint Space AR является самым продвинутым. Просто рисуйте в воздухе, «комментируйте реальный мир», затем делайте скриншот или видео, чтобы поделиться с другими.

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

21 из 38 Скриншоты Шона Холлистера/CNET

Если вы не скажете это с помощью GIF или рисунков, может быть, вы скажете это простыми словами? Насколько мы можем судить, #wordup в настоящее время является самым простым способом заставить слова парить в воздухе. Почему вы хотите это сделать? Ну, это на самом деле зависит от вас, но самый простой плод — это предоставление людям видеотуров, в которых вы используете #wordup, чтобы выделять и описывать объекты в сцене.

Попробуй, может понравится.

22 из 38 Скриншот Джейсона Паркера/CNET

#wordup также позволяет немного возиться со шрифтами.

23 из 38 Скриншоты Шона Холлистера/CNET

Хотите знать, поместится ли новый автомобиль в вашем гараже или на парковке? Нет необходимости искать размеры в Интернете — новый вопрос «Подойдет ли?» Функция в обновленном приложении Edmunds для покупки автомобилей может быстро измерить ваш гараж и сравнить его с 3D-моделью автомобиля. Вы легко сможете увидеть, является ли автомобиль слишком длинным, слишком широким или слишком высоким.

24 из 38 Скриншоты Шона Холлистера/CNET

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

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

25 из 38 Скриншот Шона Холлистера/CNET

ZG: Revenant AR — это игра в жанре Tower Defense, но она не совсем похожа ни на одну из предыдущих игр. Ваш телефон — это боевой вертолет, который обстреливает атакующих зомби с неба. Чтобы приблизиться к действию, вы на самом деле опускаетесь со своим телефоном, а звук и вибрация игры отражают ваши движения в реальном мире.

26 из 38 Снимки экрана, сделанные Шоном Холлистером/CNET

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

Когда вы неизбежно промахиваетесь, башня поднимается из-под земли, и вы можете видеть, насколько высоко вы ее построили. Однако вы можете заплатить 1,99 доллара, 1,99 фунта стерлингов или 2,99 австралийского доллара, чтобы избавиться от рекламы.

27 из 38 Скриншоты: Шон Холлистер/CNET

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

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

28 из 38 Скриншот Шона Холлистера/CNET

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

Посмотрим, сколько времени потребуется, чтобы мошенники появились.

29 из 38 Скриншот Шона Холлистера/CNET

Ранее известный как Crayola Color Blaster и эксклюзивный для телефонов Google Tango, новый Color BlastAR сделал скачок в ARKit от Apple — и работает просто отлично! Уворачивайтесь от зомби, гуляя по своей комнате или парку в реальном мире, подбирайте ведра с краской и стреляйте разноцветными шарами в зомби, чтобы вернуть их к жизни. Возможно, немного повторяющийся для взрослых, но это точно похоже на детское представление о том, как хорошо провести время.

30 из 38 Патрик Холланд/CNET

Установка Math Ninja AR проста: вы решаете математические задачи. Хорошо, это звучит не слишком захватывающе, но то, как вы их решаете, делает эту маниакальную, но образовательную игру такой увлекательной.

На плоской поверхности проецируется AR-версия Ninja Town. Над городом висит математическая задача, и для ее решения нужно найти существо с правильным ответом. Как только вы решаете одну проблему, ее заменяет другая. Музыка из сямисэна создает напряжение, которое напоминает мне игру в тетрис на оригинальном GameBoy.

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

31 из 38 Патрик Холланд/CNET

Помните приложение Paper Toss? На экране была мусорная корзина, и вы могли щелкнуть по экрану, чтобы бросить бумажные комки в корзину. Это была идеальная одиночная игра для пустой траты времени. Приложение NBA AR имеет ту же атмосферу, и это хорошо.

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

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

32 из 38 Скриншот Шона Холлистера/CNET

Здесь пока не на что посмотреть или чем заняться, но черт возьми, если AR Dragon не один из самых симпатичных виртуальных питомцев, которых мы когда-либо видели. Определенно излучает атмосферу «Лило и Стича».

33 из 38 Скриншот Шона Холлистера/CNET

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

Чтобы попробовать, вам придется выложить 4,99, 4,99 или 7,99 долларов.

34 из 38 Скриншот Шона Холлистера/CNET

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

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

35 из 38 Скриншоты Шона Холлистера/CNET

Когда Warhammer 40,000: Freeblade объявил о поддержке ARKit, я надеюсь, вы не ожидали, что будете играть в эту игру таким образом. Это всего лишь фоторежим, так что вы можете сфотографировать своего героя в разных позах, как фигурку.

Ожидайте увидеть гораздо больше таких режимов дополненной реальности с токенами.

36 из 38 Скриншот Шона Холлистера/CNET

Мы были в восторге от Airway EX, которая позиционирует себя как «первая профессиональная видеоигра для практикующих анестезиологов, CRNA и медицинских работников, выполняющих процедуры на дыхательных путях».

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

37 из 38 Скриншоты Шона Холлистера/CNET

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

Другими словами: Вероятно, это будет хит.

38 из 38 Скриншоты Шона Холлистера/CNET

Не хочу.

13-этапное руководство по настройке Apple ARKit для начала разработки мобильных приложений дополненной реальности

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

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

ARKit — это платформа SDK для разработки приложений дополненной реальности в движках 3D-игр, таких как 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 — это то, что происходит, когда вы подносите свою мобильную камеру к чему-то, и ваш телефон генерирует запрограммированный ответ — или усиление — какого-то рода. Как солнцезащитные очки. Или зомби. Или миллион Rattatas, когда вам действительно не нужна еще одна Rattata.

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

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

Загрузите нашу 10-недельную программу курса «Разработка дополненной реальности с помощью Unity»

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

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

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

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

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

Шаг 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. Перейдите в меню «Файл» > «Настройки сборки» > нажмите «Сборка и запуск». » и посмотрите раздел «Подписание» на средней панели, щелкните раскрывающийся список «Команда», чтобы выбрать свою учетную запись разработчика Apple. Если нет, добавьте учетную запись. В разделе развертывания выберите свое устройство Apple iPhone/iPad.
  6. Выберите Продукт > Сборка. После завершения сборки перейдите в «Продукт» > «Выполнить 9».0025

iPhone/iPad:

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

Вы хотите создать AR для Android?

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

  • Создание AR с Vuforia (+ Unity)
  • Создание дополненной реальности с помощью ARCore (+ Unity)

Дополненная реальность в приложениях для iOS: руководство по разработке ARKit 2022

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

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

Как работает ARKit

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

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

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

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

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

Пример №1: Дополненная реальность в движущихся транспортных средствах

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

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

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

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

Если среднее значение 90 градусов и 92 градусов равно 91, разница в направлении незначительна. Однако среднее значение 360 градусов и 2 градусов равно 181. Это совсем другой результат, который может сбить с толку правильный рендеринг виртуальных объектов в ARKit. Это также приводило к некоторой задержке, когда пользователь быстро перемещал свое устройство.

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

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

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

Пример №2: Масштабирование сцен для дополненной реальности

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

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

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

Однако якоря местоположения доступны не во всех городах и еще не доступны в других районах, поэтому могут потребоваться альтернативные методы размещения, такие как маяки GPS, UWB или BLE.

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

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

Практический пример № 3: Навигация внутри помещений с дополненной реальностью

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

Однако навигация в помещении с AR не так проста. Без широкодоступного GPS можно легко потерять свое место в большом помещении, например, в торговом центре, конференц-центре или терминале аэропорта.

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

Использование инновационных технологий для определения местоположения внутри помещений

Чтобы обойти эту проблему, мы не можем полагаться на GPS. Другие технологии, такие как Bluetooth с низким энергопотреблением (BLE), время приема-передачи Wi-Fi (RTT) и сверхширокополосный диапазон (UWB), могут помочь нам достичь гораздо более точного местоположения для навигации в дополненной реальности. Как только положение пользователя будет найдено, ARKit и механизм рендеринга позаботятся обо всем остальном.

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

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

Распознавание изображений и машинное зрение

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

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

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

Рендеринг путей с дополненной реальностью: важность окклюзии

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

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

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

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

Посмотрите видео ниже, чтобы увидеть технологию внутренней навигации в действии!

Пример №4: дополненная реальность на основе лиц

Одним из преимуществ ARKit по сравнению с ARCore является аппаратная совместимость и качество. Камеры iPhone TrueDepth, начиная с iPhone X, обеспечивают очень стабильный и высокий уровень качества для дополненной реальности на основе лица. Подобно другим видам AR, эта технология работает в три этапа: отслеживание, анализ сцены и рендеринг.

Обработка данных ARKit приводит к отслеживанию данных, сетке лица и смешиванию форм. Данные отслеживания дают нам лучшее представление о том, где отображать контент при движении лица субъекта. Сетка лица генерирует геометрию лица. Blend shape — это части лица, которые имеют аналоговую информацию. Например, если бы глаза были полуоткрыты, результат для этой формы перехода составил бы 50%.

Дополненная реальность на основе лица полезна для масок для лица, которые обычно используются в таких приложениях, как Snapchat, а также для анимированных виртуальных лиц, таких как Animoji. Однако мы можем пойти дальше. AR на основе лица может помочь пользователям отслеживать потерю веса.

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

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

Будущее разработки ARKit

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

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

Клиент ARKit (iOS) — документация по NVIDIA CloudXR SDK

Клиент ARKit (iOS) — документация по NVIDIA CloudXR SDK

NVIDIA CloudXR SDK включает образец клиента ARKit для потоковой передачи дополненной реальности, который предназначен для работы с устройствами iPad и iPhone, поддерживающими ARKit SDK. Клиент декодирует видео и альфа-контент, которые передаются с сервера CloudXR, и смешивает видео с видом камеры устройства iOS. Клиент собирает данные о движении с устройства iOS и отправляет их на сервер CloudXR.

Примечание

  • Клиент iOS ARKit поставляется только в виде исходного кода.

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

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

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

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

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

Создание клиента ARKit

Исходные файлы находятся в папке sdk-root-folder\Sample\iOS . Если вы используете приложение на поддерживаемом устройстве, вы можете создать, настроить и использовать приложение в том виде, в котором оно поставляется.

  1. Перейдите в каталог Sample/iOS/CloudXRClient и откройте файл CloudXRClient.xcodeproj .

  2. В области навигации Xcode щелкните узел CloudXRClient для проекта.

  3. На главной панели в разделе Targets выберите CloudXRClient .

  4. На вкладке Signing and Capabilities обновите поле Team , указав свою команду разработчиков iOS.

    Обновление поля команды

  5. В строке заголовка установите цель как Любое устройство iOS (arm64) или конкретное устройство iOS, которое вы используете для разработки.

    Примечание

    CloudXR SDK не поддерживает работу в симуляторе на компьютерах Apple Mac.

    Установка цели

  6. Щелкните Выполнить .

Запуск клиента ARKit

  1. Запустите SteamVR в серверной системе.

  2. Запустите приложение CloudXR AR iOS Client .

    Экран подключения CloudXR ARKit

  3. Введите IP-адрес сервера CloudXR или подтвердите ранее введенное значение.

  4. Нажмите Подключить .

    Приложение попытается подключиться к указанному серверу.

  5. После успешного подключения появится вид с камеры.

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

    Обнаружение поверхности ARKit

  6. Коснитесь сетки, чтобы выбрать опорную точку для мира дополненной реальности.

  7. Приложение должно отображать потоковое видео из представления SteamVR по умолчанию или из приложения, которое уже запущено на сервере.

    Вид SteamVR по умолчанию

    Примечание

    Для потоковой передачи CloudXR с AR-контентом серверное приложение, которое является приложением OpenVR, предоставляет основную сцену для левого глаза, содержащую данные RGBA. Альфа-канал в данных указывает области, которые должны быть смешаны с содержимым камеры в реальном времени. Данные правого глаза игнорируются, но поскольку OpenVR требует отправки обоих глаз, для лучшей производительности мы рекомендуем, чтобы приложение также отправляло текстуру левого глаза как текстуру правого глаза, используя тот же дескриптор текстуры, или, при желании, отправляло небольшой фиктивный объект. текстура для правого глаза.

    В папке {sdk-root-folder}\TestTools находится базовое серверное приложение ar_test.exe , помогающее проиллюстрировать и проверить потоковую передачу AR.

  8. Запустите ar_test.exe на сервере после подключения, чтобы увидеть массив текстурированных кубов, смешанных с текущим видом камеры.

    Инструмент для тестирования Artest

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

scroll to top