X3D Example Archives: VRML 2 Sourcebook, Chapter 09 Sensing Viewer

Authors can design interactivity into a scene that responds to user actions.

A scene can sense when the viewer's cursor is over a shape, has touched a shape, or is dragging atop a shape. A scene can also trigger animations on a viewer's touch, enabling the viewer to move and rotate shapes. There are four main action sensor types: TouchSensor senses touch, SphereSensor senses drags in a spherical way, CylinderSensor senses drags cylindrically, and PlaneSensor senses drags around a plane.

These X3D scenes are adapted directly from the original VRML 2.0 Sourcebook chapter examples. Also available: Introduction to VRML97 SIGGRAPH98 course notes.

Figure 09.6 Sphere Sensor With Axes
  18 X3D Models       X3D Model Descriptions
   Figure09_1SpinningCubeTouchSensor Figure09_1SpinningCubeTouchSensor A cube that spins when the cursor moves over it. Also see Figure 9.2 for comparison.
   Figure09_1SpinningCubeTouchSensorWithAxes Figure09_1SpinningCubeTouchSensorWithAxes A cube that spins when the cursor moves over it, with coordinate axes superimposed to show X3D/VRML directions. Also see Figure 9.2 for comparison.
   Figure09_2SpinningCubeTouchSensorClicked Figure09_2SpinningCubeTouchSensorClicked A cube that spins when the viewer touches it. Also see Figure 9.1 for comparison.
   Figure09_2SpinningCubeTouchSensorClickedWithAxes Figure09_2SpinningCubeTouchSensorClickedWithAxes A cube that spins when the viewer touches it, with coordinate axes superimposed to show X3D/VRML directions. Also see Figure 9.1 for comparison.
   Figure09_3ConePlaneSensor Figure09_3ConePlaneSensor A Cone that translates in the vertical XY plane when the viewer drags it. Also see Figure 9.4 for comparison.
   Figure09_3ConePlaneSensorWithAxes Figure09_3ConePlaneSensorWithAxes A Cone that translates in the vertical XY plane when the viewer drags it, with coordinate axes superimposed to show X3D/VRML directions. Also see Figure 9.4 for comparison.
   Figure09_4ConePlaneSensorConstrained Figure09_4ConePlaneSensorConstrained A cone that translates within a limited range of the XZ plane when the viewer drags it. Also see Figure 9.3 for comparison.
   Figure09_4ConePlaneSensorConstrainedWithAxes Figure09_4ConePlaneSensorConstrainedWithAxes A cone that translates within a limited range of the XZ plane when the viewer drags it, with coordinate axes superimposed to show X3D/VRML directions. Also see Figure 9.3 for comparison.
   Figure09_5FourStackingBlocks Figure09_5FourStackingBlocks Four stacking blocks, select and drag to see each of them.
   Figure09_5FourStackingBlocksWithAxes Figure09_5FourStackingBlocksWithAxes Four stacking blocks, select and drag to see each of them. Coordinate axes are superimposed to show X3D/VRML directions.
   Figure09_6SphereSensor Figure09_6SphereSensor Two shapes that rotate when the viewer drags them, with coordinate axes superimposed to show X3D/VRML directions.
   Figure09_6SphereSensorWithAxes Figure09_6SphereSensorWithAxes Two shapes that rotate when the viewer drags them, with coordinate axes superimposed to show X3D/VRML directions.
   Figure09_7CylinderSensor Figure09_7CylinderSensor Two shapes that rotate about an axis when the viewer drags them, with coordinate axes superimposed to show X3D/VRML directions.
   Figure09_7CylinderSensorWithAxes Figure09_7CylinderSensorWithAxes Two shapes that rotate about an axis when the viewer drags them, with coordinate axes superimposed to show X3D/VRML directions.
   Figure09_8ClickDragTouchSensorPlaneSensor Figure09_8ClickDragTouchSensorPlaneSensor Two shapes that rotate about an axis when the viewer drags them, with coordinate axes superimposed to show X3D/VRML directions.
   Figure09_8ClickDragTouchSensorPlaneSensorWithAxes Figure09_8ClickDragTouchSensorPlaneSensorWithAxes A cube that spins when the cursor moves over it and translates when the cursor drags it, with coordinate axes superimposed to show X3D/VRML directions.
   Figure09_9DeskLamp Figure09_9DeskLamp A desk lamp with arm angles that can be adjusted using nested sensors.
   Figure09_9DeskLampWithAxes Figure09_9DeskLampWithAxes A desk lamp with arm angles that can be adjusted using nested sensors, with coordinate axes superimposed to show X3D/VRML directions.

The X3D Resources: Examples page and X3D Developers Guide provide more information about the production of this archive.