Sense8
In Sense8, there is only a single universe, but you can have multiple windows, and multiple viewpoints. The main unit of the world is called a "scene graph". To have multiple worlds in your universe, just create multiple scene graphs, and the user can move from one to the other by a process called "portalling".
Every program has a loop for reading the mouse, the keyboard, etc. You must begin with the "WTuniverse_new" command, and then set the scene graph. Then you continue with the commands: WTuniverse_ready( );, stating the universe is ready to run, WTuniverse_go( );, causing the simulation loop to start, and ending with the final command of WTuniverse_delete( ); to end the simulation. (Yes, all functions in Sense8 start with "WT", which stands for World Toolkit.) What happens in a (default) simulation loop:
Each scene graph consists of nodes. There are grouping nodes, geometry nodes, fog nodes, light nodes, and many others. You must have a root node, and you essentially build a tree. The root node branches off into its children nodes, which can be of any type. The tree itself is a preorder traversal, meaning it is followed from left to right down, completing each branch before moving on to the next one. Also, to change "rooms" in a universe, all you have to do is change the rootnode, bringing up a new scene graph.
One odd difference between Sense8 and everyday geometry is that the Y-value increases as you move farther down rather than up. Also, the values on the Z-axis increase as you move farther away from the viewer. (The X-axis remains the same.)
Sense8 is done almost entirely through the use of pointers. And in order to see an object such as a geometry in the scene graph, it must first be made into a node. As for sensors, they can be added either to the viewpoint or an object (which other objects can then be attached to). Therefore, a mouse or tracker could either move the user around the universe itself, or move a specified object or objects around the universe.
Trackers are made up of two parts, the transmitter and the receiver. The receiver is to be placed somewhere away from any metal and remain in a fixed position. The trackers we have in the Center for Arts & Technology lab, or Olin 214, are the Inside Trak and the Isotrak II, both by Polhemus. The Inside Trak costs from $1-2000, which is cheap as trackers go. It is on the Dell machine, with a latency of 12 milliseconds, and an update rate of 60 milliseconds. The IsoTrak II is on the other machine and is attached though a serial port rather than being separate. It has a latency of 20 ms, and an update rate of 60 ms.
Haptic Perception
Haptic perception is basically the sense of touch. There are two main branches of haptic perception. The first is tactile, or touch, which is feeling pressure with spacial pressure patterns, given a fixed body position, through receptors. The second, force or kinesthetic, is sensing of movement through an external force acting upon the body or self-induced action.
Here's an interesting fact. While people have (on average) only 2 m2 of skin on their body, there are over 10,000 receptors for touch. The non-hairy areas of the body are the most receptive, especially the hands and fingertips, very useful for virtual reality. You can test this by taking two objects with points, such pencils, and applying a small amount of pressure, with one or both of them, to a friend whose eyes are closed. On body parts such as the thigh, it is hard to tell if it is one or two until the two points are almost an inch from each other, but on the hands they can be only millimeters away and you can tell.
This page was created on 11/3/97.
Return to the main page
Return to @conncoll