Смекни!
smekni.com

Задачи проекта 6 Специальная часть 6 1 Роль интерактивных информационных моделей 6 2 Роль интерактивного тренажера «Видеостудия» в учебной системе 18 Выбор инструментальной среды для функциональной ре (стр. 7 из 12)

Благодаря средствам Quest3D можно работать с объектами, держа их перед глазами и получая результаты практически сразу. Способность видеть объекты такими, какими они появляются в ходе исполнения программы, снимает необходимость проведения множества операций вручную, что характерно для работы в среде не обладающей визуальными средствами — вне зависимости от того, является она объектно-ориентированной или нет. После того, как объект помещен в форму среды визуального программирования, все его атрибуты сразу отображаются в виде кода, который соответствует объекту как единице, исполняемой в ходе работы программы.

Это достигается за счет разбиения рабочего пространства Quest3D на область для рабочего кода - Channel Graph и просмотра результата работы создаваемого приложения-Preview.

2.4.1. Ключевые моменты при работе в Quest3D

Channel Graph - это окно, в котором выполняется строительство всех структур каналов. Программы Quest3D создаются с помощью строительных блоков. Эти строительные блоки называются ‘channels’ (’каналами’). Ниже приводится изображение каналов в Quest3D.

Рис.12. Информация или функция строительных блоков Quest3D, ‘каналов’. Соответственно, имеет имя «channel»

2.4.1.1. Группа Каналов (Channel Group)

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

Изображение ниже показывает пример маленькой группы каналов. Структура каналов называется Channel Group.

Рис.13. Channel Group

Изображение выше также отображает пример пользовательских комментариев (текст ‘Hello world example’). Также мы можем видеть, что некоторые строительные блоки были спрятаны внутри папок.

2.4.1.2. Список Шаблонов (Templates List).

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

Рис.14. Список Шаблонов

Новые каналы могут быть добавлены в программу с помощью перетягивания названия из Списка Шаблонов (Templates List) в Граф Каналов (Channel Graph). ‘Перетягивание’ означает нажать и удержать левую клавишу мыши, переместить курсор мыши на новую позицию и отпустить левую клавишу мыши.

Рис.15. Перетягивание шаблона

Шаблон (Template) - встроенный канал или группа каналов. С помощью шаблонов намного ускоряется процесс создания. Шаблоны могут быть добавлены также, как и одиночные каналы.

В примере ниже, шаблон Vector добавлен в Граф Каналов (Channel Graph). Шаблон Vector состоит из четырех каналов.

Рис.16. Граф Каналов

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

2.4.1.3. Взаимодействие между строительными блоками

Для начала создания программы необходим стартовый блок, чтобы конструктору было понятно, где точка входа в нее (начало программы).

Рис.17. Стартовый блок

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

Маленькие черные квадраты выше и ниже канала называются квадратами связи (link squares). Каналы могут быть соединены друг с другом, между верхними и нижними квадратами связи.

Рис.18. Соединение объектов

На изображении выше, верхний канал называется Родительским (Parent). Нижний канал называется Потомком (Child). Потомки обычно используются, как входящие или выходящие данные для Родителей.

Входящий квадрат связи, без присоединенного к нему Потомка данных не получает. Обычно, пустые квадраты связи устанавливаются на 0.

2.4.1.4. Группы Каналов (Channel Groups)

Структура соединенных каналов называется Группой Каналов (Channel Group). Проект Quest3D состоит из одной или более Групп Каналов. Например, одна группа может отображать на экране комнату, в то время, как другая может отображать персонаж. Две Группы Каналов могут быть совмещены для отображения персонажа в комнате.

Пользовательский ввод (User input)

Этот канал также имеет Базовый Тип Value. Тем не менее, его Тип User Input. Канал User Input может конвертировать множество различных типов активности пользователя, таких, как клавиатурный, с помощью мыши или джойстика в значение.

2.4.1.5. Окно Настроек Канала (Channel Properties window).

Двойное нажатие на канал откроет окно Channel Properties, специфическое для этого канала. Изображение ниже показывает настройки или окно диалога, принадлежащее каналу Value.

Рис.19. Channel Properties

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

2.4.1.6. Ярлыки (Shortcuts).

Ярлыки каналов работают так же, как и ярлыки к программам или папкам в Windows. В Quest3D могут быть созданы только ярлыки к каналам, не к папкам.

Рис.20. Ярлыки

Часто ярлыки используются для задания значения переменной и его чтение.

2.4.1.7. Кадры (Frames).

Quest3D работает в реальном времени. Это значит, что он постоянно запускает проект полностью и обновляет обзорный вид. Один полный цикл структуры каналов называется кадром (frame). Обработка всех конечных результатов называется визуализацией (rendering).

Частота кадров (framerate) определяет, сколько раз в секунду запускается программа. Частота кадров зависит от сложности проекта и аппаратных средств компьютера, используемых для визуализации сцены.

Программный поток (Program flow). Вызов канала в Quest3D означает одинарный вызов всей функциональности канала, опирающийся на любой ввод, полученный от его потомков. Точные результаты вызова канала зависят от его Типа (Type).

Канал Channel Caller вызывает своих потомков в порядке слева направо. На изображении ниже, сначала вызывается канал ‘Caller 1’, отображая кубический объект (box) на экране. Далее вызывается канал ‘Caller 2’, визуализируя объект огня.

Рис.21. Кадры

На изображении ниже мы видим поток Группы Каналов (Channel Group).

Рис.22. Channel Group

1. Начало каждого кадра.

2. Каналы Channel Caller работают слева направо, поэтому Стартовый Канал сначала вызывает первым канал, названный ‘Caller 1’.

3. Канал ‘Caller 1’ вызывает иерархию под ней. Эта иерархия запускается с канала типа ‘3D Object’, названного ‘Box Object’. Этот канал отображает на экране куб, видимый на изображении выше, с правой стороны.

4. После запуска иерархии в левой части, Стартовый Канал продолжает работу со вторым потомком, ‘Caller 2’.

5. Канал ‘Caller 2’ вызывает своего потомка ‘Fire Object’. Этот канал и его потомок создают объект огня, видимый на изображении выше.

Когда структура полностью запущена, программа начинается сначала со Стартового Канала.

Сцены Quest3D. В интерактивном тренажере «Видеостудия» используются трехмерный модели осветительной аппаратуры и объекты сцен. Поэтому необходимо затронуть эту главу.

3D объекты могут быть импортированы из любого пакета 3D моделирования. Также существует возможность использовать один из 3D объектов, сопровождающих Quest3D.

Сцена Quest3D нуждается в камере и одном или большем количестве источников освещения.

2.4.1.8. Канал Render

Используется для отображения 3D объектов на экране.

Канал Start 3D Scene используется для инициализации 3D окружения. Помимо всего прочего, он контролирует разрешение экрана и цвет фона.

Каналы Start 3D Scene, Render, Camera, 3D Object и Light комбинированы в следующую структуру каналов.

Рис.23. Render

2.4.1.9. Публикация

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

В Quest3Dдоступен ряд публикационных опций:

· .q3d файл проигрывателя

· Web приложение

· Скринсейвер

· Самостоятельный запускной . exe

Проекты Quest3D могут быть опубликованы в файлы Просмотрщика (Viewer) с расширением ‘.q3d’. Программы Quest3D, опубликованные таким образом могут быть запущены с помощью просмотрщика Quest3D Viewer простым запуском файла ‘.q3d’.

Файлы типа ‘.q3d’ также могут быть просмотрены в интернет браузере, поддерживающем ActiveX. Файл ‘.q3d’ должен быть привязан к обычной веб-странице для возможности обзора. Веб-страница, содержащая элементы медиа Quest3D автоматически попытается скачать и установить пакет Quest3D Viewer Package с вебсайта Quest3D.com. Пользователь может отменить эту операцию.

Проект Quest3D также может быть опубликован в самостоятельный самозапускающийся файл ‘.exe’. Кроме DirectX этот тип публикации не требует более никаких других дополнительных компонентов.

2.4.2. Основные элементы программирования в Quest3D

2.4.2.1. ЛОГИКА

Логика- это основа программы. Логика описывает, что и когда происходит.