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

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

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

КОНЕЧНАЯ ЦЕЛЬ

Ниже представлена ​​демонстрация нашего эксперимента Javascript AR. Вы можете скачать приложение и поиграть с ним здесь.

Полный код был открыт для учебных целей и доступен здесь.

Процесс проектирования

Чтобы сделать обучение интересным и легким, я полагаюсь на следующие моменты:

  1. Активное участие ребенка
  2. Физическая активность ребенка вместо того, чтобы сидеть на одном месте
  3. Немного усилий в поиске алфавитов.
  4. Интуитивно понятный UX / UI.

Основная тема приложения будет очень похожа на известное приложение Pokemon Go с дополненной реальностью. Будут задействованы только два основных компонента: Окно обзора камеры и Алфавиты.

Alphabet UX для игры AR

Итерация 1

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

Как вы можете видеть выше, эффект погружения отсутствует в 2D-модели, потому что человеческий глаз видит вещи в 3D.

Итерация 2

Давайте попробуем создать 3D-модель и посмотрим, сможем ли мы улучшить нашу игру с дополненной реальностью на основе Javascript:

А ниже приведено сравнение опыта датчика движения с моделями алфавита 2d и 3d. Как видите, 3D, естественно, дает вам гораздо более захватывающий опыт, когда дело доходит до дополненной реальности.

Процесс внедрения дополненной реальности

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

  1. Ionic Framework: для создания гибридного приложения.
  2. Aframe: для того, чтобы добавить в наше приложение возможности виртуальной реальности (VR) и дополненной реальности (AR).
  3. MagicaVoxel: Для создания наших 3D-моделей.

Базовый процесс создания приложения очень прост. Вы можете следить за моей предыдущей публикацией, чтобы узнать, как создать и развернуть приложение с использованием Ionic framework здесь.

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

Просто загрузите указанные ниже библиотеки ядра Aframe и загрузчика Aframe в файл index.html проекта ionic:

<script src="https://aframe.io/releases/0.8.2/aframe.min.js"></script>
<script src="https://rawgit.com/donmccurdy/aframe-extras/v2.1.1/dist/aframe-extras.loaders.min.js"></script>

На этом мы готовы совершить магию AR / VR в нашей базе кода Javascript.

Теперь в файл home.html вашего домашнего компонента давайте добавим наши 3D-модели, экспортированные из magicavoxel:

И это должно подготовить 3D-сцену к взаимодействию со всеми датчиками движения:

Добавление эффекта дополненной реальности

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

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

Нам также необходимо обеспечить прозрачность фона, чтобы превью камеры было видно на мобильном устройстве. Это очень ВАЖНО, иначе вы можете подумать, что плагин не работает. Вот файл home.scss с включенной прозрачностью css:

И вот как это будет выглядеть в итоге:

Реакция пользователей на нашу JS-игру с дополненной реальностью

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

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

Отзывы пользователей о JS-игре с дополненной реальностью

Последние мысли

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

Не стесняйтесь комментировать и делиться своими отзывами.

Загрузки

Код этого приложения доступен в github. Не стесняйтесь играть и предлагать новые функции в нем. Я буду рад распространять обновления в продакшене.

Скачать приложение для android можно здесь.