Погружение в гиперпространство

29 март, 1996 - 21:38КО

Реальный мир, в котором мы живем, не является плоским, так почему же должен быть плоским мир World Wide Web? Язык моделирования виртуальной реальности (Virtual Reality Modeling Language — VRML) предоставляет средства для построения трехмерных миров в Web и перемещения в них.

Но какая от этого польза? Постараемся ответить на этот вопрос на примере home-страницы, принадлежащей Imagine, агентству путешествий. Вместо скучного списка с перечнем маршрутов путешествий или набора фотографий тех мест, которые можно посетить, вы попадаете на трехмерную (3-D) сцену, которая представляет собой виртуальное агентство путешествий. В ожидании агента вы рассматриваете объявление, рекламирующее какой-то курорт. Щелкнув мышью на этом объявлении, вы попадаете на другую трехмерную сцену: вокруг много деревьев, неподалеку расположился деревенский клуб, а на горизонте виднеются горы. Обычные плоские (двумерные) Web-страницы будут выглядеть откровенно скучными по сравнению с такими трехмерными, интерфейс которых к тому же не является тем, что все привыкли понимать под этим словом, и это должно особенно нравиться новичкам Web.

Погружение в гиперпространство


VRML (произносится как «Vermel») — это спецификация для разработки трехмерных сцен в Web. Он задумывался с целью создания такой понятной всем Web-среды, которая не требует ни обучения, ни каких-либо метафор для объяснения, ни специального интерфейса пользователя. В потрясающей книге Марка Песке (Mark Pesce) «Просмотр и построение киберпространства» («Browsing and Building Cyberspace»), издательство «New Riders», создатель Web Тим Бернерс-Ли (Tim Berners-Lee) приводит, например, такие доводы в пользу трехмерного мира Web: перемещение в трехмерном пространстве более естественно, чем щелканье кнопкой мыши по гиперсвязям текстовых Web-страниц; вы можете прогуливаться по виртуальным городам, посещать виртуальные музеи, просматривать какие-то данные в трехмерном представлении, и, наконец, подобно «горячим» гиперсвязям в Web, вы можете переходить из одного трехмерного VRML-мира в другой.

Язык моделирования виртуальной реальности

Разработчикам VRML Песке, Гавину Беллу (Gavin Bell) и Тони Паризи (Tony Parisi), когда они приступали к созданию VRML 1.0, надо было выполнить три требования: независимость языка от платформы; возможность использования в сетях с невысокой пропускной способностью; расширяемость. Чтобы реализовать их, разработчики вынуждены были пожертвовать другими возможностями, включая интерактивность. Например, вы наблюдаете виртуальный баскетбол и свободно перемещаетесь по баскетбольной площадке, но не можете выполнять дриблинг. Авторы VRML на время отложили включение в него средств интерактивности, чтобы не давать повода для развязывания войны за создание наиболее популярного расширения языка, поддерживающего такие средства. Но в то же время они прекрасно понимали, что надолго задерживать реализацию в языке средств взаимодействия в реальном времени тоже нельзя, так как в них залог успеха VRML на долгие годы. Поэтому было принято решение о включении таких средств в VRML 2.0.

Хотя VRML и не является расширением языка Hypertext Markup Language (HTML), и HTML-броузеры «не понимают» его, он все-таки имеет некоторое сходство с HTML. Так же, как и HTML, VRML является платформенно-независимым и используется для создания гипертекстовых документов в формате ASCII, но отличается тем, что служит для создания трехмерных виртуальных миров. Разработчики, использующие VRML, конструируют сложные объекты, называемые по терминологии этого языка «узлами», состоящие из базового «проволочного» каркаса с многоугольными плоскими гранями. VRML-узел, помимо базовой геометрии, может включать в себя и другие атрибуты, такие как источники освещения, текстуру поверхности и разнообразные спецэффекты вроде обволакивающего тумана, а также изображения в формате JPEG и звуковые данные в стандарте MIDI.

VRML-страница может содержать гиперсвязи (называемые «якорями» — «anchors») с другими VRML-документами, а также с обычными документами HTML. Каждый VRML-объект может быть связан с любым другим, распределенным по Internet. Вся информация, описывающая объект (узел), заносится в файл формата ASCII, который, как правило, имеет расширение .wrl. Когда вы с помощью VRML-броузера выбираете для просмотра Web-страницу, то попадаете в виртуальный мир, описанный с помощью такого файла.

VRML функционирует в соответствии с принятой в Web парадигмой броузер-сервер. Серверы интерпретируют запросы от броузера и пересылают затребованный документ, соответствующий предшествующему тегу, или документ в стандарте Multipurpose Internet Mail Extensions — MIME (такие документы никак не связаны с VRML). Ну а как же теперь увидеть полученный виртуальный мир, ведь обычный броузер для этого не годится? Оказывается, надо просто добавить средство просмотра VRML (viewer) к этому обычному броузеру, и в результате вы получите VRML-броузер.

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

Как правило, интерфейс пользователя VRML-броузера имеет кнопки управления направлением перемещения, которые можно заменить на джойстик или шаровой манипулятор. Можно, на худой конец, обойтись и без этого: достаточно простых действий с помощью мыши — щелчков и «перетаскиваний». Когда курсор мыши указывает на связанный объект (например, кнопку лифта), то этот объект меняет свой цвет. Если щелкнуть кнопкой мыши по связи, то загружается новый документ: VRML-мир, аудио или видеоданные или наскучивший HTML-документ. Если вдруг VRML-броузер «наткнется» на связь, которая не соответствует формату VRML, он для разъяснения ситуации предоставит вам в помощь соответствующее поучающее приложение.

Виртуальная реальность нуждается в хорошей производительности

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

Разработчики программ на языке VRML должны воспользоваться некоторыми хитрыми приемами для того, чтобы избежать неприятных моментов, обусловленных нехваткой вычислительной мощности. Для примера рассмотрим правильное использование камеры, которая в VRML играет роль точки наблюдения. Обычно камера в виртуальном пространстве перемещается свободно, но это требует интенсивных вычислений от CPU и большой пропускной способности от каналов. Можно действовать по-другому: с самого начала определить точки положения камеры для определенной перспективы (заранее выбранные точки наблюдения, куда вы сразу можете «прыгнуть»), что позволит вам ценой ограничения свободы перемещения камеры повысить скорость этого перемещения.

Другая хитрость — изменить уровень детализации: если вы «находитесь» далеко от объекта, вам не нужен такой же уровень детализации, как в случае, когда вы рядом с ним. Средства VRML позволяют эффективно использовать такую удобную возможность оптимизации путем реализации для объектов концепции вложенных форматов. Средства переключения уровня детализации (Level of Detail — LOD) между различными представлениями объекта действуют автоматически: степень уменьшения или увеличения детализации определяется текущим расстоянием до объекта.

Но даже с учетом всех этих хитростей все-таки предпочтительнее для работы с VRML использовать технику от Silicon Graphics: до сих пор виртуальная реальность и 3-D рендеринг лучше всего воспроизводятся на их высокопроизводительных графических станциях. Хотя те, кто не имеет такой возможности, могут воспользоваться или ПК на базе Pentium-100 с ОЗУ 32 MB и графическим ускорителем для Windows, или компьютером PowerMac, которые вполне справятся с такой задачей.

Но в дополнение ко всему этому необходимо еще иметь достаточную пропускную способность сети. Хотя VRML описывает трехмерные объекты довольно экономно и эффективно, но, тем не менее, для создания сложных трехмерных сцен требуется большое количество многоугольников и текстур, что влечет за собой увеличение объема передаваемых по сети данных. Некоторые эксперты считают, что для серьезного трехмерного Web необходима сеть с производительностью, близкой к ISDN или еще более высокой. И, наконец, если вы собираетесь получать удовольствие не только от наблюдения за ростом травы, то вам понадобится модем с пропускной способностью как минимум 28,8 Kbps.

Для нас открываются новые миры

Уже завтра VRML-объекты будут наделены «физическими» свойствами, анимацией и интерактивными средствами. У вас появится возможность передвигать мебель или подбрасывать мяч. Разработчики VRML думают над тем, как использовать предоставляемые языком Java от Sun Microsystems распределенные по сети исполнимые модули (applets) для реализации тех или иных функций объектов. В будущем VRML сможет поддерживать звук и видеоданные как отдельно, так и в «связке» с объектами (пока поддерживается только MIME).

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

IBM тоже оказалась вовлеченной в этот процесс, хотя ее планы на этот счет, судя по се же заявлениям, остаются неясными. В августе 1995 г. IBM объявила о выпуске расширения языка, называемого VRML+. Согласно заявлению директора IBM но мультимедиа Вилли Чью (Willie Chiu), это должно «способствовать улучшению сервисных средств VRML». Надо отметить, что столь импульсивная инициатива IBM выглядит пока несколько надуманной.

Погружение в гиперпространство



Где найдет применение VRML?

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

Ну а что же все-таки хорошего в этой технологии? Как и любая новая технология в новых условиях, она может дать непредсказуемые результаты. Web-узлы, вероятнее всего, будут использовать ее так же, как технологии RealAudio и ShockWave от Micromedia, — сугубо в качестве дополнений. Но возможности VRML намного шире. Уже сейчас архитекторы и промышленные дизайнеры применяют VRML для построения статических моделей с целью показать их своим заказчикам и остальной публике. Некоторые компании экспериментируют с трехмерными эффектами для того, чтобы облегчить доступ к Webстраницам. И не далек тот час, когда появятся Web-страницы, использующие для представления динамических данных трехмерные объекты.

Статья из "Компьютерного Обозрения" №20 от 29 мая 1996 г.