151 Видеоматериалы к проекту. Рассмотренный пример работы со snap4Arduino был представлен на авторском мастер-классе Александра Григорьева, там же рассмотрено еще несколько очень интересных проектов с использованием списков, оптимизацией и алгоритмами поиска, в том числе и с рекурсивными алгоритмами. Познакомиться с проектами можно на странице мероприятия на нашем сайте http://infinity.sch169.ru в разделе Лаборатория проектов 169 – Статьи/Инструменты/Практики, там же выложен электронный архив с файлами проектов. Короткая ссылка https://clck.ru/35S3WY
152 Часть 7. VR (виртуальная реальность), знакомимся! Последние года аббревиатура VR периодически попадается на глаза. И не мудрено, эта технология развивается семимильными шагами и сейчас о виртуальных мирах и тех же виртуальных шлемах не слышал только ленивый. VR — аббревиатура от "virtual reality" (виртуальная реальность). По сути, в рамках этой технологии техническими средствами создается мир, который человек ощущает через разные каналы чувств. Можно играть, оказавшись где-то на космолете, в океане, в горах или другой интересной локации. Но можно и учиться, работая с виртуальной копией прибора или технического устройства (сейчас так, например, учат ремонтировать огромные газовые турбины и управлять самолетами). Технология очень интересна, многие хотели бы ее "попробовать", но останавливает стоимость "железа" – очки, специальные передатчики, камеры, да и программное обеспечение отнюдь нельзя назвать доступным. Но вариант реально поработать с технологией есть. Пусть пока не у всех есть очки виртуальной реальности, но для демонстрации возможностей вполне подойдет стационарный компьютер, вы сможете путешествовать по созданному виртуальному пространству, производить какие-то активные действия. Поможет нам в этом программа Varwin XRMS, созданная компанией Varwin из СанктПетербурга. В этой программе есть 2 очень важных плюса: 1. Есть бесплатная версия, хоть и ограниченная по функционалу. 2. Программирование поведения и реакций объектов производится в визуальном блочном языке, так что после Scratch все вполне осваиваемо и понятно. Приступим! 7.1 Устанавливаем VarWin. Устанавливать программу для разработки виртуальной реальности будем на компьютер под управлением операционной системой Windows 10 и выше. При этом минимальные и рекомендуемые требования к компьютеру приведены ниже: Рис. 7.1
153 Для варианта "попробовать" нам потребуется установить бесплатную версию Varwin Starter. На странице выбор предлагается последняя версия и архив предыдущих версий, рекомендуем ставить самую современную. Ссылка на страницу загрузки: https://varwin.com/ru/education/download-xrms/ Рис. 7.2 QR код ссылки на загрузку Varwin: QR код ссылки на документацию Varwin: После установки и запуска приложения необходима регистрация и авторизация (рис. 7.3).
154 Рис. 7.3 После регистрации вам по почте придет лицензионный ключ для бесплатной демо-версии, который потребуется вставить в поле Лицензии и нажать кнопку Применить. При наличии заранее приобретенного лицензионного ключа необходимо ввести его, иначе можно использовать только версию Starter. Какие ограничения есть у версии Starter, видно из таблицы ниже.
155 Рис. 7.4 Видно, что в бесплатной версии вы ограничены в количестве редактируемых проектов и сцен, а также в экспорте проектов, нет доступа к платному контенту (дополнительные сцены и объекты), а также нельзя создавать готовое для самостоятельного запуска на компьютере приложения *.exe. Но попробовать основные операции, посмотреть на результат непосредственно работая с VarWin вполне удастся. Познакомимся с внешним видом и управлением (интерфейсом) программы. Интерфейс приложения очень прост: после запуска откроется основное окно программы. В левой части находится панель навигации по разделам. Рис. 7.5 В разделе "Проекты" хранятся созданные вами, или загруженные откуда-либо VR-проекты. Проекты состоят из сцен, их может быть несколько. В "Проектах" уже находятся 4 встроенных проекта:
156 Рис. 7.6 Предлагаем немного отвлечься от изучения интерфейса и прямо сейчас попробовать запустить какой-нибудь готовый проект. Например – проект управления летающим дроном, Flying bot demo. Для этого просто запустите просмотр проекта на ПК (рис. 7.7.) Рис. 7.7 После загрузки вы оказываетесь в некотором технопространстве, где предлагается поместить дрон над контейнером (рис. 7.8). Понятно, что в VR очках эффект присутствия больше, но попробуем разобраться с управлением с клавиатуры.
157 Рис. 7.8 Для перемещения (смены позиции камеры) используются клавиши "W", "A", "S", "D", для перемещения с ускорением зажимаем клавишу "Shift". Для управления предметом требуется к нему подойти, чтобы он стал активен-подсвечен, навести курсор, щелкнуть правой кнопкой мыши. Попробуйте подойти к пульту и поуправлять джойстиком (сначала щелчок правой кнопкой мыщи, затем просто движением мыши управляем. Следим за поведением дрона. Теперь попробуйте понажимать кнопки пульта левой клавишей мыши, оцените их действие. Используя весь арсенал управления, подведите дрон к позиции над контейнером. Чтобы выйти из режима просмотра проекта – нажмите на клавиатуре клавишу "ESC" и выберите Выход (рис. 7.9). Рис. 7.9 Все, развлеклись, возвращаемся к изучению интерфейса VarWin.
158 В разделе "Библиотеки" хранятся встроенные, купленные или загруженные самостоятельно объекты (рис. 7.10): Рис. 7.10 В правом верхнем углу переход к импорту файлов (трехмерные объекты, изображения, звуки, музыка, видео) и ссылка на инструкцию по их созданию: Рис. 7.11 Возможно, это вам очень понадобиться, если понравится создавать VR миры и решите продолжить углубленное изучение этой технологии. В "Магазине" (рис. 7.12) можно загрузить пакеты с объектами для создания трехмерных сцен, но только после покупки лицензии. Есть возможность обновить "Базовые объекты"
159 Рис. 7.12 В меню "Лицензии" находится информация о Вашем аккаунте и статусе лицензии. Продолжим изучать окно программы. На панели в верхнем левом углу (за шестеренкой) расположены элементы настройки рабочего пространства (рис. 7.13). Рис. 7.13 В открывшемся при нажатии на панель окне можно изменить настройки визуального редактора логики: отменить воспроизведение звуков и выбрать внешний вид редактора логики. В правом верхнем углу находится кнопка "Настройки": изменение языка интерфейса, пути сохранения проекта по умолчанию (рис. 7.14)
160 Рис. 7.14 Ну вот, первичное знакомство с интерфейсом программы состоялось, готовый проект посмотрели, пора переходить к созданию своего VR-проекта и сцены в нем. 7.2. Первый VR-проект. В разделе "Проект" добавьте свой первый проект: Рис. 7.15 Введите название. Например "Мой первый проект". Можно поставить галочку "Поддержка Mobile-VR", если у вас уже есть подходящие очки VR и есть необходимость портирования проекта в очки виртуальной реальности (инструкция находится в документации). Мы в рамках данной главы такую возможность не предусматриваем. При желании заполните дополнительные сведения. Все, первый проект создан, можно начинать с ним работать. Сверху находятся настройки проекта, просмотр проекта и (для платной версии) сборка в .exe исполняемый файл для работы с ним без Varwin и очков виртуальной реальности После подтверждения вы автоматически попадаете в окно со сценами проекта, но поскольку этот проект новый, ни одной сцены в нем еще нет. Добавляем сцену: Рис. 7.16
161 Сцена – это все трехмерное окружение, кроме остальных объектов, с которыми возможно взаимодействовать и задавать логику. Добавьте сцену "Сказочный лес" (рис. 7.17). Рис. 7.17 Справа находятся свойства сцены (рис. 7.18) – просмотр в VR при подключении очков, просмотр и редактирование на ПК, редактор логики, редактор кода, копирование сцены, настройка сцены и её удаление Рис. 7.18 Объекты будем размещать в графическом редакторе сцены (Desktop-редакторе), а механику приложения создавать в визуальном редакторе логики. Откройте графический редактор сцены, нажав на кнопку "Редактирование на ПК". Рис. 7.19 Теперь осталось разместить на сцене объекты и задать логику их взаимодействия с пользователем и друг с другом (рис. 7.20).
162 Рис. 7.20 В верхней части редактора кнопки сохранения проекта, кнопки вперед и назад, кнопки изменения режимов позиционирования (позиция, вращение, масштабирование) объектов. Для размещения объекта на сцене выберите объект в библиотеке, наведите на него курсор мыши, зажмите левую кнопку мыши и перетащите его в необходимую область окна навигации по сцене, как будто перемещаете файл из одной папки в другую. Переместите на сцену объекты (рис. 7.21) – "старый стол" и "Бот Девочка" (или "Бот Мальчик", для наших целей объект потенциально должен уметь разговаривать)))). Рис. 7.21
163 Разноцветные стрелки при выделении объекта позволяют перемещать его в пространстве. Надо понимать, что если объект окажется высоко над землей, то в момент включения гравитации он упадет. Попробуйте. Потяните за стрелку у стола, чтобы поднять его повыше. Убедитесь, что в свойствах объекта (справа в окне) стоит галочка "гравитация" и запустите проект на выполнение, нажав на кнопку "Предпросмотр на ПК" в правом верхнем углу. Рис. 7.22 Стол благополучно упал на землю. А мы вернемся в режим редактирования, нажав на клавиатуре кнопку "ESC" и выбрав "Режим редактирования" (рис. 7.23) Рис. 7.23
164 Так, с размещением объектов познакомились. Надо научиться перемещаться по сцене. Для смены угла зрения (ракурса камеры) необходимо нажать правую кнопку мыши и подвигать мышью. Для движения всей сцены в режиме редактирования можно зажать левую кнопку мыши (курсоррука сменится сжатым кулачком) и двигать сцену куда надо. Попробуйте. Вновь запустите режим предпросмотра на ПК. Будем учиться перемещаться внутри действующего проекта. Для перемещения (мы уже это пробовали в демо-проекте) используются клавиши "W", "A", "S", "D", для перемещения с ускорением зажимаем клавишу "Shift". Можно все это комбинировать с движением мышью. А вот если теперь зажать клавишу "Q", то мы увидим кольцо-указатель (рис. 7.24), в которое можно "телепортироваться" с нашей позиции, щелкнув левой клавишей мыши. Рис. 7.24 Потренируйтесь в путешествии внутри действующего пространства проекта. Программирование поведения объектов Теперь можно переходить к программированию поведения объектов. В визуальном редакторе логики используется среда блочного программирования Blockly, схожая с знакомой вам средой Sсratch. Запуск среды осуществляется со страницы проекта (рис. 7.25), кнопка с рисунком, напоминающим пазл. Запустите среду программирования поведения объектов.
165 Рис. 7.25 Откроется окно редактора. Обратите внимание, сверху теперь две вкладки (рис. 7.26), относящиеся к проекту – "Сцены проекта" (здесь можно добавлять новые сцены, переходить в режим просмотра и совершать другие действия с проектом) и "Сказочный лес" – здесь можно программировать поведение объектов в этой локации. Рис. 7.26 Окно редактора логики (рис. 7.27) условно можно разделить на три области: панель выбора типов блоков, рабочая область редактора, на которой составляется логика взаимодействия объектов, инструменты для центрирования, масштабирования и корзина для удаления блоков (да, здесь для удаления требуется перенести блок в корзину, а не просто вынести его в панель блоков, как в Scratch). На нижней панели расположены кнопки для применения выстроенной логики взаимодействия объектов, перехода в режим редактирования на ПК и предпросмотра проекта в VR или на ПК. Не забывайте нажимать кнопку "Применить"! Иначе логика из редактора не сработает при запуске.
166 Рис. 7.27 При добавлении трехмерных объектов на сцене в визуальном редакторе будут автоматически появляться новые объекты с встроенной логикой. Если есть необходимость, можно загружать собственные трехмерные объекты, скаченные или созданные в 3Д-редакторах. Но встроенной логики в них не будет. Пример простой программы. Выберите объект "бот девочка". Справа появятся команды встроенной логики. Для удобства границы поля расположения команд можно двигать мышкой. Соберите скрипт по образцу на рисунке 7.28.
167 Рис. 7.28 Проанализируйте, что должно произойти при загрузке сцены. Примените изменения. Посмотрите проект в действии (кнопка сверху "Просмотр на ПК", или можно запустить просмотр из вкладки Сцены проекта.) Посмотрите, как действует персонаж, правильно ли вы разобрались в командах скрипта. В среде программирования можно задавать действия с другими объектами, описывать и менять их свойства. Предлагаем вам самостоятельно изучить возможности и создать свои приключения в виртуальном пространстве. Обучающие материалы вы можете найти в соответствующем плейлисте Varwin на YouTube (рис. 7.29) - https://youtu.be/6Hgshb3RtCc?si=Q7uq3oIcE9PTrPEj Рис. 7.29 Несмотря на ограничения версии Starter, есть возможность создавать интересные приключения из стандартных встроенных сцен и объектов. Если же освоить создание и импорт собственных объектов, то возможности почти не ограничены.
168 7.3. Приложение "Логика" как пример использования стандартных объектов. В данном примере мы просто покажем, как выглядит проект, который можно представлять в школе и защищать как полноценный учебный проект по информатике. Приложение "Логика" (рис. 7.30) позволяет изучить в трехмерном виртуальном пространстве три основных логических операции: "И", "ИЛИ" и "НЕ". В зависимости от комбинации нажатия кнопок на столиках загораются лампочки и изменяются информационные надписи на дисплеях. Проект также из версии Starter был перенесен на две модели очков виртуальной реальности. Рис. 7.30 Итоги главы и книги в целом. Мир VR – многообразен и очень интересен. Кроме того, специалисты в разработке VR приложений и объектов для них крайне востребованы на рынке труда. Так что, если эта тема окажется для вас интересна, то вы не только с удовольствием проведете время, но и заложите фундамент своей будущей профессии. В настоящее время проводится множество хакатонов (особая форма соревнований, "хакерский марафон") для школьников и студентов по разработке VR. Даже в НТО (национальной технологической олимпиаде) есть направление VR, присоединяйтесь и находите единомышленников! *** Впрочем, то же самое относится и ко всем темам в книге. Спрос на креативное программирование только растет, как и на специалистов в робототехнике, игровом дизайне, области искусственного интеллекта. Надеемся, вы смогли определиться, какие области привлекли ваше внимание, и теперь осознанно будете искать путь дальнейшего развития талантов и профессионального становления. Ведь так хочется, чтобы работа была интересна именно для вас!