Дополненная реальность для детей: урок Scratch-программирования

Наверняка вы слышали о таких играх, как Jazz Dance и Pokemon Go. Их необычный геймплей основан на том, что на экране перед нами реальный мир через камеру вашего устройства. Игра изменяет его, дополняя к реальности цифровые объекты. Если вашего ребенка захватила технология AR, то знайте: это может быть больше, чем просто игрушка!

Дополненная реальность для детей: урок Scratch-программирования

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

Настало время и нам прикоснуться к этой ветви на дереве IT-технологий. В очередном уроке Scratch на русском мы сделаем игру с элементами AR на платформе визуальной среды программирования Scratch.

Дополненная реальность в Скретч: что будем делать?

Scratch — специально разработанный для детей конструктор и онлайн-платформа для обучения программированию. Несмотря на то, что программирование в нем выполняется с помощью графических блоков с разными функциями, которые нужно объединять перетаскиванием (drag-and-drop) в единый алгоритм, возможности Scratch не сильно уступают традиционным языкам, в которых код пишут.

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

Мы сделаем игру, в которой из одного угла экрана в другой случайно перемещается, скажем, баскетбольный мяч. На заднем плане будем сидеть мы. Игра нас будет видеть благодаря камере лэптопа. Если собьем мяч рукой, то его изображение размоется благодаря эффекту «укрупнения пикселей». Мяч пропадет, а за попадание нам зачислится очко. Впрочем, лучше один раз увидеть.

Если вам удобнее визуальная подача, смотрите о том, как сделать AR-игру в нашем видеоуроке Scratch.

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

  1. Перейдите на специальный сайт для детей Скретч, где можно программировать (https://scratch.mit.edu/). Создайте новый «Спрайт». Выберите на плашке «Спрайт» пункт «Выбрать спрайт» или «Choose Sprite», если у вас русский язык интерфейса. Можете выбрать любой из набора готовых спрайтов или загрузить собственный. Мы будем в игре использовать баскетбольный мяч.
Дополненная реальность для детей: урок Scratch-программирования
Дополненная реальность для детей: урок Scratch-программирования

2. Спрайт справа внизу у вас должен быть после этого выделен. Если этого не произошло — выделите его. Перейдите на вкладку «код» и из предложенных групп «визуальных блоков» выберите группу «События» (Events).

У нас есть цикл обучающих видеоуроков по Scratch на русском, они помогут разобраться во всех тонкостях Scratch.

Нам понадобится первый же компонент, который называется «Когда нажат» (When clicked). Подхватите блок кликом левой кнопки мышки по нему. Не отпуская кнопку, перетащите блок в рабочую область. Попробуйте создать игру с AR вместе с вашими детьми. Программа на Скретч с элементами дополненной реальности – один из самых интересных проектов, которые можно реализовать.

Дополненная реальность для детей: урок Scratch-программирования
Дополненная реальность для детей: урок Scratch-программирования

3. Начало положено! Если хотите получить больше уроков и примеров программ Scratch, смотрите наши видео на Youtube. Ну а мы продолжаем делать нашу AR-игру.

Теперь найдите в группах блоков разного цвета справа раздел «Переменные» (Variables). Вверху будет видна опция «Создать переменную», или Make a Variable. Нажмите ее, нам нужно создать счетчик пойманных мячей.

В открывшемся диалоговом окне назовите переменную «очков» (Сколько очков?), оставив другие настройки без изменений. Переменная должна была появиться у вас на плашке с левой стороны экрана.

Появилась? Здорово! Там же, в разделе переменные имеется блок «Задать значение» или set to, если у вас англоязычный интерфейс. Перенесите его в рабочую область под уже добавленный блок. В каскадном меню внутри блока выберите нашу переменную «очков» и присвойте ей значение 0.

Дополненная реальность для детей: урок Scratch-программирования
Дополненная реальность для детей: урок Scratch-программирования

4. Реализуя нашу игру вы и сами не заметите, как освоите основы языка программирования Scratch. Выберите группу блоков «Внешний вид» (Looks) и добавьте ниже первых двух блоков новый блок «спрятаться» (hide). Следующий блок – из группы «События» (Events) – «Передать сообщение» (Broadcast message). В параметрах указываем «Клон сферы».

Новый блок: подцепляем снизу цикл «Повторять всегда» из группы Управление (Control). По-английски на этом блоке просто написано «forever». Внутрь цикла «Повторять всегда» вставляем условие «Если, то» (If then). Находим в «зеленой» группе блоков «Operators» (Операторы) маленький блок с двумя параметрами и значком, что левое значение больше «>» правого. Его, в свою очередь, вставляем внутрь условия «if». Правый параметр указываем «30».

Узнайте, как создать другую игру – Зомби в нашем онлайн-видео для детей.

То есть, нечто должно быть больше «30». Не пугайтесь того, что некоторые значения мы оставляем пустыми. Пока мы делаем структуру и вернемся к ним. Внутрь условия помещаем уже знакомый нам блок «передать сообщение». Сообщение будет «Порезать сферу». В дальнейшем станет понятно, зачем нам столь странные названия. У нас получилось, что сообщение должно быть передано при наступлении условия в блоке «если». Давайте сверимся, что у нас получилось.

Дополненная реальность для детей: урок Scratch-программирования

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

Дополненная реальность для детей: урок Scratch-программирования

Если у вас англоязычный интерфейс Scratch, то блоки будут подписаны скорее так:

Дополненная реальность для детей: урок Scratch-программирования

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

Но вернемся к коду. Если значение X положительное, то мяч вылетает с одной стороны, если отрицательное, то появляется с другой. После того, как мяч продвигается до другой стороны экрана – он пропадает. Когда в скрипт с помощью блока «передать» поступает сообщение «клон сферы» мы возвращаемся к началу и повторяем появление мяча. Первые несколько блоков этой части кода отвечают за реакцию мяча на прикосновение.

Само событие прикосновения и взаимодействие с камерой мы обработаем позднее, а сейчас просто пропишем алгоритм для мяча в случае этого события.

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

Как мы всегда говорим на курсах программирования Scratch: глаза боятся – руки делают. Ее предназначение станет яснее после того, как мы добавим в Scratch расширение, которое включит в нашу игру изображение с камеры.

Дополненная реальность для детей: урок Scratch-программирования

7. Часть кода, которую мы делали во вторую очередь добавьте к коду, сделанному нами вначале, чтобы она запускалась всегда при получении сообщения «клон сферы».

Дополненная реальность для детей: урок Scratch-программирования

Этап II. Добавляем расширение с камеры и доделываем сделанные заготовки

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

Дополненная реальность для детей: урок Scratch-программирования
Дополненная реальность для детей: урок Scratch-программирования

2. Вуаля! В правом экране, фоном к нашему мячу мы получили изображение с камеры лэптопа.

Дополненная реальность для детей: урок Scratch-программирования

3. Подходит ли Scratch для обучения детей программированию? Он для этого и создан! Вы можете осваивать программирование в дружелюбной и понятной среде. Это интересно и весело! Ну а мы продолжаем…

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

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

Дополненная реальность для детей: урок Scratch-программирования
Дополненная реальность для детей: урок Scratch-программирования

Несколько слов в заключение

AR – перспективная технология. Но не только она составляет мир IT. Важно развиваться в разных направлениях. Можно начать с бесплатных ресурсов для изучения любой современной платформы программирования: Scratch, Roblox, Minecraft и другие. В Сети есть немало ресурсов для детей и начинающих онлайн. Выбирайте и погружайтесь в удивительную вселенную информационных технологий.

283283 показа
380380 открытий
Начать дискуссию