Sensing viewer activity enables the scene to trigger animations.
A VisibilitySensor node checks if a region is visible to the viewer, where the region is described by a center and a size.
Time events are sent on entry and exit of visibility, and true/false is sent on entry and exit of visibility.
A ProximitySensor node similarly checks if the viewer is within a region, also sending viewer position and orientation while within the sensed region.
Collision is a grouping node that checks if the viewer has run into a shape defined by the node's children
(or else simpler proxy geometry) with a collision time event sent upon contact.
These X3D scenes are adapted directly from the
original VRML 2.0 Sourcebook chapter examples.
Introduction to VRML97 SIGGRAPH98 course notes.