Document toolboxDocument toolbox

Private & Confidential

Setup Igloo Spectator Output

Igloo Spectator is Igloo’s name for viewing a single person, unity based, VR or AR experience in 360 on the Igloo Canvas.

The method uses the standard Igloo toolkit, with the player system removed, and instead of streaming locally via Spout; a WLAN streaming method is used called Newtech NDI.

Project Setup

  1. Add the Igloo Toolkit to your project, following the documentation below.

    1. Igloo Toolkit v1.2.21 Documentation

    2. Igloo Toolkit v1.3 Documentation

  2. Setup your Igloo Manager as per the Example 2 scene, with the Igloo Prefab already created in the game world.

  3. Expand the Igloo Prefab Gameobject in the scene, and disable the Camera Component.

Disabling the Camera Component

Settings Setup - Wizard

Open the Igloo Settings Wizard, and follow these steps:

  • Create Default Equirectangular Configuration

  • Open the Player Settings Tab

    • Set Crosshair Hide Mode to HIDE (Do this first!)

    • Set Use Player to False

  • Open the UI Settings Tab

    • Set Use UI to False

  • Open the Display Settings Tab

    • Set Head Position Offset to X=0 Y=0 Z=0

    • Change Sharing Mode to NDI

      Setting Sharing mode to NDI
  • Finally press Save

This will create a IglooSettings.xml file in the Streaming Assets folder of your project, that will be included in the built version too.

This settings file will tell the Igloo Camera to:

  • Not use a player

  • Follow your VR camera around

  • Not show a crosshair

  • Not show a UI system

  • Send the output over NDI which can be received by the Igloo System.

Settings Setup - XML File

Find the Streaming Assets folder, and open the IglooSettings.xml file.

Assets/StreamingAssets/IglooSettings.xml

“Game Folder”/GameName_Data/StreamingAssets/IglooSettings.xml

In the file, find and adjust the following properties; using Wordpad, notepad, Notepad++, VS Code, etc..

Be careful not to remove any grammar, and spell everything correctly. The Igloo Toolkit will rebuild a base file if it doesn’t understand it.

<IglooSettings...> <PlayerSettings Name="player"> <usePlayer>false</usePlayer> ... <crosshairHideMode>2</crosshairHideMode> ... </PlayerSettings> <UISettings> <useUI>false</useUI> ... </UISettings> <DisplaySettings Name="IglooUnity"> <textureShareMode>2</textureShareMode> ... <HeadSettings> <headPositionOffset x="0" y="0" z="0" /> ... </HeadSettings> </DisplaySettings> ... </IglooSettings>

Where '…' is shown, this is representing the rest of the settings in this section. Do not copy the above code, it is psudo code, and will cause errors. Only change the values of the same settings in your own file to match those shown.

Press Play!

To view the output of the system you will need to download a program called NDI Tools: Studio Monitor.

You can download NDI tools HERE

When you open Studio Monitor, and press Play on your unity project. You should see the output of the Igloo Toolkit Camera System.

I would also recommend installing NDI tools on the Igloo Media Player, to test that it can receive NDI correctly.

If it can, you can add this stream as an NDI input using Igloo Capture.

Click Enable then Stretch to Canvas.

This will now show in the Igloo Warper, with around a 1-2 second delay.

 

Whilst playing you will notice a drop in performance. This is because the Igloo Camera system is also generating 4 additional cameras, and outputting them over wifi. We’ve noticed as much as a 30fps drop in performance, so we do advise to up your hardware, or further optimise your projects. Aiming for mobile game levels of graphics.

Turning Off the Igloo Camera System

There may be a case where you just want to use the VR application without the Igloo NDI Output. To disable it there are two options:

  1. Develop within the Unity project a method of destroying the Igloo system, using the hooks within the Igloo Manager script to destroy and create a new Igloo. This is explained further in Example Scene 4: Scripting Setup.

  2. In the IglooSettings.xml set change the following values:

    <DisplaySettings Name="IglooUnity"> <textureShareMode>0</textureShareMode>

Either of theseoptions will set the output to not generate, freeing a lot of overhead and giving a better single person VR experience.

(c) Igloo Vision 2020