Уверен, что многие из вас играли в Pokemon Go и «ловили» питомцев в скверах, в подъездах или в детской песочнице. Геймплей этой игры как раз основан на дополненной реальности (AR): через камеру смартфона мы видим реальный мир, в котором появляются цифровые объекты, меняющие его. Такая игра взбудоражила детей и взрослых по всему миру. Но эта технология используется не только для сферы развлечений и игр. Наглядный пример — это очки дополненной реальности. Сегодня они используются в здравоохранении, промышленности, образовании, архитектуре и даже спорте.

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

  1. AR превращает скучное обучение в захватывающее приключение. Представьте, как ребенок изучает историю не по сухим учебникам, а взаимодействуя с трехмерными моделями древних цивилизаций! Или как он изучает анатомию с виртуальным скелетом, который можно повернуть и рассмотреть со всех сторон.

  2. AR делает все вокруг живым и увлекательным. Дети могут увидеть динозавра в естественную величину, полетать на виртуальном самолете или построить виртуальный дом своей мечты. Это пробуждает воображение и поощряет творческий потенциал.

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

  4. Новые горизонты для творчества. AR открывает возможности для творческого самовыражения. Дети создают собственные виртуальные миры, рисуют в 3D, проектируют одежду и многое другое. Это развивает фантазию и позволяет реализовать самые смелые идеи.

  5. Это технология будущего, которая активно внедряется в разные сферы жизни. Дети, знакомые с AR сегодня, будут готовы к изменениям, которые принесет с собой этот технологический прогресс. Он поможет детям раскрыть свой потенциал и подготовиться к будущему.

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

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

Scratch уроки для детей: создаем AR

Scratch представляет собой платформу для визуального кодинга. Это означает, что при программировании Scratch онлайн ребенок не работает с привычным нам компьютерным кодом. Вместо этого он собирает своеобразный конструктор из блоков разного цвета. Каждый цвет означает определенную команду и функцию. Объединяя их вместе в правильном порядке, ребенок получает работающую программу. Это может быть игра, анимация или мультфильм.

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

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

Программирование для детей на языке Scratch: делаем заготовки к игре

Первое, что нужно сделать — это перейти на официальный сайт площадки: https://scratch.mit.edu/. Программировать можно прямо на этом сайте, никаких скачиваний не нужно.

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

Scratch программирование для детей онлайн: создаем спрайта

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

Проверьте, что спрайт, который мы выбрали, выделен, как на скриншоте.

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

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

Язык Scratch для детей и работа с переменными

Начало нашей программы положено. Далее переходим в оранжевый блок с переменными (Variables). Нажимаем на кнопку, которая будет вверху: «Создать переменную». Это мы делаем для того, чтобы добавить устройство, которое будет считать пойманные нами мячи. Тут же в переменных выбираем «Задать значение». Его мы переносим на сцену под уже имеющийся там блок с флагом. После этого присвойте переменной значение 0.

Блоки «Внешний вид» в Scratch для детей

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

Знакомство с циклами на уроке Скретч обучения детей

Группа «Управление» содержит в себе следующий нужный для нашей игры элемент — цикл «Повторять всегда». В него мы подставляем условие «Если, то». Чтобы закончить работу с условием, перейдите в зеленую вкладку «Операторы» и выберите знак, где значение левого параметра больше, чем правого («>»).  Его нам нужно подставить внутрь условия «то». Тому параметру, что справа, задаем значение 30. Буквально это означает, что нечто должно быть больше «30».

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

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

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

Скретч для детей онлайн: прописываем случайную траекторию мяча

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

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

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

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

Так, если поступит сообщение «клон сферы», то пиксели станут крупнее — для нас это и будет эффектом размытия. Все прочие характеристики перенесите в свой код так же, как это показано на картинке.

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

Не бойтесь того, что вы сейчас не понимаете какой-то части инструкции. Повторяйте все шаги и сверяйтесь со скриншотами. Особенно это касается тех, кто в первый раз открыл для себя уроки программирования в Scratch. Уверен, что результат вас порадует.

Основы программирования Scratch: работаем с расширением камеры

Расширение распознавания видео Video Sensing позволит нам получить изображение с камеры. Добавить его можно через вызов меню в нижнем левом углу окна.

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

Теперь нужно пройтись по тем местам кода, которые остались пустыми:

  • в начале поставим «Включить видео»;

  • в условие запуска алгоритма, где прописан случайный запуск спрайта, поставим сближение движущегося объекта на видео и мяча.

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

Как видите, AR действительно интересная технология. Детей увлечет не только процесс самой игры, но и её создания. Хорошо, что сделать это могут даже младшие школьники, ведь Scratch прост в управлении, детям легко в нем работать и осваивать цифровые навыки. Если в процессе прочтения гайда у вас возникли трудности, предлагаю посмотреть видеоурок на тему AR в Скретч и повторить все действия поэтапно. А все вопросы вы можете задать в комментариях — отвечу и помогу разобраться.


Если уже повторили урок или у вас был опыт работы с технологией AR в другой сфере, делитесь впечатлениями в комментариях!

Комментарии (4)


  1. qwertEHOK
    10.08.2024 07:26
    +2

    это точно для детей? а какого возраста?


    1. SeminMA Автор
      10.08.2024 07:26
      +1

      Точно для детей:) Хоть это и выглядит сложно, на самом деле, школьники 8-12 лет вполне успешно создают такие игры в Скретче. По опыту скажу, что детям легко дается визуальное программирование: нет "скучного" кода, который не все еще способны воспринимать в таком возрасте, а программы стрятся из блоков по аналогии с конструктором Лего.


  1. sonytruelove
    10.08.2024 07:26
    +3

    Как выходец из подобной платформы обучения алгоритмическому мышлению, хочу сказать, что в качестве негативных(относительно современной разработки) качеств, я научился и ПРИНОРОВИЛСЯ делать спагетти в событийно-ориентированной архитектуре(EDA) на блоках, так затем и на настоящих ЯП без разделения на файлы и описывая все только функциям в процедурно-ориентированном стиле. Тем не менее, Scratch остаётся великолепным инструментом для мгновенной визуализации программ, позволяющим детям абстрагироваться от ненужных деталей на ранних этапах обучения. Это идеальный конструктор для начала, дающий возможность сфокусироваться на сути алгоритмов и логике, не отвлекаясь на технические детали.
    Помимо разработчиков, появилось много профессий связанных с кодингом, например ИИ. Рассматриваете ли подобные темы для расширения кругозора детей?


    1. SeminMA Автор
      10.08.2024 07:26
      +1

      Спасибо за подробную обратную связь! Обсудим на рабочей неделе с методистами, действительно интересная идея.