ABSTRACT

This chapter presents an approach to designing expressive three-dimensional (3D) user interfaces that make use of handheld input devices tracked in 3D space to go beyond a simple pointing metaphor. It considers a series of three examples that build upon each other to demonstrate how sophisticated 6-degree-of-freedom, beyond-pointing, bimanual virtual reality (VR) user interfaces can be built upon this framework. Although event-based user interfaces are common in desktop computing, there are several important nuances in VR. The state machine design pattern that developers suggest for programming VR interfaces helps programmers to track and respond appropriately to changes in context. The user interface to select curves must be flexible and controlled enough that users are able to indicate their desired selection regardless of the particular texture. The chapter describes how to implement contextual constraints to improve control of 3D User Interfaces.