Учебник по VRML 97

NavigationInfo (характеристики аватара)


Описание:

NavigationInfo { avatarSize [0.25 1.6 0.75] headlight TRUE speed 1.0 type ["WALK","ANY"] visibilityLimit 0.0 }

Я надеюсь, значение слова "аватар" понятно. Это представление Вас (или любого другого, просматривающего сцену) в виртуальном мире. (Но не путайте с аватарами в многопользовательских мирах, где на Вас могут посмотреть СО СТОРОНЫ, ИЗНУТРИ виртуального мира, там "аватар" означает модель человека или объект, который Вас обозначает и которым Вы управляете).

Так вернемся к Вашему представлению при просмотре Вами сцены. Прямо скажем, характеристик для Вас немного.

Раздел avatarSize задает размеры аватара. Эту картинку я выудил из CosmoWorlds, очень уж хорошо иллюстрирует.

Размер по горизонтали (на картинке - c, по умолчанию 0.25) влияет на столкновения Вас с другими объектами, по вертикали (на картинке h, по умолчанию 1.6) определяет, насколько свысока Вы смотрите на сцену (если только в явном виде не указано положение Viewpoint - см ниже), а третий параметр (на картинке - s, по умолчанию 0.75) определяет насколько высокие объекты Вы можете "перешагнуть" сверху, не уткнувшись в них.

Подводя итог с учетом того, что размеры указаны в метрах, можно сказать, что по умолчанию у Вас странная комплекция: цилиндрическое тело диаметром 25 сантиметров, Ваши глаза находятся на уровне 1 метр 60 сантиметров, а ногу Вы можете оторвать от пола на 75 сантиметров :)

Еще одна величина, приведенная на картинке, - v - соответствует параметру visibilityLimit в описании узла и определяет, как далеко Вы видите. Рендеринг за пределами visibilityLimit НЕ ПРОВОДИТСЯ. Выставленный по умолчанию visibilityLimit=0 соответствует бесконечному пределу.

Посмотрите пример. Только не в MS VRML Viewer'е, который игнорирует размеры аватара, указанные в NavigationInfo! Используйте Cosmoplayer или Cortona.

. .

Две лестницы отличаются высотой ступенек всего на 10 сантиметров (70 и 80 сантиметров). Попробуйте взойти на обе. Надеюсь, сможете только на одну из них. Если же получилось взобраться на обе или ни на одну, значит Ваш броузер превысил полномочия.


Параметр speed задает скорость перемещения по миру, но обычно броузеры содержат свои настройки на этот счет, которые игнорируют содержимое файла. Скорось дается в м/с и единственная интересная вещь в этом параметре - это speed=0, когда Вы сможете только крутиться на месте и никуда не уйдете :). Только учтите, что гнусный MS VRML Viewer не выполняет эти требования! Попробуйте в Cosmoplayer или Cortona.

. .

Оставшийся параметр type определяет, какими кнопками навигации Вы сможете пользоваться при просмотре. Возможные значения параметра type: "ANY", "WALK", "EXAMINE", "FLY", "NONE". Собственно, способа исследования сцены всего 3: "WALK" - "ходьба", "FLY" - "полет" (отличается от "ходьбы" отсутствием гравитации, т.е. траектория движения аватара не повторяет рельеф, НАД которым он движется, "EXAMINE" - "изучение" (Вы не движетесь, а движением мышки вращается сцена, этот способ удобен, для осмотра одного отдельного объекта). Очень важное слово "ANY" задает, можно ли пользоваться для навигации кнопками броузера. Если в списке параметра type есть "ANY", то в любой момент Вы можете просто переключиться с одного способа навигации на другой кнопкой броузера, если в списке нет "ANY", тогда остаются только те способы, которые перечислены в параметре type. Так, можно запретить "ходить" и "летать" в сцене, а оставить зрителю только возможность покрутить объект. Так должно быть, но обычно кнопки броузера все-таки продолжают работать. Единственно, что можно извлечь из этого параметра, - какой из способов навигации будет выставлен после загрузки сцены.

.

Но что точно работает, так это значение "NONE", когда выключается целиком панель управления броузера. Это применяется, когда у Вас в сцене предусмотрена собственная система навигации: anchor'ы, viewpoint'ы и т.д.


Содержание раздела