Three-dimensional user interface design is a critical component of any virt
ual environment (VE) application. In this paper, we present a broad overvie
w of 3-D interaction and user interfaces. We discuss the effect of common V
E hardware devices on user interaction, as well as interaction techniques f
or generic 3-D tasks and the use of traditional 2-D interaction styles in 3
-D environments. We divide most user-interaction tasks into three categorie
s: navigation, selection/manipulation, and system control. Throughout the p
aper, our focus is on presenting not only the available techniques but also
practical guidelines for 3-D interaction design and widely held myths. Fin
ally, we briefly discuss two approaches to 3-D interaction design and some
example applications with complex 3-D interaction requirements. We also pre
sent an annotated online bibliography as a reference companion to this arti
cle.