Document toolboxDocument toolbox

Private & Confidential

Customising the Igloo Camera System

By using the default settings the Igloo Manager will created a standard 2:1 equirectangular output that is sent via Spout to ICE. It will also follow the Main Camera in the scene on the update thread, acting like a 360 degree ‘drone’ camera rig.

However this may not be what you require and wish to customise how the camera system is both created and interacted with.

Instruct the Camera to Follow a different object

By default the camera system will look for a camera in the scene with the tag ‘Main Camera’ and it will then follow it. To change this behavior, drag and drop the GameObject you wish the camera system to follow into the Follow Object field within the Igloo Manager component.

image-20240419-103549.png
PlayerFollowCamera object added to Follow Object of Igloo Manager

Customising the cameras that are created using a prefab.

When creating complex post processing systems it is often required that additional settings are changed on the cameras that view the game world. As the Igloo Camera System generates it’s own cameras from scratch, we’ve made it possible to give the Igloo Manager the ability to use your own Camera, with any additional components or children, as a basis for it to make the entire camera rig.

To achieve this, you need to make a prefab somewhere in your project’s assets folder of a GameObject that at the very least contains a camera component. In the image below I’ve created a prefab called CameraOverride which has a camera component and a script called “CameraEffects.cs”, and a child gameObject called “node”.

 

image-20240419-153319.png
Inspector view of the CameraOverride prefab object

Placing this prefab into the Custom Camera Prefab slot on the Igloo Manager component and then pressing play results in 6 of these cameras being created, along with their subsequent additional components and children.

Changing the Camera rig output settings

In this version of the camera system, the camera settings are adjusted by a global settings file that is created by the Igloo Setup tool at the point of the ICE installation being created. This is to ensure that Unity is outputting at it’s maximum potential on the system that it is operating on. This may mean that it creates it’s own windows using the warping files generated by ICE, or it may create the same equirectangular output as in development mode.

The only time these settings would need to be edited would be to use the camera rig in Igloo Spectator mode, whereby it would use the NDI output system rather than Spout.

Press Play and then Stop once everything has loaded. This will make Unity create a IglooCameraSettings.json file for you in StreamingAssets.

You can then edit this IglooCameraSettings.json file using a text editor like VSCode to change it from Spout to NDI by changing isSpoutOutput to false, and isNDIOutput to true.

You may also wish to experiment with the cubemapFaceResolution, as lowering this will increase frame rate dramatically, but at the cost of quality.

 

(c) Igloo Vision 2020