Java Reference
In-Depth Information
Chapter X
Navigation, Input
Devices, and Collision
One of the most useful and important advantages of 3D graphics rendering and applica-
tions is that there is the possibility for the user to navigate through the 3D virtual world in
a seamless fashion. Complicated visual objects can be better appreciated from different
angles and manipulation of these objects can be carried out in the most natural manner.
To support this important function of navigation, the user will often need to use a
variety of input devices such as the keyboard, mouse, and joystick in a fashion that befits
a 3D scenario. Also, collision handling is important as it will be unnatural if the user can,
say, walk through solid walls in the virtual world.
The functionality of navigation therefore has a close relationship with input devices and
collision detection, all of which can be handled in Java 3D through a variety of straight-
forward but not so flexible utility classes as well as more complicated but at the same time
more flexible user defined methods.
The main requirement of navigation is of course to handle or refresh changes in the
rendered 3D view as the user moves around in the virtual universe (Wang, 2006). As
illustrated in Figure 1, this will require a modification of the platform transform as the
user changes his or her position in the universe. Essentially, as will be illustrated in the
next section, we will first need to retrieve the ViewPlatformTransform object from the
SimpleUniverse object.
Search WWH ::

Custom Search