From: Leo Nikora <Leo_Nikora@vio.com>
Subject: Re: TECH: Superscape V.S I-Glass
Date: 27 Dec 1995 23:58:59 GMT
Organization: Virtual i-O


From: Leo Nikora <Leo_Nikora@vio.com>

u8222507@cc.nctu.edu.tw (Chau-Ching Liang) wrote:

>	Does anyone know something about 'Converting a Superscape
>Application to Utilise I-Glass HMD'?

This document explains how to set up a world to have a free-flying
camera viewpoint which is controlled by both the joystick and the head
tracker on the "Virtual i-glasses!", and provides a stereo display to
the i-glasses!.

Start in the World Editor, without the i-glasses! device selected.

1.  Create a new object -- make it shape type group and call it
Camera, position this roughly where you want your viewpoints to start
from.

2.  Fly into the 'Camera' so that your viewpoint is inside this group
facing forward in Z (turn on the World Axis to help you).

3.  Go to View... Viewpoints... Edit Viewpoint ONe so that it uses
control type User Type 1, and make it Attached to and Controlling
object Camera.  Click on Store, Next, and Copy to copy this viewpoint
to Viewpoint 2.

4.  Give the camera object dynamics, changing gravity to 0, clearing
the Check Collisions check box, and checking the Move As Viewpoint
check box.  Enter the name Camera into the coupled to field.

5.  Click on Rotations, and press OK to give the Camera object a
rotations attribute.

6.  Go to Settings... Proportional Control Setup.  Edit the Name 'User
Type I' so it says 'Headset'.  Set the device 1 and 2 up as follows --

	DEVICE ONE

	Number of simultaneous axis = 6

	Response
		Sensitivities	Deadzones
	X Tran	7		3
	Y Tran	7		3
	Z Tran	7		3
	X Rot	0		0
	Y Rot	7		3
	Z Rot	0		0

	Translations & Rotations
		Translation		Rotation
	x+	Object Move Left	null function
	x-	Object Move Right	null function
	y+	Object Move Up		Object Rotate Left
	y-	Object Move Down	Object Rotate Right
	z+	Object Move Forward	null function
	z-	Object Move Backward	null function

	DEVICE TWO

	Number of simultaneous axis = 3

	Response
		Sensitivities	Deadzones
	X Tran	0		0
	Y Tran	0		0
	Z Tran	0		0
	X Rot	7		3
	Y Rot	7		3
	Z Rot	7		3

	Translations & Rotations
		Translation		Rotation
	x+	null function		Object Rotate Up
	x-	null function		Object Rotate Down
	y+	null function		Object Rotate Left
	y-	null function		Object Rotate Right
	z+	null function		Object Tilt Left
	z-	null function		Object Tilt Right

7.  Go into the Visualiser and select the devices Joystick and
i-glasses.  Click on Save Preferences and sace your preferences
somewhere.  Click OK and Reset the world.
 You should find that the Joystick allows you to move forward and dack
and rotate the camera object.  The i-glasses should control the
rotations of the Camera Object.

8.  If this is the case then the next stage is to render the view in
stereo.  This can be done by going to the layout editor and shrinking
the window vertically to half the size of the screen.  Create a new
window underneath the first.  Edit both windows to ensure that they
take up half the screen vertically each, and a full screen width.
Turn autoscale off on both of them, and set window 1 to use Viewpoint
1, and window 2 to use Viewpoint 2.

9.  In the World Editor, turn off the VIO driver to stop everything
from wobbling about.  Go to Viewpoint 1.  Hop the viewpoint left a
touch and rotate the view right a touch.  You may need to use the
setup option to reduce your movement step to 50 and angular step to 1
before you do this.  This will be your left hand view.  Go to
View... Viewpoints and store this Viewpoint as Viewpoint 1.  Go to
Viewpoint 2, and hop right and rotate left by the same amount.  Store
this as Viewpoint 2.

10.  Go to Device Select and select the i-glasses driver again.

11.  Go into the Visualiser and press ALT-S followed by L.  This will
be the shortcut combination to use to switch between interlace and
non-interlace modes.  You should now have a 3-D view in your
i-glasses.

TIPS - try adding the following code to the camera object.  This will
stop the screen from looking elongated after the interlace operation
has stretched it vertically.  Turn soom horizon on to stop the horizon
being squashed down.

	long y;
	if (first)
	{
		setwin(1);
		ascale;
		y=yscale/2;
		write(&yscale)=y;
		setwin(2);
		write(&yscale)=y;
		setwin(1);
	}

_______________________________________________________
Virtual i-O, 1000 Lenora Street #600, Seattle, WA 98121
website: http://www.vio.com/       e-mail: info@vio.com 
telephone: 800-646-3759           faxback: 206-382-0570


