ISS Experience in VR
Austin Tate, 20-Jan-2016

Thunderbirds-VR.exe is a Windows 64-bit executable version of the ISS Experience which will work on a flat
screen, or work in VR if you have an Oculus Rift attached (using Oculus SDK 0.8 or later). You can move
the astronaut using the arrow keys, page up and page down. If you have a game controller attached, the left
stick should move the astronaut, and the right and left bumpers will move you up and down. You can quit the
experience using either the "q" or "esc" keys.

http://blog.inf.ed.ac.uk/atate/2016/01/17/thunderbirds-in-vr/

More details and credits for the models and resources used are given in

http://blog.inf.ed.ac.uk/atate/2016/01/01/vr-spacewalk-at-iss/

Using Open Source models...

1. Create a new Unity Project (or use a suitable base project ***)...
   which usually adds a main camera and directional light.
   I add in a solid plane at 0,0,0 to act as a physics base so avatars do not drop through to infinity.
   Add Standard Assets for Characters and add in a Third Person Controller such as the standard Ethan avatar model.

2. Replace the avatar visual model with an Astronaut in Extravehicular Activity (EVA) mode. E.g. using
   3D Astronaut Nr 1 (Collada .dae format) by Byr2008 or the Extravehicular Mobility Unit 3DS
   http://nasa3d.arc.nasa.gov/detail/emu
   Add this as the visual model for 3rd Person Avatar Controller (e.g. Ethan) and then scale and position
   it appropriately. Turn off the normal avatar visual model. You may need to turn off the "Mesh Collison"
   component for all the 3D parts within the EMU model to avoid any reported rigged mesh issues for the
   avatar in Unity 5.

3. Add relevant Gerry Anderson Thunderbirds related models, e.g. from the Sketchup 3D Warehouse.
   https://3dwarehouse.sketchup.com/search.html?q=gerry+anderson
   Remember these are fan produced models for a TV show and commercial use is not permitted.

   Space:1999 Eagle by Ian W. https://3dwarehouse.sketchup.com/user.html?id=0900884961722267049233256
   Thunderbird 3    by Ian W. https://3dwarehouse.sketchup.com/user.html?id=0900884961722267049233256
   Thunderbird 5    by Simon C. https://3dwarehouse.sketchup.com/user.html?id=1507789507611298108148888
   Fireball XL5     by Simon C. https://3dwarehouse.sketchup.com/user.html?id=1507789507611298108148888

   Supercar - based on the 3D model by Mick Imrie and Austin Tate
              http://www.aiai.ed.ac.uk/~bat/GA/supercar-3d.html

4. Add a suitable Skybox to the Main Camera via, e.g., Free Earth Skybox by Hugo Peters,
   http://forum.unity3d.com/threads/free-earth-sky-box-planets.280015/
   Downloads of the unity packages (v1 and v2) are available at:
   http://www.pilottycoon.com/assets/SkyboxSpaceDemo/skyboxspacedemopackage.unitypackage
   http://stagit.mobi/demo/skyboxes_demo/stagit_earth_planet_skyboxes.unitypackage

5. To add light flares use Assets -> Import Package -> Effects to bring in the Unity Standard Assets.
   Add an empty Game Object and name it "Flare" and to that add a component for Effects -> Light Flare.
   Drop the "50mmZoom" standard asset light flare onto it's flare slot and perhaps make the colour a
   pale yellow for the sun. Carefully align the lens flare to the directional light, so they behave
   realistically. I set the directional light and light flare to originate from the opposite side of the
   ISS to the daytime lit Earth disk, ensuring that the ISS solar panels face towards the light source.

6. Added background sound, e.g. from http://soundbible.com/143-Astronaut-Breathing.html
   Astronaut Breathing recorded by Mike Koenig.

7. By default a gamepad or joystick controller or joystick will act as an alternative for movement of the
   avatar. But gamepad/joystick up and down control may need to be added, e.g. on the left and right
   "bumpers" which for an Xbox 360 controller are "joystick button 4? and "joystick button 5". See
   http://docs.unity3d.com/Manual/ConventionalGameInput.html

8. To use the Oculus Rift, remember to go into Build Settings -> Player Settings and tick
   "Virtual Reality Supported". That's all that is needed to enable the use of the Rift for a VR Experience.

*** Footnote: E.g., see "Project Base for OAR Converter Projects" section in
    http://blog.inf.ed.ac.uk/atate/2015/08/30/opensim-oar-convert-to-unity-scene/