О РАЗРАБОТКЕ СЕРВЕРА ВИРТУАЛЬНЫХ МИРОВ ДЛЯ УНИВЕРСИТЕТА А.В. Меженин, В.Т. Тозик
С исторической точки зрения системы человеко-машинного интерактивного диалога вступили в третий этап своего развития. Если на первом этапе взаимодействие осуществлялось с помощью некоего диалогового командного языка-интерпретатора (типа DOS), то на втором этапе диалог с компьютером проводился посредством текстово-графической информации (ярким примером является операционная система WINDOWS). Погружение в виртуальную реальность можно рассматривать как новый этап развития систем диалога, когда происходит некий симбиоз компьютера и человека. Навигация в мире зрительных образов дает возможность шагнуть внутрь компьютера, позволяя ориентироваться внутри визуальных образов, порождая эмоции, чувства, интуицию, что недоступно неодушевленному компьютеру. Этот тип интерфейса стал возможным прежде всего благодаря развитию технологий суперкомпьютинга, систем трехмерной визуализации и сетевой обработки данных.
Существует целый класс задач, не описываемых формально, однако решение их возможно с помощью технологий виртуальной реальности. Используя технологии виртуальной реальности, можно моделировать как реально существующие объекты, так и воображаемые синтетические миры.
Все существующие виртуальные миры в Интернет можно разделить на два типа. Первый - это трехмерный мир или трехмерное виртуальное пространство, позволяющее просматривать, взаимодействовать и/или редактировать трехмерные объекты, не видя других пользователей. Это миры, существующие только для одного человека в каждую единицу времени.
Второй тип - миры, которые поддерживают одновременное взаимодействие различных пользователей в единый промежуток времени. Это миры, в которых каждый пользователь может ощущать присутствие других пользователей с помощью производимых ими действий и видеть виртуальное отображение других пользователей в виде так называемых аваторов. Результат действий других пользователей передается практически сразу, что создает впечатление взаимодействия в реальном масштабе времени.
При создании виртуальных миров должны быть выполнены следующие этапы:
■ разработка эскизов объектов и мира;
■ моделирование оригинальных объектов с помощью программ трехмерного моделирования с использованием коллекции моделей в различных трехмерных форматах и различных текстур для типовых объектов;
■ конвертирование миров с помощью программ-конверторов в формат языка VRML;
■ размещение объектов внутри сцены, создание освещения, наложение текстур, добавление поведения объектов и установление точек вида;
■ оптимизация разрабатываемых объектов и создаваемого мира;
■ помещение объектов и мира в Интернет.
Для построения виртуальных миров существуют три вида базовых программ, с помощью которых можно строить VRML миры.
1. Интегрированное программное обеспечение, позволяющее строить, размещать, освещать, окрашивать, анимировать объекты. Такие программы позволяют выполнить большую часть работы по созданию виртуальных миров (например, 3D MAX).
2. Программы, созданные для совсем других целей, такие как программы автоматизированного проектирования (SolidWorks 2000), программы для
разработки игр, программы для анимации трехмерных фильмов и тому подобные программы, которые позволяют выполнить часть работы с их помощью. 3. Программы, которые специализированы для выполнения только одного действия. Такие программы можно использовать только в комбинации с другими инструментами.
Можно сформулировать требования к интегрированному программному обеспечению для создания трехмерных объектов и трехмерных миров:
• импортировать VRML объекты и объекты в других трехмерных форматах;
• масштабировать объекты, включая их растяжение и скручивание по различным направлениям;
• удалять, копировать и вставлять части объектов или объекты целиком;
• группировать и разгруппировывать объекты;
• окрашивать объекты или их части, а также отдельные поверхности или вершины;
• устанавливать прозрачность и яркость объектов;
• накладывать текстуру изображения на объекты;
• изменять местоположение единичной поверхности или вершины;
• создавать новые объекты, используя примитивы или действия над двумерными объектами;
• выполнять булевы операции;
• создавать и определять положение источников света и точек взгляда;
• анимировать объекты и отлаживать анимации;
• усовершенствовать и присоединять сценарии;
• создавать и накладывать текстуру на рельефные объекты;
• синтаксически проверять текстовый файл созданного мира и помогать уменьшить время загрузки и рендеринга.
Создание виртуальных миров, а особенно активных многопользовательских, является на сегодняшний день сложной технической задачей. Создание сервера виртуальных миров требует усилий множества специалистов по графике, звуковому оформлению и программированию. Такой сервер должен состоять из множества элементов, выполненных по разным технологиям и взаимодействующих по сложным законам.
На наш взгляд, решение этих проблем лежит в использовании таких современных технологий, как Macromedia Flash. Этот продукт позволяет совместить все в едином файле, в едином стандарте. Использование графики, анимации и звука умещается в несколько десятков килобайт. Технологии Flash позволяют объединить в одном формате и текст, и графику, и звук, и анимацию, и интерактивные компоненты. Клиентская часть виртуального мира, сделанная с применением Flash, приобретет динамичность, живо реагирует на действия пользователя, превращая его из наблюдателя в участника процесса.
Ценность технологии Flash трудно переоценить для программистов, создающих приложения для Интернет по работе с базами данных или корпоративной почтой. Совмещая Flash и обычный HTML, можно добиться поразительной функциональности и привлекательности при сохранении их лаконичности, структурированности и управляемости.
Сочетание векторной графики и анимации со средствами программирования делает Flash уникальным средством разработки сайтов в Интернет.
Важным элементом при создании виртуального мира могут стать разработки компании Electric Rain, недавно представившей свой программный продукт для разработки виртуальных миров в трехмерной векторной графике - плагин для 3D Studio MAX под названием Swift3D. Этот плагин позволяет экспортировать графику
в формат Macromedia Flash (.SWF). До сих пор 3DSMax испытывал недостаток возможностей экспортировать графику во Flash, но теперь положение изменилось. Это важное событие для всех веб-разработчиков, работающих с векторной графикой, потому что раньше продукты, подобные 3D Studio MAX, могли экспортировать только растровую графику и модели, созданные в них, не могли использовать преимущества маленьких по размеру векторных форматов наподобие .SWF. Swift 3D основан на технологии RAViX, разработанной Electronic Rain. Она переводит растровые изображения в векторные файлы. RAViX II является ядром плагина.
Рис. 1. Сцена виртуального мира с трехмерной моделью здания ИТМО
На кафедре ИКГ ИТМО (http://kikg.ifmo.ru) ведутся работы по разработке человеко-машинного интерфейса типа "виртуальный мир". Цель - разработка принципов построения, архитектуры и вариантов трехмерного виртуального мира кафедры как виртуальной учебно-научно-производственной среды. На основе технологии виртуальных миров планируется создание сервера ИТМО. Технологическими особенностями данного проекта является использование VRML- и Flash-технологий, гипер- и мультимедийности, одно- и многопользовательского доступа. На рис. 1 представлена сцена виртуального мира с трехмерной моделью здания ИТМО. При усложнении модели в дальнейшем появится возможность виртуальных путешествий по аудиториям и лабораториям ИТМО.