Язык моделирования виртуальной реальности
Связь между HTML и VRML
Местонахождение VRML-документов
Средства просмотра VRML-документов
Конфигурирование Netscape Nafigator и Microsoft Internet Explorer для
работы с VRML-документами
Единицы измерений в VRML
VRML как язык разработки сцен
Связь между узлами и графом сцены
Узлы VRML
Значение полей узлов
Имена узлов VRML
Потомки узла
Синтаксис узлов
Комментарии VRML
Общий синтаксис VRML
Язык моделирования виртуальной реальности ( VRML ) является языком
моделирования, который поддерживает трехмерные образы и трехмерный
текст. Можно познакомиться
со спецификациями VRML 2.0 ( кодовое название Moving Worlds - движущийся
мир), посетив узел http://vrml.sgi.com.moving-worlds/spec . Используя
отдельный VRML-броузер или же вспомогательную программу просмотра VRML
- документов, добавленную к обычному Web-броузеру, можно просматривать
трехмерную сцену, называемую также "миром". VRML - сцена
представляет собой просто совокупность трехмерных образов, которые
вы видите с помощью
вашего броузера. В рамках сцены, например такой, как образ дома, создатель
сцены может позволить прогуливаться по дому, переходя из одной трехмерной
комнаты в другую.
Связь между HTML и VRML
Между ними однако много общего. VRML поддерживает гиперсвязи точно так
же, как и HTML. Движение с одного узла на другой называется teleporting
- телепортация. Используя спец. броузер, можно загрузить и посмотреть
VRML-документ. Однако имея много общего, они существенно различаются.
VRML поддерживает как трехмерные образы, так и трехмерный текст. HTML
не поддерживает ни трехмерных образов, ни трехмерного текста. Документы
VRML используют MIME-тип x-world и подтип x-vrml. ( Если вы используете
вспомогательные VRML - утилиты для просмотра из броузера Netscape, вам
необходимо сконфигурировать броузер так, чтобы он смог обрабатывать этот
MIME-тип и расширение. ) С другой стороны, HTML-документы не используют
MIME-тип и расширение. Документы HTML обычно имеют расширение html or
htm. Обычным расширением VRML-документов является wrl. Синтаксис и структура
VRML - документов полностью отлична от тегов и структуры, которые вы
используете при создании HTML-документов. VRML является объектно-ориентированным
языков, использующим узлы в качестве объектов. Узлы являются первичными
объектами, которые вы создаете и которыми манипулируете в рамках VRML-сцены.
HTML не использует концепцию узлов.
Местонахождение VRML-документов
Для доступа и просмотра документа VRML вы используете броузер, чтобы
связаться с сервером, на котором находится документ VRML. Документы
VRML располагаются на серверах также, как и документы HTML. Иными словами,
файлы VRML находятся в директориях на сервере. Сервер может содержать
как файлы HTML, так и файлы VRML. Документы VRML могут ссылаться на
узлы ( объекты VRML ), которые находятся на других серверах. Если броузер
нуждается в этих узлах для рендеринга, то есть прорисовка сцен VRML,
сервер автоматически загружает файлы, которые содержат необходимые
узлы для вашего броузера VRML.
Средства просмотра VRML-документов
Можно использовать броузер World View как самостоятельный броузер или
же как вспомогательную программу, с помощью которой обычный броузер
может позволить просматривать VRML-документы. Используя свой броузер,
можно загружить VRML-броузер Worl View с Web-узла http://www.webmaster.com/wrml
. Поскольку большинство Web-узлов, которые вы будете посещать, содержат
HTML-документы и только некоторые их них поддерживают трехмерные документы
VRML, целесообразно сконфигурировать Web - броузер таким образом, чтобы
World View использовалась как вспомогательная программа.
Конфигурирование Netscape Navigator и Microsoft Internet Explorer для
работы с VRML-документами
Сами по себе текущие версии этих броузеров не поддерживают VRML-документы.
Вместо этого эти броузеры требуют вспомогательных программ, таких как
World View - броузер. В этих броузерах можно указать вспомогательную
программу для просмотра VRML-документов. Каждый раз, когда броузер будет
встречать VRML-документ, он будет вызывать эту вспомогательную программу.
Шаги, которые необходимо выполнить для конфигурирования каждого броузера,
различны. Их можно найти в спецификации, которая прилагается к вспомогательной
программе. Кроме того, целесообразно посетить Web-узлы компаний Netscape
и Microsoft и найти там рекомендации относительно вспомогательных VRML-программ.
Единицы измерений VRML
Перед тем как заниматься синтаксисом и структурой VRML, необходимо узнать
единицы измерений, которые используются в VRML при расстоянии и углов
в трехмерном пространстве. Также необходимо знать координатную систему
VRML, используемую для представления трехмерных образов. Стандартной
единицей измерений в VRML служит метр. Для измерения углов используются
радианы. В качестве координатной системы выбрана правокоординатная
система, основанная на "правиле правой руки", которое знакомо
из школьного курса физики. На мониторе начало координат находится в
левом нижнем углу. Ось Х расположена горизонтально и "смотрит" вправо.
Ось Y расположена вертикально и направлена вверх. Ось Z расположена
горизонтально, как и ось Х, и направлена "в монитор".
Связь между узлами и графом сцены
Как уже говорилось, VRML организует узлы в иерархическую структуру, называемую
графом сцены ( scene graph ), которая определяет порядок закраски,
прорисовки броузером узлов. Как вы узнаете далее, узел может наследовать
характеристики ранее определленого узла. Другими словами, то, как броузер
закрасил на предыдущем узле, может влиять на закраску последующего
узла.
VRML использует узлы-сепараторы ( Separator nodes ), чтобы изолировать
узлы и отменить свойства наследования. Узел-сепаратор, или узел-раздилитель,
позволяет дизайнеру сцены начинать с чистого листа при определении новых
узлов ( новых форм в рамках VRML-образа ). Использование узлов-сепараторов
позволяет VRML-программе забыть о характеристиках предыдущих узлов.
Узлы VRML
Как известно, узел VRML представляет собой объект. Аналогично любой объект
в сцене графа представляет собой узел, который описывает специфический
тип объекта. Например, узел может быть Сферой ( Sphere ),Конусом (
Cone ), Цилиндром ( Cylinder ) или Кубом ( Cube ). Эти типы узлов являются
узлами простой геометрии ( Simple Geometry Nodes ).
VRML также поддерживает другие типы узлов, такие как узлы Материала
( Material ) и Текстуры2 ( Texture2), которые являются узлами свойств
( Property nodes ). Граф сцены VRML использует узлы свойств, чтобы определить
материал поверхности ( Meterial Nodes ) для последовательности всех поверхностей.
Аналогичным образом, используя узел свойств, граф сцены определяет текстуру
( Texture2 Node ). Эта информация предназначена для броузера, который
применяет ее ко всей последовательности изображаемых форм.
Граф сцены VRML часто использует параметры, чтобы отличать один узел
от другого, когда два узла имеют один и тот же тип, например, узел Сфера
может иметь радиус, отличный от радиуса другого узла Сфера. Радиус узла
Сфера является полем ( field ). Узел VRML может не иметь полей или иметь
несколько полей. Вы также можете присвоить ему имя.
Значение полей узлов
Если вы задаете значение поля для узла, то должны присвоить имя этому
полю, после которого должно следовать значение поля. Имя и значение
поля разделяются пробелом или символом табуляции. Если необходимо обеспечить
несколько значений поля, вы разделяете значения запятыми и заключаете
значения в квадратные скобки.
Имена узлов VRML
Для обеспечения гибкости VRML позволяет присваивать узлу имя. Поименовав
узел, можно манипулировать им в пределах файла исходных кодов или из
другой программы, такой как скрипт. Присвоение узлам имен не является
обязательным, однако если вы решили присвоить имя узлу, то оно должно
быть уникальным, т.е. узел должен иметь только одно имя. Имя узла не
должно начинаться с цифры или содержать пробелы, управляющие символы,
одиночные или двойные кавычки, обратные слэши, фигурные скобки, знак "+" или
период.
Потомки узла
В пределах графа сцены можно представлять себе каждый объект как узел.
Иными словами, каждая форма является узлом. В пределах графа сцены
узлы могут иметь потомков. Синтаксис узла-потомка тот же, что и у узла-родителя.
Узел-родитель, содержащий один или более узлов-потомков, является групповым
узлом. Фактически VRML реализует объектное наследование и объектную
иерархию, позволяя узлам-родителям содержать узлы-потомки. Иными словами,
в пределах родительского узла документ VRML может определять цвета,
текстуры, преобразования и т.д. В этом случае узел-потомок будет наследовать
эти установки от узла-родителя.
Синтаксис узлов
Можно декларировать узел где угодно в рамках VRML-документа. Определение
узла имеет следующий синтаксис:
[DEF object_name] object_type { [fields] [children] }
Факультативные, необязательные части определения заключены в квадратные
скобки. Например, следующее утверждение декларирует узел Cube:
Cube { }
По определению узел Cube выравнивают в соответсвии с координатными осями,
центрируя куб в начале координат x-y-z (0,0,0). Узел Cube имеет также
следующие установки по умолчанию: размер по каждой координате составляет
две единицы - от -1 до +1, и каждая наследует текущее координатное
преобразование, текстуру и материал.
Как говорилось выше, когда можно объявить узел, можно также присвоить
ему имя и задать значение любых его полей. Например, в следующем блоке
когда создается узел с именем SphereName - сфера, которая имеет радиус,
равный 5.
DEF SphereName Sphere {
radius 5
}
В версии 1.0 спецификации VRML определены 36 узлов. Вы используете эти
36 узлов для разработки графа сцены VRML. В разделе "36 узлов VRML
1.0" описаны указанные узлы в деталях. Спецификация VRML 2.0 вводит
дополнительные узлы, включая следующие:
Элементы управления геометрией и цветовые свойства форм
Геометрические сенсоры для поддержки drag-and-drop-операций
Узлы группировки, которые поддерживают объект Определение столкновения
( collision detection )
Атрибуты освещенности, такие как дымка
Информация о сцене для броузеров
Поддержка источников звука
Дополнительно спецификация VRML 2.0 заменяет некоторые существующие узлы,
например узел AsciiText узлом, названным Text.
Комментарии VRML
Так же как и в PERL, символ "#" начинается комментарий. Броузер
VRML будет игнорировать все знаки, которые следуют после знака "#".
Если ваши комментарии занимают больше одной строки, вы должны поставить "#" в
начале каждой строки.
Общий синтаксис VRML
Символы пробела, табуляции, новой строки и перевода каретки являются
специальными символами. В VRML-документе можно использовать один или
более таких символов для разделения частей текста, несущих синтаксическую
нагрузку. Например, можно отделить имя поля узла от его значения, используя
пробел или символ табуляции. После обязательной строки заголовка в
начале документа файл VRML содержит в точности узел VRML. Однако этот
узел может быть и обычно является групповым узлом, содержащим определенное
число других узлов
|
|
|