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

Содержание

	Содержание	2

	1.Введение	4

		1.1.	Актуальность	5

		1.2.	Постановка задачи	6

		1.3.	Задачи проекта	6

		2.	Специальная часть	7

	2.1 Роль интерактивных информационных моделей	7

	2.2 Роль интерактивного тренажера «Видеостудия» в учебной системе	20

	2.3. Выбор инструментальной среды для функциональной реализации проекта	24

	2.3.1. OpenSceneGraph	25

	2.3.2. GLScene	26

	2.3.3. The Nebula Device 2	28

	2.3.4. 3impact Game Engine	29

	2.3.5. Unreal Engine 3	31

	2.3.6. Dark Basic	33

	2.3.7. Torque Game Engine	35

	2.3.8. Quest3D	37

	2.3.9. Вывод по функциональным средам	38

	2.4. Базовые основы визуального программирования в Quest3D	43

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

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

	2.5.Объектное проектирование	62

	2.6. Конструирование интерактивной модели	64

	2.6.1. Drag& Drop	65

	2.6.2. Оптимальное срабатывание объектов	67

	2.6.3. Регулировка параметров объектов	70

	2.6.4 Общий свет сцены	77

	2.6.5. Хромакей	78

	2.6.6. Тени	80

	3. Охрана труда	81

	3.1. Исследование возможных опасных и вредных факторов, возникающих при работе с ЭВМ, и их воздействие на пользователей.	82

	3.1.1. Исследование возможных опасных и вредных факторов, возникающих при работе с ЭВМ	82

	3.1.2. Анализ влияния опасных и вредных факторов на пользователя	84

	3.2 Способы защиты пользователей от воздействия на них опасных и вредных факторов.	88

	3.2.1. Методы и средства защиты от поражения электрическим током	88

	3.2.2. Методы и средства защиты от рентгеновского излучения	91

	3.2.3. Методы и средства защиты от ультрафиолетового излучения	92

	3.2.4. Методы и средства защиты от электромагнитных полей низкой частоты.	92

	3.2.5. Методы и средства защиты от статического электричества	93

	4. Заключение	94

	5. Список литературы	95

	ПРИЛОЖЕНИЕ 1	97

	Интерактивная информационная модель	97

	ПРИЛОЖЕНИЕ 2	98

	Схема программной части проекта	98



1.Введение

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

Одним из наиболее эффективных путей решения проблемы является значительное увеличение доли самостоятельной учебной работы. Это становится реальным при использовании активно-деятельностных форм обучения, обеспечиваемых компьютерными технологиями.

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

Принципиальное новшество, вносимое компьютером в образовательный процесс – интерактивность. Именно интерактивные информационные модели позволяют решить один из основных вопросов учебного процесса, а именно как повысить уровень усвоения учебного материала, то есть улучшить понимание, запоминание и умение применять полученные знания. Уже давно было установлено, что около 80 процентов информации человек воспринимает через органы зрения, около 15 процентов через слух и оставшиеся 5 процентов через осязание, обоняние и вкус. Но, когда речь идет не только о восприятии, но и о запоминании информации, то повышается роль моторной памяти, то есть памяти движения. Это значит, что лучше всего человек запомнит материал, когда увидит, услышит и "потрогает", то есть сам что-то воспроизведет (запишет, нарисует и т.п.), применит на практике. Соответственно не стоит принижать роль интерактивных тренажеров.



Актуальность

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

Используя, в образовательной среде подобную аппаратуру, можно реализовать видео-уроки, инструкции по использованию специализированных технических средств, которые изучают студенты в ходе своего обучения. Но для создания подобных видеоматериалов необходим определенный навык в видеосъемке. 

На кафедре ИКТ сравнительно недавно появилась лаборатория, в которой имеется профессиональная аппаратура для видеосъемок. 

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

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

На основе вышеизложенного  можно сделать вывод, что данная тема является актуальной.

Постановка задачи

Целью данного дипломного проекта является создание интерактивного тренажера «Видеостудия», необходимого для иллюстрирования лекционного материала, а так же для дополнения к практическим работам со средствами съемочной студии.

Данный проект должен предоставлять пользователю следующие возможности:

Обеспечивать хороший уровень соответствия реальному оборудованию

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

Воспроизводить существующие и создавать новые схемы расстановки аппаратуры

Изменять параметры аппаратуры (например, настройка яркости света, регулировка высоты штатива осветительного прибора)

Изменять месторасположение аппаратуры

Работать в реальном времени

Обеспечивать адекватное соответствие процессов 

Задачи проекта

Задачи, решаемые в дипломной работе:

Выбор инструментальной среды для функциональной реализации проекта

Изучить базовые основы визуального программирования

Спроектировать абстрактную модель тренажера

Задать интерактивные возможности приборам, с помощью которых можно изменять параметры аппаратуры

Рассмотреть, насколько важны в современной жизни виртуальные тренажеры



Специальная часть

2.1 Роль интерактивных информационных моделей

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

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

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

Интерактивные информационные модели выступают в роли виртуальных тренажеров.

Показатели уровня усвоения учебного материала. Эти показатели классифицируют глубину проникновения и качество владения учащимися учебным материалом.

Различают пять уровней усвоения учебного материала:

“Нулевой” уровень (Понимание) - это такой уровень, при котором учащийся способен понимать, т.е. осмысленно воспринимать новую для него информацию. Строго говоря, этот уровень нельзя называть уровнем усвоения учебного материала по изучаемой теме. Фактически речь идет о предшествующей подготовке учащегося, которая дает ему возможность понимать новый для него учебный материал. Условно деятельность учащегося на "нулевом" уровне называют Пониманием. 

Первый уровень (Опознание) - это узнавание изучаемых объектов и процессов при повторном восприятии ранее усвоенной информации о них или действий с ними, например, выделение изучаемого объекта из ряда предъявленных различных объектов. Условно деятельность первого уровня называют Опознанием, а знания, лежащие в ее основе, - Знания-знакомства. 

Второй уровень (Воспроизведение) - это воспроизведение усвоенных ранее знаний от буквальной копии до применения в типовых ситуациях. Примеры: воспроизведение информации по памяти; решение типовых задач (по усвоенному ранее образцу). Деятельность второго уровня условно называют Воспроизведением, а знания, лежащие в ее основе, - Знания-копии. 

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

Четвертый уровень (Творческая деятельность) - это такой уровень владения учебным материалом темы, при котором учащийся способен создавать объективно новую информацию (ранее неизвестную никому). 

Тренажеры, как правило, включают в себя: 

Моделирующий Компьютер 

Моделирующий Компьютер может быть столь же прост, как персональный компьютер, или таким сложным, как многопроцессорный сверхсовременный мини-компьютер. Компьютер моделирования связан с интерфейсом  через систему ввода - вывода. Интерфейс состоит из панелей управления и контроля. В большинстве случаев физические свойства интерфейса оператора точно или в максимально приближенной степени соответствуют конкретному моделируемому процессу. 

Имитационная Модель

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

Интерфейс Тренажера

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

Дополнительное Периферийное оборудование

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

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

Развитие индустриального общества делает процесс подготовки и постоянного повышения квалификации специалистов все дороже и дороже. На первое место выходят как проблемы доучебного тестирования и отсева кандидатов (профориентация), так и всемерное удешевление процесса подготовки при сохранении приемлемой эффективности. Даже Министерство обороны США, ссылаясь на недостаточный объем финансирования, в последнее время широко внедряет систему дистанционного обучения с использованием сети Internet. 

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

По мере развития и удешевления тренажерные технологии начинают проникать и в другие отрасли: портовое и крановое хозяйство, авто и судовождение, рыболовный флот, педагогику и прочее. Особняком стоят физкультура и спорт, где исторически применение "неинтеллектуальных" тренажеров опередило все другие отрасли; в настоящее время эта область влилась в общее русло развития тренажерных технологий, в частности, появились "интеллектуальные" методики типа электромиостимуляции, интенсивно развиваются методы контроля эффективности процесса подготовки (диагностика) и т. п.

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

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

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

1.практический (рутинный) уровень 

2.нормативный уровень 

3.уровень, основанный на знаниях. 

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

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

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

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

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

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

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

Одна из них заключается в том, что использование в обучающих тренажерах реального оборудования или их точных функциональных макетов является очень дорогим удовольствием. Например, тренажер по обслуживанию авиационного двигателя стоит несколько миллионов долларов, показанный на рисунке 1. Поэтому их не может быть много. Зато может быть много обучаемых. Если при работе на тренажере создается группа из более чем 10 человек, то начинают возникать задержки при доступе к оборудованию, или ограничивается время непрерывной работы обучаемого при освоении какой-либо технической операции и т.п. 



Рис.1 тренажер по обслуживанию авиационного двигателя

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

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

Такого рода тренажеры: 

дают возможность студентам возможность черпать опыт из совершенных ими ошибок без опасности для их жизни; 

позволяют тренироваться без дополнительных расходов, связанных с использованием реального оборудования; 

повышают эффективность обучения за счет снижения времени тренировки; 

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

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

Как уже говорилось выше, виртуальные тренажеры по обслуживанию являются программными копиями оборудования, с которым необходимо научиться работать. Повсеместно используемая на Западе концепция “e-learning” является результатом действия Болонской инициативы, к которой планирует присоединиться и Россия. Эта концепция позволяет любому человеку, находящемуся в любом месте, оборудованном доступом в Интернет, получать доступ к любому учебному предмету, по которому он хочет повысить свою квалификацию.

Такая инициатива одновременно позволяет решать как вопрос с переподготовкой имеющихся трудовых ресурсов, так и с повышением эффективности и качества учебного процесса. Одной из проблем системы “e-learning” является проблема нехватки учебных курсов. В данном случае, технологии виртуальной реальности являются идеальным инструментом создания учебных курсов по различным областям подготовки персонала, в том числе и по работе со сложными техническими системами. Используемые сегодня виртуальные тренажеры являются образцами готового контента, пригодного для распространения в системе “e-learning”, а программные средства разработки тренажерного контента – идеальным инструментов для создания учебных курсов для “e-learning”.

Практика применения виртуальных тренажеров позволяет заявлять об их высокой экономической эффективности. Кроме того, что имеется экономия от отказа использования реального оборудования, также отмечено повышение качества усвоения знаний и сокращение (в разы) времени обучения. Также отмечается, что применение виртуальных тренажеров становится рентабельным, если они начинаю моделировать реальное оборудование стоимостью 70 тыс. долларов и выше. Организации могут рассчитывать на возврат средств, затраченных на применение виртуальных тренажеров в размере от 49% до 212%.

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

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

Для обеспечения иммерсии обучаемого в учебный процесс необходимо применять системы нашлемного отображения информации, позволяющие обучаемому оказаться внутри виртуальной сцены. Чтобы увидеть себя активным участником процесса обучения ему необходимо предоставить возможность манипулирования в виртуальном пространстве различными объектами виртуальной сцены (инструментом, системами и агрегатами летательного аппарата и т.п.). Такая функция обеспечивается использованием цифровых перчаток, визуализирующих тонкие движения пальцев рук. Для координированного перемещения в виртуальном пространстве требуется использовать датчики пространственного положения обучаемого. Все это, в совокупности с точными трехмерными виртуальными моделями систем и агрегатов, позволяет обучаемому оказаться внутри сцены и приступить к процессу обучения со всеми преимуществами, которые обеспечивают виртуальные тренажеры (рисунок 2).





















Рис.2. Системы нашлемного отображения информации

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

Обучаемые обычно имеют ограниченное время для работы на реальном тренажере и вынуждены часто с кем-то разделять время тренажа на уникальном оборудовании. Трехмерные виртуальные тренажеры дают возможность обучаемым изучать объект в своем собственном темпе, наблюдать и отрабатывать процедуры повторно до тех пор, пока знания не будут закреплены. Такие виртуальные тренажеры могут успешно дополнять физические тренажеры, что позволит обучаемым предварительно подготовиться к работе на физическом тренажере, ожидая своей очереди работы на физическом тренажере.

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

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





2.2 Роль интерактивного тренажера «Видеостудия» в учебной системе

На кафедре ИКТ существует осветительная аппаратура для проведения студийных съемок. Для корректной работы с осветительной аппаратурой студенту необходимы определенные знания. 

Разделим их на следующие группы:

Артикулируемые

Неарктикулируемые

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

Неартикулируемая часть знания представляет собой тот неосязаемый, но очень важный личностный компонент знания, который принято называть опытом, интуицией и т. п. Эта часть знания охватывает умения, навыки, интуитивные образы и другие формы личностного опыта, которые не могут быть переданы непосредственно от учителя к ученику. Они могут быть "добыты" учеником лишь в ходе самостоятельной учебной деятельности по решению практических задач (Рисунок 3).



Рис.3. Место проекта в учебной системе

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

Одна из них заключается в том, что использование в обучении реального оборудования является очень дорогим удовольствием. Поэтому их не может быть много. Зато может быть много обучаемых. Если при работе на тренажере создается группа из более чем 10 человек, то начинают возникать задержки при доступе к оборудованию, или ограничивается время непрерывной работы обучаемого при освоении какой-либо технической операции и т.п. 

Также возникают ресурсные проблемы. Например, нормированным является количество включений-выключений аппаратуры и ее фиксированное время работы. 

Проблемой (финансовой) является и поддержание такого тренажера в работоспособном состоянии.

В результате чего опыт в работе с осветительной аппаратурой достаточно проблематично получить.

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

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

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

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

Справочный материал - для обучения и корректной работы с тренажером. Находится в справке проекта и содержит иллюстрации схем расстановки осветительных приборов.

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

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

Осветительные приборы с различными характеристиками

Камера

Мебель

Ведущий

Зонт

Хромакей 

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

В проекте представлены следующие возможности, с помощью которых можно изменять параметры приборов:

Изменение высоты светильников и камеры;

Регулировка яркости светильников;

Настройка ширины распространения светового луча светильников;

Изменение наклона и места положения любых приборов, представленных в проекте.

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

Тренажер позволяет:

совмещение любых объектов (из списка приборов);

составление произвольных композиций объектов в целях создания или воспроизведения схемы расстановок осветительных приборов;

изменение параметров любого из указанных объектов тренажера.

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



2.3. Выбор инструментальной среды для функциональной реализации проекта

Для реализации интерактивных свойств объектов тренажера «Видеостудия», с которыми пользователь взаимодействовал бы как с реальным оборудованием, необходимо использовать движок. Благодаря ему появляется возможность имитировать движения объектов на сцене, настройка их параметров.

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

Современная индустрия предлагает на выбор полный спектр движков. От недорогих полукоммерческих стоимостью $3-7 тыс. до навороченных монстров вроде Source и Unreal по $700-800 тыс. Таких денег иногда нет даже у компаний, прошедших этап становления и выпустивших несколько игр.

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

2.3.1. OpenSceneGraph

Разработчики называют OpenSceneGraph кроссплатформеным пакетом для создания графических приложений, в частности, компьютерных игр. Иными словами, движок заточен под игры, но на его основе можно делать еще много чего — например, неигровые программные модули, презентации и другой трехмерный контент.

OpenSceneGraph— это open source-проект, то есть любой желающий может изменить исходный код инструментария и выложить творение своих рук в интернете. Благодаря этому движок постоянно развивается, чуть ли не ежемесячно в Сети появляются новые модули для OpenSceneGraph. Технология использует возможности OpenGL, который в последнее время набирает все большую и большую популярность среди производителей видеоигр.

OpenSceneGraph очень быстр, а картинка, которую можно создать даже без использования дополнительных модулей (то есть только при помощи базовых функций движка), вполне может потягаться по красоте с Unreal Engine первого поколения. К слову, на базе OpenSceneGraph разрабатывается игра «Пираты XXI века» (рисунок 4).





Рис.4. «Пираты XXI века»

Откомпилировать движок можно в Visual Studio 6.0, Cygwin, Mingw и OSX. OpenSceneGraph умело работает с трехмерными моделями форматов .lwo, .obj, .geo, .3ds, .x, .wrl, то есть свободно оперирует с объектами, созданными в любом современном редакторе трехмерной графики (3DS Max, Maya и Lightwave 3D). Создатели OpenSceneGraph сделали поддержку форматов .md2 и .bsp.

Что касается работы с 2D-изображениями, то и тут у движка все в полном порядке: поддерживается большинство распространенных графических форматов, от стандартных .bmp и .jpg до передовых .dds и .tga. Помимо этого, в OpenSceneGraph встроено несколько библиотек для работы со спецэффектами, системами частиц, шейдерами, ландшафтами и навигационными точками освещения.

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

2.3.2. GLScene

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

Рассмотрим основные возможности движка. Рендеринг осуществляется через библиотеку OpenGL, которая не только в несколько раз превосходит по скорости Direct3D, но и значительно проще в освоении. По сути, не нужно профессионально знать программирование, просто добавлять различные компоненты, которые уже спрограммированы, перетаскивая их на форму программы. Впрочем, многие команды, функции, переменные и значения атрибутов по-прежнему вбиваются вручную.

Создатели GLScene максимально упростили процесс программирования: например, поворот и перемещение созданных объектов осуществляются с помощью специальных коротких движковых функций, а не посредством длинных команд OpenGL.

Создание простых объектов вроде кубов, сфер и простеньких спрайтов также проводится с помощью простейших команд. Но для разработки проектов современного уровня этого, конечно, недостаточно, поэтому GLScene поддерживает импорт 3D-моделей. Основной упор разработчики сделали на универсальный 3DS-формат. Впрочем: OpenGL поддерживает файлы типов .obj/objf, .smd, .md2, .stl, .tin и .ply. «Оживить» объект можно как во внешнем графическом пакете, так и непосредственно из движка — набор для скелетной анимации прилагается.

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



Рис.5. Трехмерная аркада, сделанная на GLScene

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

GLScene прост, эргономичен, а главное, позволяет создавать игры, по качеству графики и физики (только при использовании ODE) максимально приближенные к тем, в основе которых лежат дорогие коммерческие движки.



2.3.3. The Nebula Device 2

Описанные выше игровые движки GLScene и OpenSceneGraph для вывода изображения на экран используют только графическую библиотеку OpenGL, а Nebula Device 2 поддерживает как OpenGL, так и Direct3D (движок по полной использует возможности DirectX 9.0). При этом Nebula Device 2 — кросс-платформенный движок, на нем можно делать приложения под PC (Windows и Linux), Mac и даже Xbox.

Nebula поддерживает сразу несколько широко распространенных скриптовых языков — TCL, Python и Lua. Но Nebula мало похож на конструктор для начинающих: честно предупреждают, что их разработка — это не набор редакторов карт, трехмерных моделей и прочих удобных утилит. Чтобы сделать нормальную игру, сначала придется разработать инструментарий, и тут уж не обойтись без команды опытных программистов.

Игровой движок содержит модули для работы с системами частиц: огнем, дымом, туманом, дождем и так далее. Что касается форматов трехмерных моделей, поддерживаемых движком, то тут-то разработчики преподнесли весьма неприятный сюрприз — движок способен переваривать модели лишь трех форматов — .n3d и .nvx, которые известны только самому движку, и .obj (для импорта моделей такого формата используется специальный плагин).



Рис.6 Система частиц в Nebula Device 2

Зато с 2D-изображениями проблем нет никаких. Nebula Device 2 поддерживает все известные типы графических файлов, начиная с классических .bmp и .jpg и заканчивая .png и .tga-форматами. Если говорить о современных технологиях, то тут стоит отметить, что Nebula Device 2 позволяет работать с динамическими тенями и HDR-освещением.

В целом Nebula Device 2 не идеален (трудности при работе с 3D-моделями, отсутствие нормальной документации), но если необходимо сделать игру современного уровня, то этот движок придется к месту.



2.3.4. 3impact Game Engine

Этот движок и стоит относительно недорого (всего лишь $199), и по возможностям не уступает движковым технологиям среднего класса.



Рис.7. Пример гоночного аркадного симулятора

Основные преимущества:

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

Получить доступ к программному интерфейсу 3impact Game Engine можно используя свой любимый язык программирования. В инструкции написано, что 3impact Game Engine поддерживает лишь C++, на деле же он совместим со многими другими платформами. Во время тестирования не было обнаружено никаких ошибок при работе движка с Dev-C++, TMT Pascal, BlitzMax, Delphi и IBasicPro.

3impact Game Engine - один из немногих дешевых движков, которые самостоятельно способны просчитывать и фиксировать столкновения (коллизии) между объектами игрового мира. От разработчика проекта требуется всего ничего - создать 3D-модели и задать основные характеристики взаимодействия между ними, все остальное движок сделает самостоятельно по детально проработанному алгоритму. С одной стороны, это хорошо - писать собственный физический движок для коллизий не придется, с другой - отчасти ограничен выбор в физики. Впрочем, настройки очень обширные, для большинства игр базового алгоритма хватит с лихвой.

При создании 3D-контента для своей игры не нужно прибегать к использованию каких-либо специальных редакторов – возможно  экспортируйте модели в формат движка, созданные при помощи графических пакетах типа 3DS Max или Maya.

Разработчики добавили в 3impact Game Engine уникальные алгоритмы сетевой синхронизации — поддержку любого числа игроков в режиме онлайн,

Нет никаких ограничений на создание коммерческих приложений.

2.3.5. Unreal Engine 3

Стоимость данного продукта миллион долларов. Рассмотрим основные его характеристики.

В Unreal Engine 3 реализована многопоточная система рендеринга Gemini, что позволяет максимально быстро и четко обрисовывать сцены и выводить на экране картинку в очень высоком разрешении, при этом в реальном времени просчитываются тени и освещение, на изображение накладываются HDR-эффекты, ну а motion blur (размытие) и depth of field (глубина резкости) вообще просчитываются за миллисекунды.

Впрочем, о том, что в плане графики движку Unreal Engine 3 нет равных, и без того знает каждый. Вот только это не единственная причина его популярности. Главное преимущество Unreal Engine 3 - необычайно гибкая и удобная инструментальная база. Большинство программных элементов, которые для других движков нужно либо докупать отдельно, либо программировать самостоятельно, в Unreal Engine 3 встроены по умолчанию. Автоматическая генерация карт нормалей, редакторы файлов локализаций, звуков, скриптов, просмотрщики моделей и анимации. Плюс множество конвертеров, плагинов и мини-редакторов всех сортов и калибров. По сути, приобретая лицензию на Unreal Engine 3, разработчики избавляют себя от необходимости пользоваться какими-либо другими программными продуктами, кроме 3DS Max. Так что, несмотря на высокую цену движка, вложения вполне могут окупиться.

Отдельно стоит упомянуть модуль обработки физики -  в Unreal Engine 3 в его роли выступает физический движок AGEIA PhysX, благодаря которому, собственно, и обеспечивается красивое падение тел персонажей, реалистичное передвижение транспортных средств, скольжение и другие физические возможности.



Рис.8. Разработка игры

Написание новых скриптов в Unreal Engine 3 осуществляется двумя различными способами - путем визуального и обычного программирования. И если со вторым методом все более-менее ясно, то первый нуждается в некоторых пояснениях. Авторы внедрили в движок специальный модуль UnrealKismet для визуального программирования, освоить который сможет практически любой пользователь. Для этого необходимо запустить приложение, создать новый файл и приступить к выстраиванию цепочки из данных логических блоков. Например, двигаться к отметке X, попытаться убить игрока, сесть в автомобиль и скрыться с места преступления. Программисты полностью избавлены от необходимости программировать скрипты с нуля, это дает колоссальный выигрыш времени.

Говорить о плюсах данного движка можно до бесконечности, в сущности, у него нет недостатков, если не считать таковым очень высокую стоимость. 

2.3.6. Dark Basic

DarkBASIC представляет собой уникальную среду программирования для создания 2D и 3D игр, анимации, презентаций, слайд-шоу и даже бизнес-приложений

Если необходимо разработать игру, при этом не имея опыта в программировании и трехмерном моделировании, а также Фотошопе, то можно использовать Dark Basic.

Программа удачно сочетает в себе мощные возможности DirectX и Direct3D и легкость программирования на языке BASIC, доступном каждому современному школьнику.



Рис.9. Dark Basic использует язык программирования BASIC

Программы, созданные в DarkBASIC, компилируются в оптимизированные под DirectX скрипты, которые выполняются так же быстро, как если бы они были созданы в Си.

Это профессиональная среда разработки для непрофессионалов. В Dark Basic даже пользователь, который ничего не знает об игростроении, сможет за какую-нибудь неделю смастерить простенькую аркаду или головоломку. Пользователю  не придется тратить драгоценное время на изучение DirectX-функций, реализацию алгоритмов ввода/вывода, расширение линейки поддерживаемых форматов двумерных картинок и трехмерных моделей, написание модулей для поиска путей и обработки столкновений объектов. 

Несмотря на то что конструктор выглядит, скажем так, не совсем серьезно, наиболее неумелому пользователю от Dark Basic удается создавать на нем весьма приличные игры. Да, графикой и спецэффектами они не блещут, но если есть хорошая идея, то и при помощи Dark Basic можно добиться значительного результата. Движок поддерживает ряд эффектов постобработки (размытие, затухание, зеркальное отображение элементов), 3D-звук, фильтрацию текстур, возможность терраформинга и анимации 3D-моделей. Купить же Dark Basic по карману даже простому геймеру - за него просят всего $39.99 в стандартной комплектации и $70 за pro-версию.

К сожалению, ошибок и недоработок в Dark Basic (особенно в pro-версии) предостаточно. Впрочем, сколько бы ошибок в Dark Basic ни было, это не мешает ему оставаться лучшим конструктором компьютерных игр для начинающих разработчиков. Он позволяет получить от разработки максимум удовольствия, не углубляясь при этом в дебри программирования и моделирования. Тем, кому понравится работать с данным движком, продолжат изучение системы и рано или поздно выйдут на более серьезный уровень.

2.3.7. Torque Game Engine

Torque Game Engine - бюджетный игровой движок для разработки игр любой степени сложности. При этом цена для такого масштаба, мягко говоря, смешная: всего $150 для компаний, доходы которых не превышают $250 тыс. (столько же движок стоит для простых пользователей), и $750 для корпораций, доходы которых зашкаливает за $250 тыс.

За такие маленькие деньги можно получить чуть ли не половину возможностей какого-нибудь движкового мастодонта вроде Unreal Engine 3:

1.Поддержка OpenGL, DirectX;

Программирование на C++;

3.Встроенные физический и рендер-движок (в Torque Game Engine 1.5.x реализована поддержка всех технологий DirectX 9: тут и различные шейдеры, и карты рельефа, и обработка теней/освещения в реальном времени);

4.Отличный инструментарий, включающий в себя редакторы уровней, генераторы ландшафтов, утилиты для правки текстов и скриптов;

5.Крайне удобная система управления сценами.

Помимо того, в Torque Game Engine встроено множество спецэффектов (Environment Mapping, Lens Flares, Billboarding, Particle System, Sky, Water, Decals, Fog). Есть возможность импорта моделей из 3DS Max, Blender или Milkshape. 



Рис.10. Пример системы частиц

Движок поддерживает три типа анимации:

инверсную кинематику

скелетную анимацию

смешанную анимацию.

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

Невольно может возникнуть вопрос: Почему же такой замечательный движок стоит таких смешных денег? Может быть, в нем скрыто множество ошибок или есть еще какой-то изъян? Ответ: нет, никакой мышеловки вокруг вкусного сыра нет. Просто Torque Game Engine недостаточно раскручен, и его создатели всеми силами стараются обратить на свое детище внимание разработчиков игр. Если им это удастся, то в ближайшие несколько лет цена на движок вполне может подскочить до $100-150 тыс. (именно столько стоят раскрученные аналоги).

2.3.8. Quest3D

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

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

Quest3D поддерживает графическую библиотеку OpenGL, лихо справляется с обработкой теней и освещения в реальном времени, поддерживает HDRI-эффекты, DirectX-шейдеры, бампы, карты нормалей и другие графические технологии, реализованные в DirectX 9 (с DirectX 10 движок пока не дружит).



Рис.11. Движок Quest3D превосходно справляется с рендерингом сцен

Но главный козырь этой многофункциональной системы - возможность визуального программирования приложений. Даже пользователь, никогда ранее не работавший с игровыми движками, в Quest3D сможет за несколько месяцев, а то и недель, собрать простенькую игру. Все, что от него потребуется при визуальном программировании, - умение работать с базовыми блоками (отвечающими за инициализацию сцены, расстановку источников освещения и так далее) и выстраивать логические цепочки. Ну а если вы опытный программист, то можете писать свой собственный код, используя скриптовый язык программирования LUA.

Что еще интересного в Quest3D? Движок умеет обрабатывать сцены практически из любого числа полигонов (во многих дешевых движках стоит ограничение в 500-800 тыс.), лишь бы процессор и видеокарта справились с нагрузкой. Есть очень удобная система поиска путей, возможность экспорта созданной игры или другого приложения в независимый exe-файл. В Quest3D встроен сетевой модуль и поддержка MySQL и ODBC. Это означает, что пользователь, например, запросто может сделать трехмерную презентацию, игру или другое приложение, доступ к которому будет осуществляться прямо из окна браузера.

Выпускается Quest3D в трех различных редакциях -  Creative Edition (цена — 999 евро), Power Edition (2499 евро) и VR Edition (9999 евро). В принципе, начинающим игростроителям базовой версии будет более чем достаточно: в ней отсутствует поддержка виртуального оборудования и систем управления с обратной отдачей (рулей и джойстиков), возможность создания сетевых приложений и рендеринга водных поверхностей. Power Edition и вовсе отличается от полной версии лишь поддержкой виртуального оборудования . В самом деле, поддержка всевозможных 3D-очков и перчаток не так уж важна.

2.3.9. Вывод по функциональным средам

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

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

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

Многие начинающие пользователи наивно считают, что если они покупают движок или берут бесплатный, то это автоматом избавляет их от проблем написания кода программы, скрипта и много чего еще. На самом деле это, конечно, не так. Практически всегда движок требует тщательной доработки, в некоторых случаях приходится переписывать его чуть ли не с нуля. И тем не менее базовые наработки — это уже что-то, от них можно отталкиваться, модифицируя ядро движка под свой проект. Ведь основные задачи разработчики уже решили.

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

Есть несколько показательных примеров, когда на бесплатных движках делались очень качественные и коммерчески успешные игры. Самый известный случай — Project Nomads, разработанный Radon Labs в 2002-м году на бесплатном движке Nebula Device.

Есть три причины, мешающие использованию бесплатных движков:

Отсутствие поддержки со стороны создателя -  бесплатный, значит, никто за движок и его содержимое ответственности не несет;

Неполноценность - бесплатные движки не являются комплексными, то есть, как правило, в них не хватает всех необходимых для создания законченного продукта инструментов;

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

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

Как ни странно, минусы платных движков практически те же, что и у бесплатных: 

плохая поддержка;

недостаток инструментов и гибкости. 

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

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

К примеру, KDV лицензирует недорогой комплексный движок QD Engine для создания игр-квестов. На этом движке уже выпущено около дюжины проектов. Такая продуктивность — результат гибкой поддержки движка со стороны компании. К каждому проекту движок обрастал новыми возможностями, становился более стабильным, что заметно облегчало жизнь дизайнеров.

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

3impact Game Engine- дешевый, простой, создан исключительно для игр, необходимо знание С++.  Поскольку проект представляет интерактивный тренажер, то этот движок не подходит.

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

Dark Basic достаточно простая в создании. Необходимо писать код в BASIC.

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

Среди множества движков более всего подходит Quest3D. Из всех описанных в статье движков он является самым необычным. Он сочетает в себе элементы мощнейшей среды для разработки высокотехнологичных игр и несложного конструктора для начинающих разработчиков. Есть познания в программировании и моделировании -  можно создать продвинутый проект. Если нет опыта в программировании, можно  собрать простенькую аркаду или головоломку за короткое время. 

По части технологий движок, конечно, уступает топовым решениям вроде Unreal Engine 3 или Source — это немного другие весовые категории.

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

Являясь многофункциональной системой для разработки real-time-приложений, Quest3D поддерживает визуальное программирование, что спасает начинающих пользователей от написания сложного кода.  Даже у матерых программистов не всегда есть время, чтобы писать с нуля весь код программы. Да это и не нужно. Кодировать с нуля нужно только то, что до этого не было сделано кем-то идеально. А если есть идеал, зачем изобретать велосипед? Поэтому даже профессионалы зачастую пользуются заложенным в Quest3D модулем визуального программирования: просто перетаскивают на форму новые элементы.

Помимо этого в Quest3D поддержка MySQL и ODBC, что делает его достаточно привлекательным при создании обучающих модулей.



























































2.4. Базовые основы визуального программирования в Quest3D

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

Благодаря средствам 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. ЛОГИКА

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

Ряд каналов Quest3D специально разработан для внесения логики в программу.

Оператор Каналов (Channel Caller).Как гласит название, Channel Caller просто вызывает каналы, связанные с ним. Он используется для добавления структуры в проект. Channel Caller могут быть видны, как разделители, или даже ‘главы’ в программе Quest3D.

Изображение ниже показывает пример структуры программы, разделенной Channel Caller.



Рис.24. Logic

Как и Channel Caller, канал If вызывает своих потомков. Тем не менее, канал If вызывает потомков лишь в случае выполнения определенного условия. Это условие может быть привязано к первому потомственному входу канала If, и должно быть значением (value). Только если значение НЕ ‘0’ (условие истинно, ‘true’), канал, подключенный к If вызывается. 



Рис.25. Канал if

Если/Иначе (If Else).Канал IfElse подобен каналу If. Если подключенное условие не соблюдается (т.е. значение равно ‘0’), вызывается третий потомственный вход. Если условие соблюдается, вызывается канал, подключенный ко второму потомственному входу.



Рис.26. Канал if else

Каналы Trigger работают подобно каналам If. Trigger также вызывает своих потомков в зависимости от условия.



			Рис.27. Канал trigger

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

Первая, когда условие соблюдено, Trigger запускает своего потомка лишь единожды. Для повторной активации Trigger условие сначала должно стать ложным (false), затем снова истинным (true). Пример: триггер сработал при нажатии пробела. Для его повторного срабатывания, пробел должен быть отпущен и нажат снова.

Вторая разница состоит во вводе для условия. Помимо формы от ‘0’ до ‘1’, также может быть выбрана одна из опций в окне настроек:



Рис.28. Настройка канала trigger

Пользовательский Ввод (User Input).Канал User Input может регистрировать активность со стороны ряда источников, таких, как клавиатура и мышь. В Quest3D, пользовательский ввод выражается одним из трех типов:

Двоичное (бинарное) значение ‘0’ или ‘1.0’(пример, нажатие клавиши или кнопки мыши)

Аналоговое значения от ‘0’ до ‘1.0’(пример, движение джойстика). 

Значение экранных координат. 

Переключатель Каналов (Channel Switches). Channel Switches позволяет выбирать между различными каналами почти любого типа. Channel Switch сначала должен быть выставлен на тот же базовый тип (base type), что и его потомок.



Рис.29. Канал Channel Switch

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

 Рис.30. Работа канал Channel Switch

2.4.2.2 МАТЕМАТИКА

Значения являются сердцем любого проекта Quest3D. Они используются для задания цвета объекта, позиции и размеров, к примеру. Значения также могут описывать очки, настройки программы, опции меню и т.п.

Значения в проекте Quest3D часто меняются. Рядовая математика может быть использована для высчитывания новых значений.

Математические выражения могут быть описаны в Quest3D с помощью канала Expression Value. Он служит в качестве продвинутого калькулятора. Окно его настроек содержит бокс для фактической формулы и вспомогательный текст, описывающий возможные переменные и операторы. Справочный Материал описывает каждый из этих элементов в более подробных деталях.



Рис.31. Канал Expression Value

Скобки ( ) могут быть использованы для задания приоритета одной части выражения над другой

Значения, подключенные к потомственным входам Expression Value могут быть использованы, как часть выражения в канале. Первый потомок представлен буквой ‘A’, второй - буквой ‘B’ и т.д.



Рис.32. Работа канала Expression Value

При помощи Expression Value можно реализовать логические выражения, так как : |,&.>>,<<,<=,>=,<,>,==,!=

Результатом такого выражения будет либо 0, либо 1.



2.4.2.3. ЦИКЛ

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

Многие объекты сцены используют те же атрибуты, что и другие объекты. На стадии дизайна проекта рекомендуется определиться, какие объекты могут быть объединены в группы.

Цикл For Loop.Как и многие другие языки программирования, Quest3D использует так называемую функцию ‘For Loop’. Цикл For Loop запускает определенную часть программы необходимое количество раз в каждом кадре. Только когда все ‘повторения’ цикла For Loop будут запущены, программа перейдет к следующей части.



Рис.33. Цикл For Loop

На изображении выше, сначала обрабатывается ‘Part 1’. Далее, 10 раз запускается ‘Part 2’ с помощью функции For Loop. Наконец, программа переходит к ‘Part 3’.

Имитация вождения может потребовать пятьдесят автомобилей в сцене. Вместо того, чтобы иметь пятьдесят отдельных объектов авто, использование For Loop позволяет вам создать единичный объект машины и визуализировать его пятьдесят раз, с отличиями в позиции, форме, цвете и даже управлении.

2.4.2.4 МАССИВЫ

Переменные (Variables) могут хранить определенные типы информации. Наиболее часто используемыми типами переменных в Quest3D являются value (значение), vector (вектор), matrix (матрица) и text (текст). Все они могут хранить один экземпляр своего типа. Канал Value, например, может хранить строго одно значение.

Массивы (Arrays) могут хранить множество экземпляров информации определенного типа. Каждый из этих экземпляров или записей (records) имеет фиксированное место в массиве и может быть доступен с помощью значения индекса (index value).



Рис.34. Канал Array

Менеджер Массивов (Array Manager).Array Manager в Quest3D управляет и отображает содержимое всех массивов проекта, таблично.



Рис.35. Настройка канала Array

2.4.2.5. Lua-script

Каналы Quest3D - это строительные блоки, содержащие предварительно скомпилированный код C++ и DirectX. Весь набор каналов предоставляет функциональность для многих аспектов разработки 3D реального времени.

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

Lua в Quest3D особенно применяем в таких случаях, как загрузка и выгрузка групп каналов, сложных просчетов и повторяющихся структур (циклов ‘for loop’).

Скрипт канала Lua отображается в окне настроек:



Рис.36. Скрипт канала Lua

Функции Lua (Lua functions). Каналы Lua могут иметь одну из двух функций, или обе:

 ‘CallChannel’ запускается, когда вызывается канал.

 ‘GetValue’ запускается, когда канал Lua используется, как значение (value). Фактическое значение канала Lua равно значению, которое ‘возвращает’ скрипт в конце функции.

2.5.Объектное проектирование

При проектировании тренажера «Видеостудия», необходимо учитывать следующие компоненты:

Объекты

Свойства объектов

Взаимосвязи между объектами

Базовые классы объектов:

1) интерьер или окружение

2) предметы 

Основные отличия:

интерьер или окружение статичны

предметы интерактивны

Предметы можно дополнительно разделить на

предметы интерьера или мебель

оборудование

Оборудование делим на:

камеры

осветительные приборы

Класс объектов  представлен в виде информационной модели и проиллюстрирован в Приложении №1.

Все предметы имеют общее свойство-местоположение на сцене.

Дополнительные свойства для камеры (наследование от предметов):

zoom регулировка высоты

Дополнительные свойства для светильника:

высота

положение створок

яркость

Методы

Методы для предметов в целом

перемещение вдоль плоскости XOZ

проверка на пересечение

Методы для камеры:

изменение высоты

изменение zoom

Методы для светильника:

Изменение положения створок

Изменение яркости

Взаимодействие между объектами проявляется в виде:

Пересечения на плосткости

Попадание света от светильника

Реакция при пересечении:

Отталкивание объектов друг от друга при попытке пересечься

Реакция объекта при попадании света:

Визуализация тени

Класс объектов  представлен в виде информационной модели и проиллюстрирован в Приложении №1.

2.6. Конструирование интерактивной модели

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

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

Все сказанное выше наглядно иллюстрируется в Приложение №2 при помощи блоксхемы.

	Перемещение объектов по сцене.

Это задача разбивается на ряд блоков:

Реализацию drag&drop

Не пересекать объект с другими

Обеспечить оптимальное срабатывание объектов, при нажатии на них мышкой.

2.6.1. Drag& Drop

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

Lamp_complete- это ссылка на объект, которые необходимо перемещать, в нашем случае это лампа. При наведении мышки на объект в DetectMouseCollision задается значении 1 и оно передается в переменную pick_conus.

 

Рис.37. DetectMouseCollision

Путь, который продемонстрирован на  рисунке 38, иллюстрирует следующее событие:

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



Рис.38.Срабатывание объекта по клику мышки

Поскольку объект должен двигать строго за мышкой, нам необходимо знать все ее координаты, для этого необходимо использовать строительный блок – Mouse Intersect Plane XY. Он выдает координаты мышки на мониторе. Объекты в сцене должны перемещаться по X и Z, исключая движения по высоте. Для этого координаты мыши мы корректируем следующим образом:



Рис.39.Координаты мыши в трехмерном пространстве



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

Не пересекать объект с другими

Реализовывается через канал  FastCollisionResponse. В нем указывается позиция объекта, его смещение, происходящее при помощи мыши, радиус коллизии и объекты, с которыми нельзя пересекаться.



Рис.40. FastCollisionResponse

2.6.2. Оптимальное срабатывание объектов

Поскольку тренажер трехмерный, а дисплей монитора двумерный, то велика вероятность некорректного срабатывания объектов при реализации механизма drag &drop. 

Одной из таких проблем стала следующая ситуация:

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

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



Рис.41. Выбор минимального расстояния от камеры до объекта

Value Vector- указывает место расположения камеры наблюдателя. 

Out: Movement Position-место расположение объекта.

Get distance- рассчитывает расстояние  от камеры до объекта

Value- говорит кликнули на объект или нет

Expression Value- выбирает минимальное расстояние от камеры до объекта, на который кликнули.

Дальше при помощи  канала select_object выбираем тот инструмент, которому принадлежит это расстояние.



Рис.42. Сравнения минимального значения со значениями объектов

У объектов не может быть одинаковых расстояний, поскольку они не пересекаются.

Выбрав при помощи оператора ifElse этот объект выбираем и задав 1 каналу drag, разрешаем его перемещать. Остальным объектам это запрещено.

Следует отметить еще один факт, который также может повлиять на некорректную работу с объектами - это наличие GUI-интерфейса.

Так при нажатии на кнопку или слайдер, если за ним расположен объект он может сработать на перемещение.

Избавиться от подобной ошибки можно следующим образом:



Рис.43. Избавить от срабатывания объектов при работе с интерфейсом

В этом коде указано, что если у нас мышка наведена но хотя бы одну кнопку интерфейса GUI. То нет возможности использовать канал select_object, которые осуществляет перемещение объектов по сцене.

2.6.3. Регулировка параметров объектов

На сцене существует ряд объектов. Это осветительные приборы, камера, мебель, зонтик.

Осветительные приборы должны осуществлять:

Регулировку высоты светильника

Изменение ширины распространение светового луча (регулировка створок)

Изменение яркости света

Изменение наклона лампы

Объект светильника состоит из следующих компонентов:

Штатив

Лампа

Створки

Источник света Quest3D



2.6.3.1. Регулировка высоты светильника

Длина штатива прямо зависит от положения бегунка на слайдере. Перемещая бегунок, тем самым  изменяем размер объекта с 0.5 до 2.6



Рис.44. Изменение длины штатива

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

2.6.3.2. Изменение наклона светильника

Регулировка наклона происходит при помощи четырех кнопок, расположенных в углу интерфейса. Кнопки вверх, вниз означают наклон светильника, влево, вправо - вращение.

Светильник может вращаться на 360 градусов. А наклон его ограничен некоторыми параметрами и реализуется за счет канала Limit absolute value , в котором указывают предельные значения .

Чтобы добиться этого эффекта,  изменяем вектор Rotation.



Рис.45. Изменение наклона лампы

2.6.3.3. Регулировка створок

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

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



Рис.46. Задание осевой точки

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



Рис.47. Регулировка створок

Помимо этой возможности створки должны вращаться вместе лампой, то есть фактически  у них должно существовать две оси. Реализуется это следующим образом: створкам задается родительский параметр, в котором их осью становится центральная точка лампы.



Рис.48. Задание второй осевой точки

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



Рис.49. Регулировка радиуса источника света

За радиус источника света отвечает канал Phi, к которому и подключен слайдер.

2.6.3.4. Изменения яркости светильника.

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



Рис.50. Изменение яркости светильника

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

2.6.3.5. Мебель

Фактически у данных объектов нет как таковых параметров настроек. Стул и стол могут исключительно только перемещаться по сцене.

2.6.3.6. Зонтик

Его интерактивные возможности заключаются в изменении наклона и места позиции.

2.6.3.7. Камера

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

Регулируется при помощи бегунка, который задает параметры в канал Zoom Factor

Value=1 и Value=5- ограничивают zoom



Рис.51. Zoom камеры

Камера помимо трехмерного объекта включает в себя камеру Quest3D.

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

Для этого создан следующий код:



Рис.52. Переход с камеры на камеру

Toggle/FlipFlop triggered- нажата кнопка студийная съемка-1, нажата кнопка студия-0

Basic Camera- представляет общую сцену проекта (студия)

Scene_camera- камера на сцене (студийная съемка)

Соответственно в зависимости от значения Toggle/FlipFlop triggered имеем различные планы студии.

2.6.4 Общий свет сцены

При установки объектов на сцене, настройки их параметров, необходим общий свет для того, чтобы удачно провести данные операции. Этот свет при необходимости можно выключить. Для этого нужно нажать на клавиатуре клавишу –l.

Данную возможность реализует следующий код:



Рис.53. Настройка выключения света

UserInput- нажата и клавиша l . В окне свойства UserInput показано как это настраивается.

Toggle/FlipFlop triggered (value)- задает 1 либо 0, при изменении на его входе параметра UserInput.

ChannelSwitch- в совокупности с Toggle/FlipFlop triggered дает возможность выбрать включить или выключить источник света.

2.6.5. Хромакей

Хромакей – технология совмещения двух и более изображений или кадров в одной композиции. Чаще всего используется при съемке новостных передач или прогнозов погоды , тем самым насыщая сцену.

В тренажере есть возможность задать синему полотну картинку. Это реализовано следующим кодом:



Рис.54. Настройка выбора текстур камеры

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





















3. Охрана труда

В процессе использования ПЭВМ здоровью, а иногда и жизни оператора угрожают различные вредные факторы, связанные с работой на персональном компьютере. Типичными ощущениями, которые испытывают к концу дня люди, работающие за компьютером, являются: головная боль, резь в глазах, тянущие боли в мышцах шеи, рук и спины, зуд кожи на лице и т.п. Испытываемые каждый день, они могут привести к мигреням, частичной потере зрения, сколиозу, тремору, кожным воспалениям  и другим нежелательным явлениям.

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

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


3.1. Исследование возможных опасных и вредных факторов, возникающих при работе с ЭВМ, и их воздействие на пользователей.

Любой производственный процесс, в том числе и работа с вычислительной техникой, сопряжен с появлением опасных и вредных факторов.

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

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

Факторы различаются в зависимости от источника возникновения.



3.1.1. Исследование возможных опасных и вредных факторов, возникающих при работе с ЭВМ

Типовая конфигурация компьютеризированного рабочего места:

		ПК на основе процессора Intel Pentium IV c необходимым набором устройств ввода-вывода и хранения информации (DVD-RW, Floppy 3.5”, USB Flash-Drive).

		Лазерный принтер HP 1400 (A4).

		Цветной XGA монитор Sony 17” (TCO 99) на базе ЭЛТ Trinitron: 

		разрешение по горизонтали (max) - 1600 пикселей; 

		разрешение по вертикали (max) - 1200 пикселей; 

		легко регулируемые контрастность и яркость;

		частота кадровой развертки при максимальном разрешении - 85 Гц; 

		частота строчной развертки при максимальном разрешении - 42 кГц.

Питание ПЭВМ производится от сети 220В. Так как безопасным для человека напряжением является напряжение 40В, то при работе на ПЭВМ опасным фактором является поражение электрическим током.

В дисплее ПЭВМ высоковольтный блок строчной развертки и выходного строчного трансформатора вырабатывает высокое напряжение до 25кВ для второго анода электронно - лучевой трубки. А при напряжении от 5 до 300 кВ возникает рентгеновское излучение различной жесткости, которое является вредным фактором при работе с ПЭВМ (при 15 - 25 кВ возникает мягкое рентгеновское излучение). 

Развертка ЭЛТ создается напряжением с частотой:

		85 Гц  (кадровая развертка);

		42 кГц (строчная развертка).

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

Во время работы компьютера дисплей создает ультрафиолетовое излучение, при  повышении плотности которого > 10 Вт/м2, оно становится  для человека вредным фактором. Его воздействие особенно сказывается при длительной работе с компьютером. 

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



ВЫВОД: 

При эксплуатации перечисленных элементов вычислительной техники могут возникнуть следующие опасные и вредные факторы:

Поражение электрическим током.

Рентгеновское излучение.

Электромагнитное излучение.

Ультрафиолетовое излучение.

Статическое электричество.

3.1.2. Анализ влияния опасных и вредных факторов на пользователя

3.1.2.1. Влияние электрического тока

Электрический ток, воздействуя на человека, приводит к травмам. Такими травмами являются:

		Общие травмы:

		судорожное сокращение мышц, без потери сознания;

		судорожное сокращение мышц, с потерей сознания;

		потеря сознания с нарушением работы органов дыхания и кровообращения;

		состояние клинической смерти;

		Местные травмы:

		электрические ожоги;

		электрический знак;

		электро-автольмия.

Проходя через тело человека, электрический ток оказывает следующие воздействия: 

		термическое (нагрев тканей и биологической среды);

		электролитическое (разложение крови и плазмы);

		биологическое (способность тока возбуждать и раздражать живые ткани организма);

		механическое (возникает опасность механического травмирования в результате судорожного сокращения мышц).

Тяжесть поражения электрическим током зависит от:

		величины тока;

		времени протекания;

		пути протекания;

		рода и частоты тока;

		сопротивления человека;

		окружающей среды;

		состояния человека;

		пола и возраста человека.

Наиболее опасным переменным током является ток 20 - 100 Гц. Так как компьютер питается от сети переменного тока частотой 50 Гц, то этот ток является опасным для человека.



3.1.2.2. Влияние рентгеновского излучения

В организме происходит:

		торможение функций кроветворных органов;

		нарушение нормальной свертываемости крови и т.д. 

Биологический эффект зависит от дозы облучения.



3.1.2.3. Влияние электромагнитных излучений

Электромагнитные поля с частотой 60 Гц и выше могут инициировать изменения в клетках животных (вплоть до нарушения синтеза ДНК). В отличие от рентгеновского излучения, электромагнитные волны обладают необычным свойством: опасность их воздействия при снижении интенсивности не уменьшается,  мало того, некоторые поля действуют на клетки тела только при малых интенсивностях или на конкретных частотах. Оказывается переменное электромагнитное поле, совершающее колебания с частотой порядка 60 Гц, вовлекает в аналогичные колебания молекулы любого типа, независимо от того, находятся они в мозге человека или в его теле. Результатом этого является изменение активности ферментов и клеточного иммунитета, причем сходные процессы наблюдаются в организмах при возникновении опухолей.









3.1.2.4. Влияние ультрафиолетового излучения

Ультрафиолетовое излучение - электромагнитное излучение в области, которая примыкает к коротким волнам и лежит в диапазоне длин волн ~ 200 - 400 нм.

 Различают следующие спектральные области:

		200 - 280 нм - бактерицидная область спектра.

		280 - 315 нм - зрительная область спектра (самая вредная).

		315 - 400 нм - оздоровительная область спектра.

Энергетической характеристикой является плотность потока мощности [Вт/м2].

Биологический эффект воздействия определяется внесистемной единицей [эр].

1 эр - это поток (280 - 315 нм), который соответствует потоку мощностью 1 Вт. 

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

		7,5 мэр·ч/ за рабочую смену;

		60 мэр·ч/ в сутки.

При длительном воздействии и больших дозах могут быть следующие  последствия:

		серьезные повреждения глаз (катаракта);

		рак кожи;

		кожно-биологический эффект (гибель клеток, мутация, канцерогенные накопления);

		фототоксичные реакции.



3.1.2.5. Влияние статического электричества

Результаты медицинских исследований показывают, что электризованная пыль может вызвать воспаление кожи, привести к появлению угрей и даже испортить контактные линзы. Кожные заболевания лица связаны с тем, что наэлектризованный экран дисплея притягивает частицы из взвешенной в воздухе пыли, так, что вблизи него “качество” воздуха ухудшается и оператор вынужден работать в более запыленной атмосфере. Таким же воздухом он и дышит.

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

При повышении напряженности поля Е>15 кВ/м, статическое электричество может вывести из строя компьютер.



ВЫВОД: 

Из анализа воздействий опасных и вредных факторов на организм человека следует необходимость защиты от них.


3.2 Способы защиты пользователей от воздействия на них опасных и вредных факторов.

3.2.1. Методы и средства защиты от поражения электрическим током

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

Как основной способ борьбы с опасностью поражения электрическим током (от поражения напряжением прикосновения) используется зануление. 

Зануление - это преднамеренное соединение нетоковедущих металлических частей, которые могут оказаться под напряжением в результате повреждения изоляции, с нулевым защитным проводником (применяется в трехфазных сетях с заземленной нейтралью в установках до 1000 вольт). Для защиты используется нулевой защитный провод. В сеть включается автомат.

Схема защитного зануления представлена на Рис. 11.





  O



1 фаза



  O



2 фаза



  O



3 фаза



  O



нулевой рабочий провод



НЗП



ПЭВМ



автомат с K = 3



R0



 .



 .



 .



 .



 .



 .

Рис. 11. Защитное зануление

НЗП - нулевой защитный проводник.

Принцип защиты пользователей при занулении заключается в отключении ПЭВМ за счет тока короткого замыкания, который вызывает отключение его и сети.

При нормальном режиме работы сети ток, текущий через человека, можно рассчитать как:

Iч = Uф/ (Rч+r0) , где   

Iч - ток, протекающий через человека [А];

Uф - фазовое напряжение (Uф = 220 В), [В];

Rч - сопротивление тела человека (Rч = 1000 Ом), [Ом];

r0 - сопротивление заземлителя (или сопротивление обуви порядка 

10 Ом), [Ом];

Так как r0 << Rч  - следовательно сопротивление заземлителя можно в расчет не брать.

Получается, что практически все Uф применено к телу человека и, следовательно, получается:

Iч = Uф / Rч

Iч = 220 / 1000 = 0,22 А

Допустимые значения приложенного напряжения и протекающего через человека тока соответственно равны 36 В и 0,006 А. Полученные же при расчете цифры гораздо превосходят эти значения (220 В и 0,22 А).

Рассчитаем ток короткого замыкания (Iкз) по заданным параметрам.

, где

Uф – фазное напряжение сети питания (Uф = 220 В), [В];

rТ – паспортная величина сопротивления обмотки трансформатора, 

(rТ  = 0,312 Ом), [Ом].

Rобщ = r1 + r2 + r3 , где



ρ – удельное сопротивление проводников (для меди ρ = 0,0175 Ом·м), [Ом·м];

l - длина проводника, [м];

S – площадь поперечного сечения проводников (S = 1 мм2), [мм2].

Возьмем   l1 = 700 м,   l2 = 100 м,   l3 = 50 м;

r1 = 0,0175·700/1 = 12,25 Ом

r1 = 0,0175·100/1 = 1,75 Ом

r1 = 0,0175·50/1 = 0,875 Ом

Rобщ = 12,25 Ом + 1,75 Ом + 0,875 Ом = 14,875 Ом



По величине Iкз определим, с каким  Iном необходимо в цепь питания ПЭВМ включать автомат.

, 

следовательно , где

k – коэффициент, указывающий тип защитного устройства 

(в зависимости от типа автомата: k=3 для автомата с электромагнитным расщепителем).

Iном = 14,69 А / 3 = 4,9 А



ВЫВОД: 

Для отключения ПЭВМ от сети в случае короткого замыкания или других неисправностей в цепь питания ПЭВМ необходимо ставить автомат с       Iном = 5 А.


3.2.2. Методы и средства защиты от рентгеновского излучения

Существует 3 основных способа защиты от рентгеновского излучения:

		время (работа не более 4 часов);

		расстояние (не менее 50 см от экрана);

		экранирование.

Необходимо придерживаться строгого графика работы - время работы за компьютером не должно превышать половины рабочей смены (4 часа).

Для рентгеновского излучения - предельно допустимая доза для людей, которые постоянно или временно работают непосредственно с источником ионизирующих излучений не должна превышать D = 0,5 бэр/год в год.

Определим уровень мощности дозы на различных расстояниях от экрана монитора по формуле:

Рri = Р0·е-·r , где

Р0 – мощность дозы излучения на расстоянии 5 см от экрана, мкР/ч;

r – расстояние от экрана, см;

 – коэффициент ослабления воздухом рентгеновских лучей, см-1. 

Для расчета возьмем  = 3,14·10-2 см-1, см-1.

Таблица 3

r, см

5

10

30

40

50

60

Рrj, мкР/ч

100

73

53

39

28

21

Зависимость уровня мощности дозы от расстояния до источника

где:

r  – расстояние от экрана (см);

Prj – уровень мощности рентгеновского излучения на заданном расстоянии (микрорентген в час).

Принимая среднее расстояние между пользователем и монитором за 60 см и зная, что годовая доза рентгеновского излучения опасная для здоровья равна 0,5Р - можно рассчитать реальную дозу радиации получаемую пользователем за год:

Dr = Di · n · n1 · n2

Dr  – доза радиации за год;

n – нормируемое ежедневное время работы за монитором равное 4ч; 

n1 – количество рабочих дней в неделю (5 дней); 

n2 – количество рабочих недель в году (в среднем 43 недели); 

Di – мощность дозы рентгеновского излучения на расстоянии 60 cм; 

Dr = 15,2 · 4 · 5 · 43=0,013Р (бэр).

0,013Р < 0,5Р (предельно допустимая доза 0,5Р значительно превосходит полученное значение дозы).



ВЫВОД: 

Оператору рекомендуется находиться от монитора на расстоянии не менее 60 см.



3.2.3. Методы и средства защиты от ультрафиолетового излучения

Для защиты от ультрафиолетового излучения:

		защитный фильтр или специальные очки (толщина стекол 2 мм, насыщенных свинцом);

		одежда из фланели и поплина;

		побелка стен и потолка (ослабляет на 45-50%).

	

3.2.4. Методы и средства защиты от электромагнитных полей низкой частоты.

Защита от электромагнитных излучений осуществляется временем, расстоянием, экранированием:

		время работы - не более 4 часов;

		расстояние - не менее 50 см от источника;

		экранирование.



Относительно электромагнитных излучений низкой частоты можно отметить, что в современных мониторах нижний предел спектра смещен в сторону высоких частот посредством увеличения частоты кадровой развертки до 90-120Гц и значительно превышает наиболее опасную частоту - 60Гц.

Чтобы уменьшить опасность надо:

		не работать с открытой ПЭВМ;

		соблюдать расстояния между соседними ПЭВМ ( не < 1,5м )

		исключить пребывание сбоку от монитора (≥ 1,2 м).



3.2.5. Методы и средства защиты от статического электричества

Электростатические поля вызывают скопление пыли, попадающей на лицо и глаза оператора.

Норма : 15 кВ/м.

Защита от статического электричества и вызванных им явлений осуществляется следующими способами:

		наличие контурного заземления;

		использование нейтрализаторов статического электричества;

		скорость подвижного воздуха в помещении должна быть не более 0,2 м/с;

		отсутствие синтетических покрытий;

		ежедневная влажная уборка помещения вычислительного центра для уменьшения количества пыли;

		проветривание без присутствия пользователя.



ВЫВОД: 

Выбранные методы и способы защиты от опасных и вредных факторов обеспечивают защиту пользователей, работающих с  вычислительной техникой.













































4. Заключение

В ходе дипломного проектирования были решены следующие задачи:

		Осуществлен выбор функций для программной реализации типовых интерактивных действий обучаемого при работе с интерактивным тренажером

		Проанализирована роль интерактивных информационных моделей

		Осуществлена программная реализация  основных интерактивных действий с моделями сцен при помощи визуального программирования

		Проанализированы инструментальные среды для функциональной реализации проекта

Требования к  интерактивным возможностям проекта были полностью выполнены:

Реализована функция изменение высоты светильников и камеры;

Реализована функция регулировка яркости светильников;

Реализована функция настройки ширины распространения светового луча светильников;

Реализована функция изменение наклона и места положения любых приборов, представленных в проекте.

совмещение любых объектов (из списка приборов);

составление произвольных композиций объектов в целях создания или воспроизведения схемы расстановок осветительных приборов;

изменение параметров любого из указанных объектов тренажера.









5. Список литературы

Документация к продукту Quest3D http://quest3d.com- Англ.

Учебное пособие по Quest3D http://quest3d.com- Англ.

Статья «Пламенные моторы», часть 1 редакции журнала "Игромания". Автор Эдуард Клишин.

Статья «Пламенные моторы», часть 2 редакции журнала "Игромания". Автор Эдуард Клишин.

Roberto Ierusalimschy Programming in Lua. Second Edition (2003)

ГОСТ 12.0.003-86 Опасные и вредные производственные факторы. Классификация.

ФЗ РФ №181 1999г. "Об основах охраны труда в РФ"

Сибаров Ю.Г. и др. Охрана труда на ВЦ. М., 1989

СанПиН – 1340-03. Гигиенические требования к ЭВМ и организация работы.

ГОСТ 12.1.030-81 Электробезопасность. Защитное заземление, зануление.

ГОСТ ССБТ 12.1.045-84 Электростатические поля. Допустимые уровни на рабочем месте.

ГОСТ ССБТ 12.1.124-84 Средства защиты от статического электричества.



ПРИЛОЖЕНИЕ 1

Интерактивная информационная модель



Иллюстрирует все объекты проекта, наделенные интерактивными возможностями.

















ПРИЛОЖЕНИЕ 2



Схема программной части проекта



86