Учебник по VRML 97

ProximitySensor


Описание:

ProximitySensor { center 0 0 0 size 0 0 0 enabled TRUE eventOut isActive eventOut position_changed eventOut orientation_changed eventOut enterTime eventOut exitTime }

Вот этот сенсор я очень люблю, работает безотказно, просто и со многими возможностями. p>Представьте себе невидимый параллелепипед, размещаемый где угодно в пространстве. При пересечении его границ сенсором генерируются сообщения:

  • о самом факте пересечения границ (eventOut isActive)
  • о времени входа (eventOut enterTime), если Вы попали внутрь параллелепипеда или времени выхода (eventOut exitTime), если Вы выбрались из него

А когда Вы уже находитесь внутри параллелепипеда генерируются следующие сообщения:

  • если Вы движетесь (eventOut position_changed)
  • если Вы поворачиваетесь (eventOut orientation_changed)

Сколько бы у Вас в сцене ни было ProximitySensor'ов, все они работают независимо друг от друга. При этом они могут пересекаться в пространстве, быть вложенными один в другой или даже полностью совпадать (при этом при пересечении их общей границы Вы сработают оба).

Пример. Хотите всегда проезжать на зеленый свет? Нет проблем. Просто приближайтесь к светофору.

.

Обратите внимание: три ProximitySensor'а и eventOut каждого из них напрямую меняет значение DirectionLight ON/OFF. По-моему, довольно изящно.



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