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. Also available: Introduction to VRML97 SIGGRAPH98 course notes.

Figure 27.1 Visibility Sensor Dungeon Sliding Doors