B582 - Lecture 5.2
Credits: Many of these notes were culled from
the IEEE VR '99 Tutorial "The Art and Science of 3D Interaction" by Doug
Bowman, Ernst Kruijff, Joseph LaViola, and Ivan Poupyrev
Outline
OpenGL Lighting Tips
-
specify light light position (x,y,z,w)
-
w = 0 -> infinite light
-
w = 1 -> local light
-
glLightfv(GL_LIGHT0, GL_POSITION, lightPos);
-
bind light position before CAVENavTransform for light fixed to CAVE, after
for light fixed to environment.
Interaction Modes
for Interactive Graphics
-
Logical Classification of Input Devices (Hearn & Baker)
-
locator - specify position
-
stroke - series of pos
-
string - text input
-
valuator - scalar values
-
choice - menu
-
pick - select picture elements
-
also add: orienter
-
Input Modes (Hearn & Baker)
-
request mode - app blocks until input is received
-
sample mode - "current values" of input device are stored in common
area, sampled as needed; VR & head-tracked graphics
-
event mode - all desired values (events) are buffered and reacted
to on a FIFO basis; non-head-tracked graphics (e.g. GLUT)
Selection
Selection Techniques
-
virtual hand (touching)
-
hand (wand) intersects object
-
ray casting
-
simple laser
-
flashlight (selection cone)
-
aperture (variable cone)
-
gaze-directed ray casting
-
go-go technique
-
1-to-1 virtual hand movement within radius r
-
non-linear mapping outside of radius r
-
image plane techniques
-
world in miniature (WIM)
-
"hand-held" version of world for simple picking
-
scaled world variation shrinks the world when an object is selected
-
cyclic selection
-
selection from menu
Other Selection Issues:
-
how to invoke - button press, gesture, voice command
-
feedback - graphical, audio, haptic
Manipulation
Manipulation Techniques
-
direct manipulation (virtual hand) - object and hand share the same center
of rotation; direct mapping of hand changes to wand changes
-
"object on a stick" manipulation (ray casting) - object and hand share
the same center of rotation; however, object translation away from center
magnifies changes in position via orientation. (translate, then rotate)
-
remote manipulation (ray casting) - object rotates relative to its own
center of rotation. (rotate, then translate)
-
"fishing reel" (ray casting) - easy way to control distance of object
-
decoupled orientation and positioning
-
object may fly to hand for orientation.
-
menu control of each parameter (x, y, z position; x, y, z rotation)
-
direct manipulation in WIM - translations are magnified to world scale
-
direct manipulation in scaled world
Other Manipulation Issues:
-
constraints on maniuplation
-
snap to grid
-
orientation increments
-
how to release:
-
final location of object (for WIM & scaled world methods)
Menus
General Problems with Menus in VR
-
limited number of buttons
-
limited resolution and screen real estate (esp. HMD)
-
tracker jitter and latency
-
fine motor (desktop) vs. gross motor (VR)
Menu Techniques/Widgets
-
linear menu
-
rotary chooser (sundial, marking menu)
-
2 DOF
-
traditional 2D menus
-
pull-down, pop-up
-
toolchest or toolbar
-
widgets
-
pen & tablet interaction
-
transparent plexiglass panel for projection VR
-
glove-based gestures
-
voice input
Navigation
Navigation is a combination of Travel & Wayfinding
Travel = mechanics of controlling viewpoint position and orientation
between 2 locations
Wayfinding = cognitive process of defining a path through an
environment
Wayfinding Techniques
-
structured space - consistent; hierarchical
-
landmarks and grids
-
supplementary maps, WIMS - exocentric view
Travel Techniques
General Issues
-
start moving
-
specify position
-
specify orientation
-
control speed and acceleration
-
stop moving
Travel Metaphors
-
Steering - continuous specification o fdirection of motion
-
gaze-directed
-
pointing
-
physical device (steering wheel, flight stick)
-
Target-based - discrete specifiation of goal; system controls the
actual motion
-
select object (see above list)
-
enter coordinates
-
Route-planning - one-time specification of path
-
place markers in world
-
move icon on map or in WIM
-
Manual manipulation of viewpoint
-
"camera in hand" (with WIM)
VR Interaction - Myths
and Realities
Myth: interaction techniques should strictly imitate real-world
manipulation
Reality: only if the goal is training for real-world performance;
unnatural or magic techiques have many desirable characteristics
Myth: We should develop universal interaction techniques
Reality: optimal techniques depends on the task, the environment,
the hardware affordances, and the user
Myth: interaction techniques should be 6 DOF
Reality: Constraints on position and orientation can make tasks
much easier