Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard, и использованием студенческих смартфонов учителя могут отправлять свои классы на экскурсии в виртуальной реальности — гораздо более предпочтительную поездку для администраторов, чем вкладывать деньги в топливо для автобусов. Но помимо погружения студентов в бесполезные игры и экскурсии до тех пор, пока не начнется болезнь виртуальной реальности, как еще можно использовать виртуальную реальность в качестве инструмента обучения?

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

Тот, кто думает, что код нужно разрабатывать с нуля, обманывает себя. Кодирование редко выполняется изолированно и часто основывается на работе других. Семинар по виртуальной реальности познакомил меня с A-Frame, веб-платформой для создания опыта виртуальной реальности, как описано на ее веб-сайте. A-Frame поставляется с множеством документации, руководств и начального кода. Это действительно удивительная структура. Как группа семинара, мы использовали учебные пособия, чтобы лучше понять примитивные объекты, сущности и элементы фреймворка. A-Frame можно разместить на локальном сервере или получить к нему доступ с помощью онлайн-редактора кода, такого как CodePen, Mozilla Thimble или Glitch.

Кодирование в глюке

Glitch — это забавная игровая площадка для программирования, где поощряется ремикширование чужого кода для создания новых интересных программ. Это очень функциональный инструмент, полностью основанный на Интернете. Чтобы сохранить вашу работу, требуется учетная запись GitHub. У A-Frame есть репозиторий стартового кода на Glitch. В первом уроке по A-Frame вы научитесь играть с трехмерными примитивными геометрическими фигурами. Открыв Проект A-Frame на Glitch, я начал возиться (или ремикшировать) с 3D-фигурами, используя JavaScript и HTML. Каждый трехмерный объект имеет преобразования, которые можно изменить.

  • положение (оси X, Y и Z)
  • вращение (тангаж, рыскание и крен) — соответственно (вокруг оси X, вокруг оси Y и вокруг оси Z)
  • масштаб (направление X, направление Y и направление Z)

Очевидно, что первое, чему вы научитесь при кодировании мира виртуальной реальности, — это как ориентироваться в 3D-среде. A-Frame использует правостороннюю систему координат.

Изменение значений положения для оси X перемещает ваш объект вправо или влево. Любые изменения значений положения по оси Y перемещают ваш объект вверх и вниз. Значение положения по оси Z указывает, насколько близко объект находится к вам или камере. Вы можете использовать это значение положения, чтобы переместить объект ближе или дальше.

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

Что мне действительно нравится в редакторе кода Glitch, так это возможность работать с кодом и мгновенно видеть свои изменения. Просто нажав кнопку «Показать», я могу просмотреть среду виртуальной реальности в другой вкладке браузера. Если вам не нравится отдельная вкладка для просмотра вашей программы, Glitch также имеет режим разделения экрана — просто выберите кнопку «Оба». Теперь вы можете легко и быстро программировать и тестировать среду.

Интерактивный виртуальный мир

После того, как мы с партнерами по мастерской поиграли со стартовым кодом, мы перешли к уровню 2… анимации. Я не буду вдаваться в подробности, но мы начали следовать замечательным руководствам по A-Frame, чтобы начать создавать виртуальный мир, в котором пользователи могут взаимодействовать с сущностями. Это потребовало использования освещения и управления камерой, кольца курсора и raycasting — использования луча от камеры окружения, чтобы определить, куда смотрит пользователь. Хотя я еще не закончил свой проект VR-игры, не стесняйтесь взглянуть и сделать ремикс на Glitch!

Если вы хотите попробовать какой-либо из моих VR-проектов на Glitch с помощью гарнитуры VR, просто выберите значок VR в правом нижнем углу в режиме «Показать» в веб-браузере вашего смартфона. Затем вставьте телефон в гарнитуру VR и получайте удовольствие!