Travel techniques are used to control a user's viewpoint in virtual environments (including simulation, training, and first person games). Effective travel is critical, because travel is present in nearly every virtual environment application. Previous research on virtual travel focused on the theory and classification, but few implementation tools have been developed. Our work focuses on a practical approach to implement travel methods. We assert that the large number of existing travel methods all share common "primitive elements". Examples of primitive elements include: gravity, collision response, friction, and spring force. Primitives like these can be extracted, then mixed and matched to create many different travel methods. Ad hoc ways of implementing travel methods lead to designs that are single purposed and brittle. By separating the primitive elements of travel, we can use them to construct many navigation metaphors. This modular approach leads to a solution that can be extended and refactored easily. With travel primitives, the system designer can tweak the overall navigation metaphor until it is optimal for the application user. The system should also be flexible enough to accommodate future travel primitives. This promotes longevity and adoption of the toolset by a wide user base. Most previous travel methods have been implemented for particular applications and not for general use. This paper presents the design and development of a toolset of travel primitives for general use by VR developers. We also explain how our own classification system for virtual travel led to the desire to create this toolset. The toolset is structured into 3 layers: Dynamic Animation System: Provides an extensible animation system for particle or rigid body dynamics, allowing addition of arbitrary operations and objects. Travel Primitives: Provides primitive elements of travel with operators for the animation system. Travel Methods: Composes primitives into a navigation metaphor such as drive, walk, or fly. We also discuss the implementation of this design to date, and several case studies.
Engineering A Software System Of Reusable Travel Primitives For Virtual Environments
6 Views