Занятие 5.1 Построение локации для образовательного проекта "Правила дорожного движения"
Цель: построить локацию образовательного проекта "Правила дорожного движения". Подготовить локацию для применения логики.
Задачи:
- Разместить все необходимые объекты на локации
- Научиться правильно использовать иерархию объектов в Varwin
- Расставить все объекты на локации структурировано, с использованием иерархии
- Усвоить навыки масштабирования, перемещения и поворота объектов.
- Усвоить навыки тестирования своих проектов на баги/ошибки
- Закрепить навыки использования свойств объекта
- Усвоить навык использования объекта “Зона”
- Изучить типы объектов освещения в Varwin
Методические материалы для подготовки к занятию:
Пошаговая инструкция по разработке кейсов #6.
Техническое задание.
Необходимо разработать приложение, обучающее правилам перехода через дорогу по пешеходному переходу.
Специальные требования:
- Разработать кольцевую дорогу, по которой будет перемещаться объект “Спортивная машина”
- Реализовать пешеходный переход, с помощью которого игрок будет изучать правила перехода через дорогу.
- Реализовать светофор со всеми его функциями
- Обязательно разработать функцию переключения цветов светофора
- Цвета светофора должны переключаться по заданному времени (желтый - длится 3 секунды, красный и зеленый - длятся 5 секунд)
- Сделать панель для вывода времени на переход дороги
- Реализовать логику движения машины по маршруту и корректность поворотов.
- Реализовать логику задания
- Вспомогательные зоны запрета прохода
- Вспомогательная зона пешеходного перехода
- Вспомогательная зона выигрыша
- Реализовать условие выигрыша
Создайте проект и выберите сцену “Город”, на ней уже есть зона телепорта и мы можем перемещаться по всей сцене. Это то, что нам нужно.
Собираем участок дороги.
В этом разделе нам нужно вспомнить что мы делали в прошлом кейсе и в поработать с примитивами. С помощью плоскостей, изменения их материалов и масштабирования создадим один участок дороги.
Самое главное что нам необходимо сделать - это соблюдать правильность иерархии для того чтобы в дальнейшем нам было максимально удобно использовать объекты на сцене.
Определение: Иерархия объектов – это специальный интерфейс для просмотра и работы с разветвленными структурами. Источником данных для иерархии являются хранимые объекты, поэтому в иерархию может быть заложена любая логика связи между родительским и дочерними объектами. Чаще всего иерархии используются для работы с задачами, но в общем случае иерархии могут отображать любые объекты (например, орг. структуру, состав вложенных групп и т.п.).
Для описания взаимосвязей между объектами в Varwin применяется определенная терминология.
Родительским (parent) называется объект, который управляет связанными с ним вторичными, или дочерними, объектами.
Дочерним (child) называется объект, связанный с родительским и находящийся под его управлением. Один родительский объект может иметь много дочерних, однако у всякого дочернего объекта может быть только один родитель. Кроме того, один и тот же объект может быть родительским для одних объектов и в то же время дочерним - для других (многоуровневая иерархия).
Давайте посмотрим на примере. Чтобы объединить два объекта и сделать их родительским и дочерним нужно перетащить один объект под другой во вкладке “Объекты”.
Примечание: В свойствах объекта существует параметр “Зафиксировать иерархию в режиме просмотра”. Что это означает? Допустим, мы захотим взять в руки какой-либо объект у которого есть несколько дочерних объектов, если галочка стоит то они будут двигаться как единое целое. Но стоит помнить что брать в таком случае необходимо родительский объект.
Теперь создадим с помощью плоскостей и материалов вот такой участок дороги (1) с правильной иерархией (2):
Далее, благодаря правильной иерархии, мы можем взаимодействовать и использовать дорогу и сплошную как один цельный объект. Давайте скопируем этот участок дороги и замкнем его по кругу.
Осталось только с помощью плоскостей создать пешеходный переход (2) и закрепить все его элементы как дочерние объекты дороги (1).
Оборудуем пешеходный переход.
Для начала давайте создадим окружение и поставим пару фонарных столбов (1) по разные стороны дороги. Создадим два объекта “Текст” (2), которые будут элементами UI-дизайна. Один будет использоваться как текстовая панель с комментариями происходящего, второй для таймера под светофором. И используем объект “Светофор” (3) из пакета объектов “Мегаполис”.
Далее нам нужно создать эффекты свечения для светофора, но для начала давайте разберемся какие типы источников света есть в Varwin, и чем они отличаются.
Точечный свет |
Прожекторный свет |
Направленный свет |
Точечный источник света излучает свет одинаково во всех направлениях, как лампочка. |
Прожекторный источник света светит из точки в некотором направлении и освещает объекты только внутри конуса, как автомобильные фары. |
Направленный свет источник света расположен бесконечно далеко и оказывает влияние на все объекты сцены. Эффект схож с солнечным светом. |
В светофоре мы будем использовать точечный свет. Давайте создадим три таких объекта и зададим им разные цвета в свойствах. Зеленый, желтый и красный.
Собираем маршрут для передвижения машины.
Добавляем на сцену объект “Спортивная машина” из пакета “Мегаполис”, эта машина будет ездить по нашей дороге и нужно будет вовремя перейти дорогу по пешеходному переходу и не попасть под дорогу.
Чтобы машина двигалась нам нужно на сцене создать четыре объекта “Точка” (1,2,3,4) по которым она будет передвигаться. Далее в редакторе логике Blockly мы создадим список точек, который преобразуется в маршрут для машины.
Расставляем вспомогательные объекты “Зона”.
Для ограничения передвижений игрока нам понадобится создать четыре объекта типа “Зона” и расставить их в нужных местах. (1) и (2) - это запретные зоны, заходя в них игрок должен перемещаться обратно на тротуар. (3) - это зона перехода, в ней будут определяться столкновения с машиной и игрок будет допускаться в неё только на зеленый свет. (4) - это зона победы, в ней игрока будут поздравлять с победой, если он перешёл дорогу правильно.
Контрольные вопросы (выборочно можно использовать на этапе рефлексии, для проверки усвоения знаний, полученных на занятии):
- Что такое “родительский” и “дочерний” объект?
- Какие существуют источники освещения и какие у них отличия?
- Каким образом реализовать пешеходный переход быстрее всего используя примитивные объекты?