Занятие 2.2 Создание VR-экскурсии
Цель: разработать проект VR-экскурсии и протестировать его в VR.
Задачи:
- Научить обучающихся размещать несколько сферических панорам на сцене
- Сформировать понимание пользовательского интерфейса приложения
- Научить обучающихся создавать пользовательский интерфейс, в т.ч. кнопки для перемещения между панорамами
- Усвоить навык тестирования работоспособности собственных проектов
- Изучить основные свойства объектов и их применение
- Научиться работать с простой логикой событий в Blockly и точками появлений игрока на сцене
Методические материалы для подготовки к занятию:
Пошаговая инструкция по разработке кейсов #2.
Создание точек появления игрока.
Определение:
Точки появления игрока - это объект Varwin, который определяет положение игрока на сцене в зависимости от условий.
Вы уже могли обратить внимание, что по умолчанию на сцене всегда находится как минимум одна точка появления игрока и сам игрок. Без этого проект просто не будет работать, т.к. игрок и его точка появления - это базовые объекты, без которых запуск проекта просто не имел бы смысла.
Вопрос: почему без игрока запуск проекта не имеет смысла?
На данном занятии нас интересует перемещение игрока в центр различных панорам, в зависимости от условий. Условия мы определим позже, а для начала давайте разместим эти точки.Для этого удобнее всего использовать метод ввода координат вручную.
Алгоритм прост:
- Добавляем на сцену X точек появления игрока = X количеству панорам.
- Присваиваем параметры позиции точки появления игрока равные соответствующей панораме.
Совет: Давайте будем вводить культуру наименований. Чтобы не запутаться, например, у “Панорамы 2” будет “Точка появления 2”, у “Панорамы 3” → “Точка появления 3”. Поверьте, это очень сильно пригодится нам при создании логики взаимодействия. Вводить наименования можно в инспекторе, не забудьте нажать клавишу “Enter” после ввода.
- Создайте точки появления игрока в центре каждой панорамы.
Создание пользовательских интерфейсов перехода между панорамами
Следующим шагом вам необходимо создать механизм перехода между панорамами с помощью пользовательских интерфейсов.
Определение:
Пользовательские интерфейсы или UI (англ. “user interface”) - это графическая оболочка. Кнопки, на которые жмёт пользователь, тексты, которые читает, изображения, формы ввода данных и другие интерактивные элементы.
В данном проекте все панорамы у нас расположены друг за другом, поэтому по факту нам понадобится два типа UI:
- Переход к следующей панораме
- Переход к предыдущей панораме
Для начальной и конечной панорамы будет только один тип UI, т.к. они находятся на концах нашего пути следования. Логично начать создание переходов с самой первой панорамы, т.е. с начала.
Для создания UI удобно будет использовать объект Varwin “Текстовая панель”. Давайте для начала разместим этот объект с позицией точки появления игрока по умолчанию, т.е. “0, 0, 0”.
Чтобы игроку было удобно использовать UI, его необходимо правильно расположить относительно точки появления игрока.
В данном случае предлагаются координаты, на картинке ниже (X=0; Y=1.5; Z=0.5):
Вы всегда можете проверить удобство расположения UI запустив проект в различных режимах. Делайте это на каждом этапе разработки.
Самостоятельная работа: Для второй точки сделайте UI примерно как на картинке ниже. Дайте наименование UI “Следующая 2” и “Предыдущая 2”. Для третьей точки (если она последняя в вашем случае), сделайте панель с названием “Предыдущая 3”.
Создание логики перехода.
Мы расположили все необходимые объекты на сцене, пришло время создать логику. Для этого откроем редактор логики.
Установка текста.
Для начала зададим текст на текстовых панелях, в зависимости от их назначения.
Текстовая панель это один тип объекта. На сцене может быть множество объектов одного типа, и в редакторе логики в категории “Объекты” будут отображаться как один тип. Вам необходимо выбрать конкретное наименование объекта из одного типа, чтобы задать логику именно ему, как на картинке ниже:
Здесь очень просто запутаться, если не именовать объекты. Теперь вы понимаете почему важно грамотно задавать имена объектам Varwin, особенно, если они одинакового типа.
Создание логики перехода через события.
Дальше нам необходимо задать логику перехода между панорамами.
Для этого давайте сформируем техническое задание. Сейчас оно может выглядеть элементарно и слишком наивно, но здесь важно понимать - правильно сформированное техническое задание - это залог хорошего проекта.
В разработке дальнейших, более сложных, проектов возьмем за правило начинать с формирования технического задания (сокращенно “ТЗ”).
ТЗ: при нажатии на UI “Следующая” мы перемещаемся к следующей панораме.
При нажатии на UI “Предыдущая” мы возвращаемся к предыдущей панорме.
Для этого выберите и перетащите в рабочую область блок “Текстовой панели” - Событие “Панель нажата”.
Определение:
Событие - это логика, которая инициализируется при совершении определенных действий игроком. Целевое действие обозначено в условиях блока. В нашем случае событие инициализируется при совершении целевого действия - использование текстовой панели.
При активации данного события мы должны переместить игрока в точку появления 2, которая соответствует панораме 2. Для этого выберем в редакторе логики в категории “Объекты” тип “Игрок” (1). Нам понадобится блок ”Телепортировать к объекту” (2). Вставим этот блок в логику, которая будет реализовываться при активации события (3).
Последнее, что нам нужно сделать, это определить к какому объекту будет телепортироваться игрок. Вы помните, что это точки появления игрока, но точка появления игрока не появляется в редакторе логики как отдельный тип в категории объектов.
Это хороший пример того, как найти любой объект на сцене, даже если он не выделен в отдельный тип.
Для этого выберем тип “Любой” в категории “Объекты” (1).
Далее выберем блок “Объект” и из выпадающего меню выберем необходимое имя (2).
Вставим блок объекта в логику выполнения события (3).
Самостоятельная работа: Проделайте похожую операцию для остальных событий, чтобы получилась следующая логика (актуально для трех панорам):
Запуск проекта.
Попробуйте запустить проект в режиме VR для максимального погружения.
Если вы используете Vive Focus, то следуйте инструкции:
Ссылка на актуальную документацию Varwin:
Работа с Vive Focus — Документация Varwin 0.7.0 Beta
- Для взаимодействия с объектами нажмите курок.
- Для телепортации нажмите и удерживайте сенсорную панель, чтобы прицелиться и отпустите, чтобы телепортироваться.
- Для дискретного поворота вправо/влево нажимайте на правую/левую части сенсорной панели.
- Чтобы взять или отпустить объект, нажмите кнопку «Приложения».
- Чтобы выйти из проекта на экран подключения, нажмите и удерживайте в течении двух секунд кнопку «Приложения».
- Чтобы вызвать системное меню Vive Focus, нажмите кнопку «Домой».
- Для взаимодействия с элементами интерфейса нажмите сенсорную панель или курок.
Если вы пользуетесь ПК-гарнитурой, то пройдите обучение.
Для этого нажмите на кнопку “Справка” и выберите пункт выпадающего меню “Пройти обучение”.
Примечание: если у вас нет VR-гарнитуры, не расстраивайтесь, очень скоро она будет у всех, как когда-то стал неотъемлемой вещью мобильный телефон. А пока пройдите созданный проект в режиме просмотра на ПК.
Ссылка на актуальную документацию Varwin:
Использование VR контроллеров — Документация Varwin 0.7.0 Beta
Если у вас получилось сделать экскурсию из трех панорам с правильными переходами от следующей к предыдущей и обратно, то вы справились! Поздравляю!
40 - 45 минут |
Учебная дискуссия. Групповая работа. |
Рефлексия. Обсуждение у всех ли получилось настроить логику последовательных переходов. Понравилось ли Вам создавать панорамные экскурсии? Готовы ли Вы сами реализовать полноценную VR-экскурсию, есть идеи экскурсий?
Контрольные вопросы (выборочно можно использовать на этапе рефлексии, для проверки усвоения знаний, полученных на занятии):
- Что такое пользовательский интерфейс (user interface)?
- Назовите идеальный рецепт количества точек появления игрока и количества панорам.
- Что максимально важно делать при работе с большим количеством объектов на сцене?
- Что такое “Событие”?