Построение трехмерной сцены, включающую динамические объекты, источники освещения, спецэффекты и несколько точек обзора (Viewpoint), страница 2

3. Пояснения

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

Описание этих возможностей можно представить схемой, приведенной на рис.1:

Рис.1. – Каркас событий VRML.

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

Синтаксис узлов (Nodes) VRML  включает в числе параметров(полей) каркас событий eventIn и  eventOut.

Каркас событий

-  События.  EventIn, eventOut, exposed fields –свободные поля.

-  Взаимосвязь событий. Передача события от одного узла к другому, осуществляется объявлением маршрутов при помощи ключевых слов ROUTE и TO. С их помощью происходит связывание действий, происходящих во времени или пространстве, т.е. их маршрутизация от одного узла к другому. Эти звязи представлены графом маршрутов – Routing Map (см. VRML Pad) Наличие полей EventIn и EventOut, дают возможность контролировать наступление того или иного события, сопровождающееся изменением свойств геометрических узлов.

Генераторы событий – Сенсоры. Скрипты

-  TimeSensor – абстрактный временной сенсор

-  VisibilitySensor, ProximitySensor-пространственные сенсоры,  TouchSensor – сенсор прикосновения, SphereSensor – сферический сенсор,  CylinderSensor –цилиндрический сенсор, PlaneSensor – плоскостной сенсор.

-  Узел Script – позволяет создавать сценарии взаимодействия узлов сцены и событий не предусмотренных стандартным набором сенсоров и интерполяторов языка VRML.

-  Узлы, принимающие события – Интерполяторы. Геометрические узлы. Переключатели. Узел Sound.

-  Интерполяторы - ColorInterpolator,  CoordinateInterpolator,  NormalInterpolator, OrientationInterpolator, PositionInterpolator, ScalarInterpolator.

-  Геометрические узлы – заданные при помощи узлов Transform, DEF, PROTO.

-  Переключатель – Switch.

Важными узлами для создания анимированных объектов являются узлы Interpolator. Основная их особенность состоит в том, что они используются для изменения определенных значений параметров геометрических узлов через определенное время. В зависимости от того, какое значение меняется, имеется шесть типов узлов Interpolator : ColorInterpolator,  CoordinateInterpolator,  NormalInterpolator, OrientationInterpolator, PositionInterpolator, ScalarInterpolator.

 


                                       fraction_changed

 


                        start time cycle time     stoptime

 


Time Sensor       Interpolator        Transform

Временные сигналы узлы Interpolator получают от TimeSensor  через определенные интервалы времени и выполняют линейную интерполяцию между значениями, описываемыми keyValues, для каждого значения времени, в долях fraction_changed (рис.2).

Каждый раз, когда Interpolator получает событие EventIn, он производит событие EventOut вместе с соответствующим значением value, которое может быть направлено (ROUTE) на определенное изменение Transform.

Рис.2. Общий принцип действия интерполяторов.

Примечание. Принято определения (DEF Name …..) сенсоров, интерполяторов и геометрических узлов, участвующих в передаче и приеме событий, записывать в начале VRML-программы, а все декларации ROUTE NAMEi eventOut TO NAMEj eventIn – в конце VRML-программы.

Примеры создания динамических объектов приведены в методическом пособии по VRML (тема 4).  

4. Содержание отчета

Титул (название изучаемой темы). Цель работы.

Вариант задания.

Краткое словесное описание трехмерной сцены.

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

Граф сцены (Scene Tree) в терминах узлов VRML .

Граф маршрутов (Routing Map)

Текст VRML - программы c комментариями.

Выводы, включающие количественные характеристики VRML-программы (имена и объем wrl-файлов в Кб, подгружаемых текстур и звуков)

5. Контрольные вопросы

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