1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /128, 1996 г./ | Бонус | Поиск  

Тема номера

Виртуальная вселенная своими руками

Константин Геращенко


© 2004, Еженедельник «Компьютерра» | http://www.computerra.ru/offline
Этого материала на сайте "Компьютерры", к сожалению, нет

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

Немного истории, или Нам сверху видно все

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

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

 

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

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

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

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

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

Шлемы

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

Шлем l-Glasses фирмы Virtual I/O – самый дешевый из устройств подобного типа По правде говоря, он больше напоминает очки, весит он менее 500 граммов. Его розничная цена здесь в России с учетом всех таможенных сборов, составляет 1193 доллара. Шлем оснащен двумя жидкокристаллическими дисплеями (ЖКД), размещенными перед каждым глазом. Размер ЖКД составляет 0,7 дюйма, разрешение – 180 тысяч пикселей на каждый глаз, угол зрения – 60°. Диапазон частот стереонаушников находится в пределах от 20 Гц до 20 кГц. Система слежения фирмы Polhemus (США), принцип действия которой основан на регистрации изменения направления магнитного поля Земли, отслеживает повороты головы относительно всех трех осей с точностью 0,5° (зона нечувствительности составляет 0,25°). Эта же фирма выпускает и 6-степенную систему слежения, позволяющую кроме угловых перемещений отслеживать линейные, но стоит она значительно дороже – более 2500 долларов.

 

Наиболее популярной системой в нашей стране стал шлем VFX-1, выпускаемый американской компанией Forte. Одной из главных особенностей этого устройства является "умный козырек" (Smart Visor), который избавляет пользователя от необходимости снимать шлем с головы каждый раз, когда погружение в виртуальную реальность заканчивается или приостанавливается, – для этого достаточно просто поднять козырек шлема. Другим отличием является возможность регулирования межзрачкового расстояния. Для носящих очки предусмотрена настройка фокуса для каждого глаза. Шлем довольно легок, его открытая конструкция не затрудняет циркуляцию воздуха, и он очень быстро, с помощью простейших приспособлений, подгоняется под размер головы играющего.

Стереонаушники VFX-1 совместимы практически со всеми звуковыми платами, а встроенный микрофон позволяет "виртуалам" общаться между собой во время сеанса. Для формирования трехмерного стереоскопического изображения используются два ЖКД с активной матрицей, работающих со всеми стандартными приложениями VGA. Размер изображения составляет 10,6 мм по вертикали и 14,3 мм по горизонтали, поле зрения – 35,2° по вертикали, 53° по горизонтали, 56,Г по диагонали, разрешение- 181x470пикселей. Каждый глаз видит свою картинку, но при этом оба изображения синхронизированы таким образом, чтобы обеспечить стереоскопический эффект.

Система The 3D VOS Head Tracker отслеживает повороты головы относительно трех осей в диапазоне 140° по вертикали и 360° по горизонтали Угловое разрешение -0,0077° по вертикали и 0,251° по горизонтали. В розницу шлем продается за 1495 долларов, сравнительно невысокая цена в сочетании с приличными возможностями сделали это устройство "хитом сезона" и у нас, и на Западе. Объем продаж VFX-1 в России стабилизировался на уровне 100-120 шлемов в месяц Точными данными об объемах западного рынка мы, к сожалению, не располагаем, но, по косвенным оценкам, в мире продается не более 8000 таких шлемов в месяц.

Шлемы CyberEye Stereo и CyberEye Mono, выпускаемые фирмой General Reality, стоят несколько дороже 3185 и 2535 долларов соответственно. По всей видимости, это объясняется более высоким разрешением ЖКД (420x230). Характеристики аудиоканала, системы отслеживания положения головы у этих устройств практически такие же, как у l-Glasses или VFX-1.

Следующие представители этого класса устройств – шлемы VIM 500 и VIM 1000 фирмы Kaiser Electro-Optics Их принципиальное отличие заключается в том, что изображение в них формируется на относительно большом экране, состоящем из нескольких ЖКД. Размер дисплеев – 0,7 дюйма, разрешение – 180 тысяч пикселей, цвет – 24-битный. Здесь не требуется настраивать межзрачковое расстояние и фокусировку экран находится на некотором расстоянии от глаз, и обладателям очков не придется расставаться со своим "дополнительным органом" Играющий получает в полном смысле широкоформатное изображение угол зрения по вертикали – 30°, по горизонтали – 100° (VIM 1000) или 50° (VIM 500) Правда, и цена таких шлемов подобающая – VIM 1000 стоит 9085 долларов, a VIM 500 – "всего" 4019 долларов. Вес каждого из них составляет 750 граммов.

В описанных выше шлемах изображение формируется на жидкокристаллических дисплеях. Но существуют и другие способы например, в устройстве HMD-133 (Head Mounted Display) вместоЖКИ используются электронно-лучевые трубки, мониторы в миниатюре Характеристики у такого шлема поприличнее разрешение 1024x768, 24-битный цвет, – но и цена тоже соответствующая 43700 долларов. Применяются эти шлемы в мирной, но достаточно прибыльной за рубежом отрасли – в медицине в частности, в томографии, диагностике и для обучения студентов (появился даже новый термин – виртуальная хирургия).

Графические акселераторы

Или, если говорить точнее, трехмерные акселераторы реального времени (3D Accelerators Real Time capable). Они предназначены для пересчета изображения в реальном времени с частотой не менее 20 кадров в секунду – в противном случае "картинка" будет дергаться, как в старом кино. (Конечно, теоретически можно обойтись и без акселератора – если изображение очень простое, а компьютер достаточно мощный, – но это, скорее, исключительный случай.) Акселератор представляет собой плату, устанавливаемую в компьютер. Все многообразие предлагаемых моделей этих устройств, отличающихся ценой, производительностью и качеством, можно условно разделить на два класса: акселераторы, предназначенные для серьезных задач (анимация, научные, медицинские, военные применения, CAD-системы), и акселераторы для игр. Принципиальное различие между двумя классами заключается в том, что в серьезных приложениях необходимо "честно" обсчитывать взаимное расположение объектов и очень точно его отображать, вносить перспективную, пространственную и текстурную коррекцию, а для игр, понятное дело, достаточно создать правдоподобное изображение, особенно не углубляясь в расчеты угловых размеров объектов на заднем плане или, скажем, "густоты" падающей тени.

 

К классу профессиональных акселераторов можно отнести карту Sapphire фирмы Fujitsu, реализующую современную технологию PixelBus. Эта карта позволяет работать со сложными движущимися трехмерными объектами в полноэкранном режиме (1024x768, TrueColor) со скоростью до 30 кадров в секунду. Sapphire работает под Windows NT и требует 8 Мбайт RAM. Цена Sapphire – 1795 долларов. Примерно к этому же классу относятся акселераторы SDemon фирмы OmniComp (1550 долларов) и Freedom фирмы Evans&Sutherland (3590 долларов).

 

Простые и дешевые акселераторы выпускаются американской компанией STB. Их стоимость колеблется от 200 до 500 долларов. Одна из новинок этой фирмы – акселератор 3D Game PRO, созданный под Windows 95 и пересчитывающий изображение, содержащее 4000 полигонов, со скоростью 30 кадров в секунду. Однако с большим сожалением нужно отметить, что 3D Game PRO проводит такой пересчет довольно некорректно.

Перчатки, жилетка, трэкер...

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

Другим популярным аксессуаром по праву считается перчатка Power Glove Она оснащена ультразвуковыми датчиками положения и ориентации пальцев, а также сенсорами изгиба. Стоит такая "рукавичка" 60 долларов. Кроме того, уже стали привычными 3-6-степенные манипуляторы и "гравитационные" мышки разных "пород" – как с проводами, так и без оных.

Малоизвестными в нашей стране устройствами (в силу своей специфичности и стоимости) пока являются трэкеры. Они предназначены для решения задач анимации: отслеживать в реальном масштабе времени положение частей тела (рук, ног, головы и т.д.) и передавать эту информацию в компьютер для обработки. Принцип действия этих устройств прост: "подопытного" человека обклеивают датчиками, направляют на них сигнал (в оптическом диапазоне, ИК или СВЧ), регистрируют приемниками отраженные импульсы и затем, как в обычном локаторе, вычисляют координаты датчиков. Не стану утомлять вас перечислением названий трэкеров и фирм, их выпускающих, а лишь отмечу, что цены на эти устройства колеблются в диапазоне от 1500 до 60000 долларов.

Построить вселенную? Нет проблем

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

Построить свой виртуальный мир и определить его свойства можно с помощью трехмерного редактора VREAM 3D системы разработки виртуальной реальности VREAM. Редактор создает объекты в виртуальной трехмерной вселенной с помощью полного набора 3D Drawing Tools, задает активные интерфейсные устройства (клавиатура, мышь, джойстик, шлем, 60-трэкер, ЗD-мышь, перчатки и т.п.). Подсистема VREAM Runtime System позволяет погрузиться в созданный виртуальный мир и взаимодействовать с ним, перемещать его объекты, воздействовать на них.

Подсистема Advanced Features обладает многими свойствами, характерными для подобных дорогостоящих продуктов. Она обеспечивает высокое качество наложения на трехмерные объекты произвольных текстур, воспроизводит виртуальный мир как в обычном, так и в стереоскопическом вариантах, позволяет динамически создавать, изменять или уничтожать объекты виртуального пространства. VREAM может быть использована в качестве оболочки для других, внешних по отношению к виртуальному миру, приложений, обеспечивает сетевую поддержку – совместную "жизнь" в созданном пространстве нескольких пользователей системы. VREAM работает на стандартных PC-совместимых 386-х или 486-х ПК под DOS, Windows 3.x, Windows NT и Windows 95.

WorldToolKit for Windows фирмы SenseS Corporation является многоплатформной системой разработки ПО для визуального моделирования и создания приложений виртуальной реальности. Сегодня система WorldToolKit функционирует на платформах Silicon Graphics, Sun, HP, DEC, Intel и PowerPC и является единственным продуктом для создания приложений виртуальной реальности, разработанным согласно философии OpenVr. Это означает, что WorldToolKit переносим между различными платформами, поддерживает широкий спектр устройств ввода-вывода (шлемы, трэкеры, 3D-мыши и т.п.), позволяет объединять процедуры, написанные с использованием библиотеки WorldToolKit, с уже существующим Си-кодом (драйверами устройств, различными конверторами и т.д.). На платформе PC-совместимых компьютеров WorldToolKit работает под Windows 3.x, Windows NT, Windows 95 и не требует специальных графических ускорителей.

Объектно-ориентированная библиотека WorldToolKit, написанная на Си, содержит более 650 высокоуровневых функций, позволяющих создавать виртуальный мир и взаимодействовать с ним. Библиотека WorldToolKit состоит из 18 классов, включающих "вселенную" (Universe), которая содержит обычные и графические объекты (graphical objects), точки обзора (viewpoints), сенсоры (sensors), пути (path) и источники света (light) и моделирует их взаимодействие. Минимальные требования к технике: процессор не ниже 486DX, 8 Мбайт RAM. Дополнительное программное обеспечение: М5УС++2.0,или Borland C++ 4.0, или Symantec C++ Professional, или Watcom 9.5.

Продукт Open Inventor, созданный фирмой Silicon Graphics, – это полностью объектно-ориентированная система разработки программных приложений виртуальной реальности. На сегодня существуют ее версии практически под все популярные операционные системы. Open Inventor наиболее эффективно использует мощную библиотеку OpenGL, предоставляет интуитивно ясный и легкий в освоении графический интерфейс, трехмерный вьюер и редактор, программный интерфейс Си и Си++, классы анимации.

Open Inventor значительно расширяет возможности таких хорошо известных систем, KaKMSVisual C++ 2.0 в области трехмерной графики, добавляя в стандартное меню новый пункт – свой Wizard, с помощью которого пользователь может создавать и модифицировать трехмерные объекты в виртуальном мире. Open Inventor сохраняет информацию о созданном виртуальном пространстве в объектно-ориентированной базе данных, называемой scene graph, где находится вся информация, необходимая для моделирования полностью интерактивного трехмерного виртуального мира (трехмерные объекты и их атрибуты, источники света, камеры, события, реакции объектов на события и т.п.). Новый формат данных БД scene graph получил название Open Inventor Intercharge Format IV. IV-файлы могут быть созданы на одном рабочем месте, а затем перенесены на другое по локальной сети или по Internet и там воспроизведены.

Итак, чтобы почувствовать себя Создателем, вам осталось сделать самую малость – купить что-нибудь из указанного "софта". Если вспомнить все возможности этого ПО, то цены на него покажутся вам более чем божескими: VREAM стоит 1235 долларов, WorldToolKit – от 1000 до 3000 долларов, a Open Inventor – 1800 долларов.

 


1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /128, 1996 г./ | Бонус | Поиск  

© 2004, Издательский дом «Компьютерра» | http://www.computerra.ru
Телефон редакции: (095) 232-22-61
E-mail редакции: inform@computerra.ru