When navigating a metaverse, terrain following (collision detection with the ``floor'') is extremely important. Walking in a building for instance requires negotiating stairs, which can be difficult and unnatural with the current browser interfaces. Adding the constraint that the eyepoint is at a fixed height above any object makes going up or down stairs trivial, and requires only that there be something to walk on. Although having a hole in the floor through which one could ``fall'' down to a lower level would be allowed, we do not want this to happen unintentionally. Collision detection with ``walls'' and objects is also important. Navigating a building becomes much easier with this feature. Collision detection (performed with SoRayPickAction) is implemented as a modification to the browser, and is a switchable option.
While the action of the walk viewer is adequate for moving short distances within the metaverse, moving long distances requires a different paradigm. We introduce the concept of stepping disks for this purpose. The concept as we originally encountered it was in the novel Ringworld. Briefly, stepping disks are hyperlinks which instantaneously transport the viewer to a new point within the world. These disks are physically represented as a square platform, three meters on a side. Just off each side is a one meter diameter disk with a hyperlink to the next set of disks in that direction. Stepping on the disk to the North for instance will transport you North to the platform in the center of the next set of disks. If these stepping disks are laid out in a regular grid, with ``long distance'' disks every tenth interval, navigation becomes quick and easy even in a large world.
This is one way that we can get away from the single server for the world geometry---we could impose a standard interface to worlds where they must use a stepping disk and conform to certain other rules. As long as movement is confined to the area surrounding the disks (and doesn't cross the region between two servers) we have the illusion of one large space.
Other aids to navigation include pre-defined view points for points of interest, a visitor center which serves as the default entry point, a directory service in visitor center (searchable HTML form), and a selectable image map in the visitor center with a miniature representation of the metaverse. Clicking on a point on this map transports the viewer to that location.
We also implement a hierarchical terrain in which only the local, viewable region is downloaded. Multiple levels of detail and inlines are defined in the terrain, and the browser is modified so that it only loads that section of the terrain which is visible. Additionally, the terrain is tiled so that a large world is possible with a relatively small VRML file. Stepping disks are defined as just one small VRML file, and included it in our hierarchical terrain so that the file is instanced once and only once on the client side.