User manual

When the navigation panel is expanded, it indicates the current navigation
mode, which first and foremost relates to the usage of keyboard keys. The navigation
mode can be changed either by clicking the orbit or pilot button on the panel, or by
clicking the N button on the keyboards (switches from one to the other). The zoom
in/out buttons on the left of the panel, and the orbit buttons to the right, are linked to
the corresponding key functions of the orbit navigation mode.
The main difference between the two navigation modes is in how the camera is
handled. In pilot mode, the camera is free and emulates a free-floating vehicle – one
can elevate or rotate the camera freely – which sometimes can result with a rather
messy view. On the other hand, the orbit mode always focuses the view on the center
of the model, and the keys result with the camera orbiting around the tower. In both
cases, the keyboard keys chosen are based around the common WASD setup of keys
for camera movement, where “W/S control forward and backward and A/D control
strafing left and right. These mimic the arrow keys, which are also commonly used for
movement[23]”. This is another intention to simulate the interface of a contemporary
game as much as possible, and inherit the familiarity the users might have. The
complete list of keyboard commands is given in Appendix A.
The camera interaction is mostly coded using internal Virtools blocks, like
Switch on Key BB that waits for certain keys to be activated; the presses on the panel
button, like most buttons in the interface, are captured by Push Button BB; and then
basic 3D transformation blocks like Rotate BB, Dolly BB, Translate BB with the main
camera as the target entity compose the most of the pilot mode. The orbit mode
initially used the Virtools object Keyboard Camera Orbit BB, but for certain angles the
camera “flipped” – a custm solution was attempted, built on the pilot mode and the
Look At BB and Keep At Constant Distance BB, simulating orbiting movement. Since
it also suffered from “flipping” a limiting condition was attempted, however
unsuccessfully - so now there is a slight bug in the application: for certain angles, when
using the orbit up or down commands, the engine can lock and stop responding to
these camera commands – in which case the user can reset the camera with space, or
switch to the pilot mode.
In addition to the basic functions, there are a couple of other camera related
functions that are situated on the left panel.
"DMX Director" - Architecture of a 3D light-programming application, in a multi-user Internet environment
57