Dynamically Simulated Characters in Virtual Environments
Dynamically Simulated Characters in Virtual Environments home page
Movies from our 1997 Siggraph Animation Sketch
More about our current virtual environment hardware setup
Slide 18 of 21
The various elements of the simulation environment have been represented on this slide. The lower left of the image represents the non-graphics I/O with the user. The virtual reality hardware (tracker, optical encoders, load generator, electric motor) must communicate their digital and analog data to correctly sense and drive the virtual environment hardware. The grey rectangle represents the data that is shared between all the simulations. Data such as the user's position and velocity are fed as inputs to the blackboard that represents the shared memory of the simulations. Each simulation has access to the positions and velocities of all other agents as well as the user. Likewise, the slope of the terrain is read from the blackboard and sent to the virtual environment hardware which tilts the bike platform. In some cases we ran multiple simulations on a multiprocessor machine (SGI Challenge) and we used the SGI shared memory arena protocol for the blackboard, but in other cases we distributed the simulations across multiple address spaces (a cluster of Sun Ultrasparcs). In this case we used the Beehive system developed by Aman Singla and Kishore Ramachandran from Georgia Tech to preserve consistency between the simulations on the different machines. Finally, the user's position is sent to the graphics engine (Infinite Reality) that uses Performer to render the scene.
Slide 18 of 21