In Editor Adjustment
This is a breakdown of the Unreal Camera SystemIgloo Manager component, and what is possible to be adjusted.
Default
...
Create on Awake
Type: FPS Boolean | Default: 30true
Changes the set FPS of the game, we have found that 30fps is best for realtime content.
Gamma
Type: Float | Default: 1.0
The Output gamma for the render textures and spout sender
Capture Source
Type: Enum <SceneCaptureSource> | Default: Final Color [HDR] in Linear sRGB gamut
How the cameras should capture the scene, and store it in a render texture to send to the Igloo System.
Note |
---|
Choices with Alpha produce sub optimal results in the Igloo software, use the preview app whilst adjusting this value. |
...
Creates the 360 camera system on Begin Play. If you would like to script the plugin to output only after a certain condition is met, disable this, and write a script to activate the functions within Begin Play on the Igloo Manager.
Follow Object
Type: Actor | Default: null
Place an Actor component here, for the camera system to follow.
Exposure Compensation
Type: Float | Default: 10.0
The cameras adjust their exposure separately to global exposure, and adjusting this value adjusts how much light the cameras pickup when capturing the scene.
Use Igloo Crosshair
Type: Boolean | Default: Truetrue
For Spawns the Igloo Structure Type, if true, all the default values will be set on play. Overwriting any changes made.
Igloo Structure Type
...
Specifies how the camera system should output. Choices are:
Flat Wall - Will create a full 360 cubemap output using the Cube camera system
Curved Wall - Will create an equirectangular output using the Stereo camera system
Follow
Object to Follow
Type: Actor | Default: null
Place an Actor component here, for the camera system to follow.
Follow Object
Type: Boolean | Default: false
Follows the actor that is played in the Object to Follow slot.
Follow Rotation
Type: Boolean | Default: false
The camera will mimic the rotation of the object is its following, based on the rotation axis multiplyer, when true.
Follow Camera
Type: Boolean | Default: true
The camera system will follow the current active camera in the level.
Rotation Axis Multiplyer
Type: Vector3 | Default: 0, 0, 1
Changing this multiplyer will make the camera system copy the rotation of the actor that it is following.
Note |
---|
Rotating the Igloo Camera can produce nausiating effects. Please be carefull using this feature. Best to only have it active for cutscenes. |
3D
Eye Seperation
Type: float | Default: 3.0
The amount of seperation between the left and right eye when 3D is active
Igloo 3D Active
Type: Boolean | Default: false
When active, creates double the amount of cameras within the scene. This will cause a significant performance overhead.
Equirectangular
Equirectangular Output
Type: Boolean | Default: True
Uses an equirectangular shader to merge the output of the stereo cylindrical camera system into a single texture
Equirectangular Resolution
Type: Vector2 | Default: 8000x4000
The texture size for the render textures to be created and then sent to the Igloo warper via Spout
Equirectangular Spout Name
Type: Name | Default: UnrealCam
The name of the Equirectangular spout sender, this is what you’ll find in Receiver, or under External Application Inputs, on the Igloo Preview app, and warper app.
Cylindrical Camera
Camera Count
Type: integer | Default: 4
The amount of cameras for the cylindrical camera system to create. We have found 4 is the best for most projects.
Camera Spout Name
Type: Name | Default: UnrealCam
The prefix for the spout senders for each camera (if not using equirectangular)
Igloo Radius
Type: float | Default: 360
The radius of the Igloo structure, 360 is most commonCrosshair actor on Begin Play. Disable this if you’re using a custom player.
Command Line Ending Adjustment
Several adjustments can be made to the final ‘cooked’ game by adding command line endings to the shortcut, or to the correct box within the ICE software.
These CLI values can adjust how the output to the Igloo software is rendered, and can be used to speed up the build at the expense of quality, or increase quality at the expense of frame rate.
Configuring a build with CLI using Igloo ICE
Run the Built Unreal executable.
Add a Spout Layer and select IglooUnreal as the Sender
Within Effects, add the Cubemap to Equirectangular modifier, and then True Perspective modifer.
Within General, change the name to something appropriate
Within Misc, set the Exe path to your executable location and place the arguments you require in the Arguments box below.
Info |
---|
You do not need to use all the arguments, and if your application works with default values. There’s no need to do anything at all. |
...
You will then need to save this session as something appropriate.
Close the Unreal application.
Then delete the spout layer you’ve created
Load the session you created, it should:
Load the executable
Apply the arguments you’ve set
Open the spout layer
Wait for the sender
Available CLI Adjustments
Adjust Amount of Cameras
CLI Argument: -iglooSenderName | Value: string | Default: IglooUnreal
Example: -iglooSenderName=IglooSpoutOut
Changing this value will rename the spout sender output that is sent to the Igloo software.
Adjust Number of Cameras
CLI Argument: -iglooNumCams | Value: integer | Default: 6 | Min: 0 | Max: 6
Example: -iglooNumCams=4
Changes the number of cameras that is generated to output to the large render texture that then outputs to the Igloo software via Spout.
Info |
---|
This doesn’t alter the size of the texture. It will always be 6:1 regardless of the amount of cameras generated. Space with no cameras will be just black, which doesn’t cause any noticeable framerate drop. The main workload is done when the camera draws the scene. |
Adjust output resolution
CLI Argument: -iglooSetResolution | Value: integer | Default: 1000 | Max: 2780
Example: -iglooSetResolution=1500
Adjusts the vertical output size (in pixels), which is then multiplied by 6 to achieve the horizontal output size.
The output of the camera system will always be 6:1.
Inputting a value of 1500 will result in an output texture size of 9000x1500.
2000 will result in an output size of 12000x2000.
The level of detail will be altered dramatically by adjusting this value higher or lower. This will also radically control the framerate of the unreal build.
The maximum size is 2780, as this will roughly correlate to a horizontal width of 16384, the limit of openGL shaders.