Разработка системы - Разработка системы дополненной реальности с поддержкой распознавания жестов в режиме реального времени
1) Создание маркера
Для создания маркера дополненной реальности в составе Vuforia SDK имеется специальный Target Manager (рисунок 16), который обрабатывает заданное изображение, выделяет особые точки и формирует специальные файлы, используемые в дальнейшем для распознавания маркера.
Рисунок 16. Создание маркера дополненной реальности
2) Особенности создания виртуального объекта
В состав Vuforia SDK входят специально описанные объекты которые потом используются при разработке. Одним из таких объектов является Virtual Button.
Virtual Button - это специальные области на маркере, с которыми пользователь может напрямую взаимодействовать. В простейшем случае они реализуются как виртуальные кнопки, нажатие на которые инициализирует какое-либо действие.
Благодаря возможности перенастройки виртуальной кнопки во время выполнения, можно реализовать обработку жеста для перемещения объекта. Для этого необходимо связать саму кнопку с виртуальным объектом (рисунок 17). Это делается с помощью наследования. Во время выполнения жеста кнопка обрабатывает событие и перемещаться в нужную сторону, как и связанный с ней объект.
Рисунок 17. Создание виртуального объекта
Инициализация виртуального объекта:
Void Start(){ // Получаем дескриптор объекта Soccerball mSoccerball = transform. FindChild("soccerball").gameObject; // Регестрируем с virtual buttons TrackableBehaviour VirtualButtonBehaviour vb = GetComponentInChildren<VirtualButtonBehaviour>(); if (vb) { vb. RegisterEventHandler(this); } // Подгонка размеров под метку mForce *= transform. localScale. x; }
Обработка жеста "толкания":
Private void KickSoccerball(){ // Получаем границы метки Bounds targetBounds = this. collider. bounds; Rect targetRect = new Rect( - targetBounds. extents. x, - targetBounds. extents. z, targetBounds. size. x, targetBounds. size. z); // Определяем направление толчка с учетом того, что он должен остаться на метке Vector2 randomDir = new Vector2(); for (int i = 0; i < 20; i++) { randomDir = Random. insideUnitCircle. normalized; // возвращает позицию мяча Vector3 pos = mSoccerball. transform. localPosition * this. transform. localScale. x;
// Оценка конечного положения Vector2 finalPos = new Vector2(pos. x, pos. z) + randomDir * mForce * 1.5f; if (targetRect. Contains(finalPos)) { break; } } // Направление движения Vector3 kickDir = new Vector3(randomDir. x, 0, randomDir. y).normalized; // Вращение мяча в правильном направлении Vector3 torqueDir = Vector3.Cross(Vector3.up, kickDir).normalized; mSoccerball. rigidbody. AddForce(kickDir * mForce, ForceMode. VelocityChange); mSoccerball. rigidbody. AddTorque(torqueDir * mForce, ForceMode. VelocityChange); mIsRolling = true; mTimeRolling = 0.0f; }
3) Результат
В результате было создано приложение для iPad, способное распознавать жест "толкания" пользователя, на который реагирует виртуальный объект (рисунок 18).
Рисунок 18. Реакция вириального мячика на "толчок"
Похожие статьи
-
Для того чтобы далее исследовать потенциал использования жестов для систем дополненной реальности, рассмотрим манипуляции виртуальными объектами,...
-
Человек получает представление об окружающем пространстве с помощью большого набора органов чувств. Система дополненной реальности, являясь посредником...
-
Хотя существует множество инновационных способов использования дополненной реальности, можно выделить четыре типа приложений, в которых чаще всего...
-
Основными устройствами, используемым в системах дополненной реальности являются дисплеи, устройства ввода, устройства отслеживания и компьютер. Дисплеи...
-
Общая характеристика Для оценки общей возможности распознавания жестов в мобильных АR, сравним стандартные взаимодействия, через сенсорный экран, и тип...
-
Мобильные приложения дополненной реальности чаще всего являются развлекательными, образовательными, навигационными или информационные. Например...
-
Определение дополненной реальности Термин дополненной реальности (augmented reality, AR) предположительно был предложен работавшим на корпорацию Boeing...
-
Прототип системы разрабатывался для мобильных устройств под управление операционной системы iOS. Для разработки использовался Фреймворк Vuforia SDK и...
-
Выбор Фреймворка для разработки системы Перед началом разработки необходимо произвести выбор Фреймворка (набора библиотек). Обзор альтернатив OpenCV -...
-
Хорошо известно, что для качественных AR систем, чтобы предоставить реалистичный результат требуется очень точно отслеживать реальную среду для...
-
Рассмотри несколько видов взаимодействия, которые могли бы решить поставленную задачу. Для простоты рассмотрим взаимодействие с виртуальным объектом...
-
Развлекательная и образовательная область включает в себя "культурные" приложения для осмотра достопримечательностей и музейные путеводители, игровые...
-
Один из наиболее важных аспектов при создании систем дополненной реальности - это создать соответствующий интуитивно понятный интерфейс между...
-
В мобильной дополненной реальности (AR), пользователи смотрят на прямое изображение, полученное с видеокамеры на их мобильном устройстве и сцены, которые...
-
Второй вид взаимодействия использует положения и ориентации устройства (определяется с помощь данных, полученных со встроенного акселерометра и компаса)...
-
Мобильные системы дополненной реальности включают в себя мобильные приложения для телефонов. Мобильные AR подразумевают использование различных мобильных...
-
Мультимодальные интерфейсы объединяют реальные формы устройств ввода с натуральными формами языка и поведения, такими как речь, осязание, жесты рукой или...
-
Многие исследовательские группы поднимали проблему социально приемлемых технологий. Мобильные системы, постоянно сталкиваются с проблемой социального...
-
Совместные AR интерфейсы включают в себя использование нескольких дисплеев для поддержки удаленной совместной деятельности. Для создания совместной...
-
Существует достаточно широкий спектр областей науки и техники, в которых может применяться дополненная реальность. Однако в первую очередь можно выделить...
-
Таблица 2. Таблица альтернатив и критериев Критерии альтернативы Кроссплатформенность Наличие документации и литературы Поддержка различных языков...
-
Есть много типов устройств ввода для AR систем. Некоторые системы используют перчатки. Другие, такие как ReachMedia [13] используют беспроводные...
-
Работа со меню и списками Внешний вид списка Пример внешнего вида списка приведен на рисунке 7. Рисунок 7 -- Внешний вид списка. Каждый раздел Системы...
-
Основные понятия СУБД Microsoft Access Microsoft Access - это система управления базами данных, предназначенная для создания и обслуживания баз данных,...
-
ЗАКЛЮЧЕНИЕ - Разработка автоматизированной системы учета материальных ценностей "АС УМЦ"
В выполненной курсовой работе было рассмотрено создание Автоматизированной Системы Учета Материальных Ценностей. Созданная Система имеет следующие...
-
Формы - Разработка информационной системы "Гостиница"
Главное предназначение формы в состоит в том, чтобы организовать удобную работу с данными (с понятным и приятным интерфейсом), чего нельзя добиться при...
-
- Статические ЭС разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются во времени. Они стабильны. Пример:...
-
Перед началом непосредственного использования программы "Сервер опроса", следует создать рабочую конфигурацию сервера с помощью программы - конфигуратора...
-
Цель Работы - изучить приемы создания и использования шаблонов классов. - Теоретические сведения Достаточно часто встречаются классы, объекты которых...
-
Цель Работы - изучить одну из базовых концепций ООП, наследование классов в С++, заключающуюся в построении цепочек классов, связанных иерархически,...
-
Таблицы СУБД Microsoft Access - Разработка информационной системы "Гостиница"
Таблицы - это основной объект базы данных, в котором хранятся все данные, имеющиеся в базе, а также структура базы (поля, их типы, свойства). База данных...
-
Для информационной безопасности было создано окно для ввода логина и пароля (Рисунок 2.3). Рисунок 2.3 - Окно входа в БД После входа в систему...
-
Введение - Система поддержки принятия решений
Современные системы поддержки принятия решения (СППР) представляют собой системы, максимально приспособленные к решению задач повседневной управленческой...
-
Создание форм для ввода данных, Создание отчетов - Разработка информационной системы "Гостиница"
Для того чтобы нам было в дальнейшем удобно и быстро работать с базой данной мы должны создать ряд нужных форм. Формы в БД Access можно создавать с...
-
Установка связей между таблицами - Разработка информационной системы "Гостиница"
После создания всех нужных таблиц устанавливаем связи между одноименными полями таблиц. Связь данных в одной таблице с данными в других таблицах...
-
Предложенный подход к решению задач исследования Используя в качестве основы присутствующее в наличии программное обеспечение, которое применимо к...
-
Разработка клиент-серверной части проекта, то есть связь между клиентским приложением и базой данных, реализуется при помощи специальной библиотеки MySQL...
-
Общие сведения о тестировании Данный раздел посвящен проведению тестирования клиентского приложения. Тестирование для серверной части системы не...
-
Цель Работы - использовать принципы архитектуры "Документ-Представление" для выборки и сохранения данных в файлах, а также взаимодействия элементов меню,...
-
Цель Работы - изучить принципы работы элементов управления Progress и Slider. Получить навыки по самостоятельному созданию модальных диалоговых окон. -...
Разработка системы - Разработка системы дополненной реальности с поддержкой распознавания жестов в режиме реального времени