Меню

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

Содержание

Тестируем возможности 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


habr.com

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

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

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

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

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

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

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

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

«Minecraft»

«Аэроплан FK23»

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

«Парковка»

ARKit + Unity + Overwatch

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

«Робот BB-8»

appstudio.org

40 эффектных ARKit демок, которые вскоре увидят мир / Habr

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

Итак, перейдем к рассмотрению демоприложений с применением ARKit.


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

1. Линейка Ruler

Ссылки: github | Gif-анимация 25 МБ | Gif-анимация 37 МБ

2. MeasureARKit

Еще один пример проекта, позволяющего измерять расстояния в дополненной реальности.

Ссылки: github


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

3. ARKit-line-drawing

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

Ссылки: github

4. ARBrush

Этот проект демонстрирует рисование в 3D. Приложение использует Metal в сочетании со SceneKit.

Ссылки: github


5. ARPaint

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

Ссылки: github | Tutorial



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

6. IKEA Place

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


7. Vaillant Future Home

8. ARkit + Unity for Architecture

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


9. ARkit architectural test

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


10. Спальня Ван Гога

Тур в спальню Ван Гога прямо у вас на столе.



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

11. Самолёт

Теперь есть возможность рассматривать объемные 3D-модели вблизи, модель не пропадает, даже если приближать камеру к самым мелким деталям объекта.


12. Автомобиль Тесла

Буквально пару дней назад у приложения появилось обновление, в котором внедрен UI в виде педалей и руля, кроме того, есть «дизайн-студия», в которой пользователь может немного поменять экстерьер 3D-модели. Похоже, это будет крутое развлечение.




13. Использование в картах Apple Map

Используя возможности ARKit, стандартное приложение “Карты” позволяет перемещаться в пространстве 3D-карты (например, в Сиднее вокруг оперного театра), при физическом движении пользователя с девайсом и перемещении самого девайса в пространстве. Для этой функции в iOS 11 будет предусмотрен особый режим “вид с высоты птичьего полета”, который будет по началу доступен лишь для ограниченного количества городов. Кроме того, приложение “Карты” получит функцию гида посредством внедрения 3D-модели в виде указательной стрелки в дополненной реальности. Также приложение будет включать VR режим.


14. ARKit CoreLocation

Приложение использует сразу две технологии: непосредственно ARKit, который работает с данными камеры и датчиков движения для отображения окружающего мира при движении, а также CoreLocation, использующий данные Wi-Fi и GPS для определения местоположения. Комбинация ARKit + CoreLocation в результате показывает высокую точность AR. Также в дополненной реальности появляются стрелки и надписи, указывающие маршрут движения к заданной локации.

Ссылки: github


15. Поисковик друзей

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


16. Properly

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


17. AR Shopping Waypoints

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

18. Портал в другое измерение




Как и следовало ожидать, это направление наиболее сильно задействует технологию ARKit. За довольно короткий срок уже успело появиться множество демоверсий в различных игровых жанрах: от простых развлечений вроде змейки или спиннера до масштабных космических баталий. ARKit делает игру в дополненной реальности более яркой и интересной.
19. The Very Hungry Caterpillar

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


20. The Walking Dead: Our World

“Ходячий мертвец” — игра по мотивам популярного фильма. Перед игроком появляется указатель в виде “следов мертвеца”, который ведёт его в пространстве. В игре применена новая функция ARKit под названием ARPointCloud, благодаря которой достигается эффект внезапного появления зомби. Отметим еще одну важную особенность: в приложении есть возможность многопользовательской игры с соответствующим функционалом, благодаря чему Вы сможете сразиться с агрессивной армией зомби вместе с Вашим другом. В анонсе говорится, что игра выйдет также и на Android, очевидно с использованием Google ARCore.


21. Спиннер 3D


22. Мамонт мини-гольф


23. Морской бой

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


24. 3DSnakeAR

Хорошо известная змейка в дополненной реальности. Управление змейкой по свайпу вправо или влево. Проект демонстрирует определение плоскостей в пространстве, разработан с применением технологий ARKit и SceneKit.

Ссылки: github


25. ARKit-Tictactoe

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

Ссылки: github


26. ARTetris

Тетрис в дополненной реальности, сделанный с использованием технологий ARKit и SceneKit.

Ссылки: github


27. Пивной теннис

Работает на горизонтальной поверхности.


28. Преследующий монстр



29. Хорошие пёсики

Набор 3D-моделей собачек, которые появляются в реальности для фотографий рядом с Вами. Разработчики обозначают приложение юморным хештегом "#DogmentedReality".


30. Собачка «Догго»

Анимированная 3D-модель собачки. Простой функционал: есть возможность бросить палку на несколько метров, собачка побежит за ней и принесет её Вам.


31. Волк

Ссылки: github



Информация может быть воспринята гораздо интереснее, если её преподнести таким необычным способом.

32. ARCharts

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

Ссылки: github


33. ARSolarPlay

Планеты солнечной системы.

Ссылки: github


34. Лава

Базовый пример работы ARKit, который определяет плоскости и размещает на них модель эффектной огненной лавы. Однако разработчики не остановились на такой банальности: теперь приложение не просто добавляет анимированную 3D-модель, но «изменяет» реальные поверхности, делая из них самих кипящую лаву!

35. Еда в дополненной реальности

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


36. ARKit в очках VR

Используя ARKit, этот проект демонстрирует новые фичи для движений внутри VR либо AR сцен. Приложение распознает физические объекты и препятствия для движения в реальном мире, размещая в эти локации объекты виртуальной реальности. Таким образом, приложение не только предотвращает возможное столкновение с физическим объектом, но и делает взаимодействие с виртуальной средой более интерактивным.


37. AR3DScan

Попытка 3D-сканирования с ARKit. Слишком слабенько, но всё же.


38. Dance Reality

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


39. Анимированные короткометражки

Об этом стоит упомянуть отдельным пунктом, поскольку анимированные короткометражки в AR могут открыть новую эпоху в киноиндустрии, предоставляя новые возможности для сторителлинга. Технологией уже заинтересовались многие киногиганты, в частности, создатели “Властелина колец”. Всё дело в том, что такой “фильм” можно рассматривать с разных сторон сцены, перемещая девайс в пространстве вокруг стола, открывая таким образом новые детали сюжета. Деморолик такой короткометражки неслучайно был показан в качестве презентации ARKit на WWDC 2017.


40. Giphy World

Как видно из названия, речь идет о gif-анимациях. Разработчик приложения — известный сервис для поиска и редактирования gif-анимаций. Приложение позволяет размещать 2D-анимации и мультяшные изображения и привязывать их к конкретным локациям в реальном пространстве. Как показано в демовидео, с помощью приложения пользователь может создать, например, инструкцию для няни, используя летающие в воздухе пояснения в виде анимированных изображений.


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

Спасибо!

habr.com

возможности и примеры / Habr

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

В технологических гигантах, очевидно, понимают этот тренд. Google для своей мобильной операционки Android разработала инструмент Project Tango, с помощью которого элементы дополненной реальности можно просматривать на экране смартфона. Apple не отстаёт: на конференции WWDC этого года компания представила инструмент для iOS с говорящим названием ARKit. Разработчики с энтузиазмом начали экспериментировать. Появились приложения для парковки гоночных машин на стоянку, танцев роботов на кухне и посадки первой ступени Falcon 9 в бассейн, а осенью поддержку технологии получит игра Pokemon Go. Давайте обсудим несколько потенциальных направлений для использования дополненной реальности, включая развлечения (PornHub?), обучение и медицинские цели и посмотрим на самые интересные работы.



Хирурги тренируют навыки с помощью операций на тренажёрах, чтобы не отправлять в расход пациентов. В нью-йоркском медколледже Weill Cornell есть специальная комната, оборудованная системой виртуальной реальности. В тех же целях может использоваться дополненная реальность: студенты смогут стоять у бюста и рассматривать, что находится внутри его черепа, как в видео с джунглями в гараже. Учитывая, что для неё не нужно специальное оборудование, часть студентов сможет тренироваться очень часто.

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

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

Если вернуться к упоминанию медицины, то ещё в 2014 году Google Glass начали использовать для помощи людям с болезнью Паркинсона. Очки дополненной реальности напоминают о приёме лекарств, при необходимости «будят» пациента, отображают визуальные подсказки. Робот на экране мог бы стать подобным виртуальным помощником для детей или для взрослых.

На стыке развлечений и образования находятся работы Томаса Гарсии. Первым он представил проект по посадке лунного модуля на Луну. Позже он на заднем дворе своего дома посадил ступень Falcon 9 на морскую платформу в бассейне.

Смотрите видео со звуком.

«Страдаешь от одиночества? Устал работать самостоятельно? Ненавидишь принимать решения?
Собери совещание!» — народная мудрость. Коллегам теперь можно показать объёмные диаграммы, висящие прямо в воздухе в переговорной, превратив скучную встречу в высокотехнологичное совещание из будущего.

Помните, как лет 10-12 назад можно было убивать комаров в дополненной реальности на экране Nokia 3650? Теперь у нас есть то же самое, но на iPhone, и с 8-битными инопланетянами в стиле Space Invaders из далёких 1970-х.

А как насчёт поиграть в Dead House в собственной квартире — разве не чудесная идея?

Танки или крейсеры на полу квартиры будут смотреться крайне интересно.

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

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

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

Далее на видео — два человека, играющие в баскетбол: я раза три пересмотрел, пока понял, что их обоих нет в реальности. Затем — героиня Overwatch.

Google работает с дополненной реальностью долгие годы. У нас были очки Google Glass, которые до сих пор используют для исследовательских целей, и есть Project Tango, который поддерживает лишь несколько устройств. Для Tango нужны дополнительные датчики и совместимые процессоры, что на рынке Android, богатом на производителей, обеспечить сложно. С другой стороны, технология от Apple будет работать со всеми устройствами на iOS 11 и процессорами A9 и A10, то есть с iPhone 6S и выше и iPad 7-го поколения.

Количество устройств по сравнению с Tango получается огромным: по итогам 2016 года 34% всех активированных в США телефонов были сделаны Apple.

habr.com

6 вышли, 6 нужно подождать

Обновлено: через несколько часов после публикации статьи вышла The Machines, стратегическая игра с презентации iPhone X. Мы переместили её из списка ожидаемых в список выпущенных и подправили название статьи.


Apple выпускает iOS 11 c полной финальной поддержкой движка ARKit. Обновлённая операционная система повысила планку качества дополненной реальности для сотен миллионов устройств, с iPhone 6S и SE до iPhone X.

Новый пользовательский интерфейс и оптимизированный магазин приложений — это и многое другое сделает работу с iPhone и iPad удобнее. Однако, если вы читаете этот текст на Голографике, по-настоящему вас интересует именно дополненная реальность. У нас две новости: плохая и хорошая.

Плохая в том, что Apple не почерпнула опыт Valve и не выделила приложения с поддержкой ARKit в отдельный раздел, как Valve сделала с приложениями виртуальной реальности в магазине Steam. Это сделало бы их поиск куда проще, а сами приложения — популярнее. Возможно, в Apple хотят, чтобы ДР не влияла на популярность приложений на пике так называемого «хайпа» — пусть хороший софт будет востребован с любым интерфейсом.

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

The Machines

The Machines от студии Directive Games стала героиней презентации iPhone X. Это многопользовательская стратегия в реальном времени и реальном окружении: поле битвы разворачивается там, куда пользователи его поместят: на полу, на столе или любой другой подходящей поверхности. Помимо всех преимуществ ARKit, таких как реалистичное освещение, игра использует высококачественную графику на Unreal Engine 4 и Metal 2.

Описание от разработчика:

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

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

Warhammer 40,000: Freeblade

Вселенная «Warhammer 40,000» подарила нам одну из первых игр с поддержкой дополненной реальности. Правда, она никак не используется в геймплее. Вы просто можете сделать фото с персонажем игры.

Описание от разработчика:

Когда родину молодого имперского рыцаря разрушают силы Хаоса, он вступает в ряды космодесантников легиона «Тёмные Ангелы», став Вольным клинком. Насладитесь эпичным сюжетом из более чем 170 одиночных миссий, командуя Вольным клинком на пути чести, искупления и возмездия. Испытайте свои навыки и патрулируйте мир Тарниса, уничтожая бесконечные волны захватчиков.

AR Sports Basketball

Бросать мяч в корзину можно где угодно, даже если у вас нет ни мяча, ни корзины. Даже если у вас нет вообще ничего, кроме смартфона. Студия Triangle Factory предлагает с помощью дополненной реальности поставить баскетбольную корзину настольного или полного размера и бросать в неё виртуальные мячи. Так просто и со вкусом можно скрасить ожидание в метро или день в офисе. Жаль, что нет мультиплеера.

Описание от разработчика:

Бросайте в кольцо в любом месте и в любое время с этой баскетбольной игрой дополненной реальности исключительно для Apple ARKit.

CARROT Weather

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

Описание от разработчика:

CARROT Weather — это безумно мощное погодное приложение, которое предоставляет забавные кольцевые прогнозы. Используйте ДР-режим CARROT в окружающем мире. Только не ткните её глазной датчик.

One Drop

Вас может удивить наличие в нашей подборке приложения для борьбы (лучше сказать — нормальной жизни) с диабетом. Тем не менее, One Drop является одним из самых передовых медицинских приложений в App Store, а дополненная реальность добавила ему очков перед конкурентами. Не все смогут полноценно протестировать этот специфический софт хотя бы потому, что для этого надо оформить платную месячную подписку, по которой вам привезут специальный беспроводной глюкометр и тест-полоски на сахар крови. Но если One Drop может сделать вашу жизнь лучше, дополненная реальность станет приятным бонусом.

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

Описание от разработчика (мы позволили себе подправить текст из-за ошибок, допущенных переводчиками оригинального текста в магазине):

One Drop | Mobile — бесплатное приложение, удостоенное наград и наполненное функциями, которые помогут вам справиться с диабетом.

One Drop через приложение «Здоровье» синхронизирует данные с тысячами приложений: Dexcom, One Touch, Accu-Chek, Agamatrix, iHealth, Dario, Garmin, Fitbit, Nike +, UP by Jawbone, Misfit, Pebble, Human, Strava, My Fitness Pal, Lose it !, Lark, Weight Watchers, Withings. Встроены плановые медикаментозные напоминания и данные о глюкозном насосе.

Complete Anatomy 2018 +Courses (только для iPad Pro)

Ещё одно медицинское приложение направлено не на терапию, а на образование. Перед вами анатомический справочник, который iOS 11 сделала намного нагляднее. Теперь подробные анатомические модели можно осматривать прямо в реальном мире с разных расстояний и углов обзора. Это атлас тела, который, вместо плоских картинок и столь же плоских моделей на экране, показывает примеры буквально вокруг вас. Особо впечатлительные могут использовать приложение как познавательную страшилку;).

Описание от разработчика:

Преобразите своё анатомическое обучение с Complete Anatomy. Исследуйте самую подробную анатомическую 3D-модель из когда-либо созданных с невероятными уровнями анатомической точности и текстурами высокого разрешения. Откройте для себя богатую библиотеку справочного контента, созданного экспертами по предмету. Поделитесь своей работой и сотрудничайте со своими одноклассниками и преподавателями.

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

Ожидаемые приложения

История iOS 11 только началась. В России на момент написания этой статьи нельзя купить даже iPhone 8, 8 Plus и X, но и приложений с ARKit почти нет, хотя они появляются с завидной скоростью. Чтобы подготовить вас к развитию событий, мы представляем небольшой список софта, который вскоре должен показать весь класс дополненной реальности по версии Apple. Некоторые из этих приложений компания представила вместе с новыми iPhone.

SketchAR

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

SketchAR уже вышло, но пока не обзавелось поддержкой ARKit.

ARrived

Luden.io создаёт симулятор бога и использует для этого ARKit с самого начала разработки. Игра ARrived задумана как поучительная постановка о том, как адаптироваться к меняющимся условиям самому и помочь адаптироваться другим. Вам предстоит управлять первобытным племенем и вести его через все невзгоды и радости.

Sky Guide

Известное приложение для наблюдения за звёздным небом получит обновление с ARKit. Движок позволит более точно накладывать созвездия на небо днём и ночью, изучая места далеко за пределами Земли. Этот софт был выбран Apple для презентации iPhone 8.

At Bat от MLB.com

Это приложение вряд ли заинтересует отечественных пользователей, но всё равно является примером прогресса в отрасли. Американская Главная лига бейсбола обновит своё официальное приложение, добавив режим динамического наложения статистики на реальное игровое поле. Изучение At Bat с выпуском апдейта будет показано всем трансляционным холдингам в мире.

IKEA Place

У IKEA многолетний опыт создания дополненной реальности. Она добавляла ДР в свой знаменитый каталог, давала возможность примерить свои товары, размещая их в помещениях. А теперь пришло время объединить всё в одно приложение. Говорят, что в IKEA Place будет 2000 трёхмерных моделей мебели и аксессуаров для дополненной реальности. Если это так, шведы снова впереди планеты всей.

LEGO

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

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

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

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

Поддержи Голографику на Patreon!

holographica.space

Что такое ARKit? Дополненная реальность для каждого в iOS 11

Что такое ArKit? Недавно компания Apple объявила о создании AR-платформы в iOS 11. Для разработчиков уже доступен специальный набор инструментов для создания приложений с дополненной реальностью.

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

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

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

ARKit будет работать на следующих устройствах (тех же самых, что поддерживают iOS 11):

  • iPhone SE
  • iPhone 6s
  • iPhone 6s Plus
  • iPhone 7
  • iPhone 7 Plus
  • iPhone 8
  • iPhone 8 Plus
  • iPhone X
  • iPad Pro 9.7
  • iPad Pro 10.5
  • iPad Pro 12.7

Что может ARKit?

Декорирование пространства

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

Автомобили

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

Меню в кафе/ресторанах с дополненной реальностью

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

Навигация по супермаркету

Это просто идеально! Например, таким образом не заблудишься в большом супермаркете в поисках зубной щетки.

Линейка

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

Игры

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

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

kanobu.ru

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

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

Новые миры

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

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

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

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

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

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

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

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

Карты

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

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

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

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

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

Игры

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

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

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

Ремонт

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

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

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

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

Работа

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

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

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

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

lifehacker.ru

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

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