Document toolboxDocument toolbox

Private & Confidential

Scene Setup

For an example of how to set up a scene to be compatible with an Igloo, open the demo scene found in IglooTools > Scenes > DynamicCameraCreation
There are two main prefabs Igloo and IglooPlayer. Which can be found in IglooTools > Prefabs

Igloo - Must be included in the scene, this prefab is used to generate a 360 software camera which sends the output to the Igloo Warping application.

Default Camera
CylinderShould be used for an Igloo Cylinder or Dome structure
Cube

Should be used for an Igloo Cube structure

UnwrapThis is a new type of camera system that renders to a single large texture to create an equirectangular output
Cylinder6This is a special camera rig for small cylinder applications that run 6 projectors
ImmersiveRoom4Large camera system for an immersive room with 4 walls, can be customised for more walls and irregular geometry.

Stream Type

Camera outputs can be shared using two methods 

  • Spout - Shares the camera output via the GPU using a texture sharing framework called Spout  http://spout.zeal.co/
  • NDI  - Shares the camera out over a network using a network streaming technology called NDI 

Unless otherwise requested Spout should be used. 


Note - The default camera can be overridden once the application has been built by specifying the following command line argument settings in a shortcut of the .exe ‘-iglooCylinderCam’ ‘-iglooCubeCam’.


The Igloo Camera can be created and destroyed via code using the public functions defined in the IglooCameraCreator.cs script.

CreateCamera(int index) - Takes one parameter of type int which specifies which camera type will be created, if an Igloo camera already exists in the scene it will be automatically be destroyed before a new one is created.

DestroyCamera() - Takes no parameters and destroys the Igloo camera if one exists in the scene

Follow Transform

You can assign a Game Object for the Igloo Camera to follow. If you are using the IglooPlayer prefab it will be followed automatically and no GameObject needs to be assigned.


IglooPlayer -  You don't need the custom Igloo controller but it makes navigation within the igloo much much easier as can be seen in this video. You can also set the 360 to follow any other GameObject in your scene. 

This works using a custom Xbox controller with a gyroscope attached to it, which provides orientation data via OSC, so the direction the user is facing in the Igloo is known.   Using the custom Xbox controller creates a natural pointing device on the screen so that when you press forward on the xbox controller you move in the direction you are physically facing.

The IglooFirstPersonController component attached to the IglooPlayer prefab has a number of control methods depending on which hardware controller is being used (Keyboard Mouse, GyrOSC, Igloo Custom Xbox) these can be specified using the drop down menus under the ‘Igloo Settings’ section of the parameters.

For testing moving the player within the Editor you can use either the Keyboard and Mouse or GyrOSC.

Keyboard and Mouse

Use the following settings on Igloo IglooFirstPersonController

Rotation Input - MOUSE / STANDARD

Movement Input - UNITY / STANDARD

GyrOSC

Use the following settings on IglooFirstPersonController

Rotation Input - GYROSC

Movement Input - GYROSC

For testing purposes we use an iOS app called GyrOSC which allows us to steam gyroscope data from a mobile device to Unity over a network, here’s how

  • Download the GyrOSC (iOS) app.
  • Join the same wifi network on your computer running unity and your phone running GyrOSC
  • Open GyrOSC and copy the settings below, replacing Target IP Address with the IP address of the computer running Unity.
  • When Unity is running the numerical buttons control movement {1- Forward, 2- Backward, 3- Left, 9- Right}


Graphy

We have included the best FPS monitor Unity has to offer. It comes packaged with our Igloo camera but not set up as we would like to leave the hotkey setup to the client's choice.

If you would like to use Graphy, and we highly recommend you do as it will allow us to debug any performance issues post-build, simply drag the Graphy prefab onto the Additional settings area of the Igloo Prefab.

You can then set a custom key for the toggling the graphy overlay by adjusting the Graphy prefab.


(c) Igloo Vision 2020