Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Components Documentation

...

  • Number of Cameras:
    Type: Integer | Default Setting: (4,5,6)
    The amount of cameras that will be created by this camera system (doubles this amount for 3D)

  • Camera Name:
    Type: String | Default Setting: UnityCam
    Prefix of the NDI/Spout stream when it is created.

  • Render Width:
    Type: Integer | Default Setting: 8000
    The width in pixels of the stream output. 8000 is standard for Igloos.

  • Player:
    Type: Game Object | Default Setting: null
    - Depricated - Will be removed in a future release

  • Third Person Camera:
    Type: Game Object | Default Setting: null
    - Depricated - Will be removed in a future release

  • Camera Prefab:
    Type: Game Object | Default Setting: null
    This allows you to define a camera that contains extra components or variables that you would like to use for all Igloo Cameras that are created by this script.
    This is very useful for camera based effects, as most are only applied to the main camera and not globally to all cameras in the scene.

  • Use Camera Prefab:
    Type: Boolean | Default Setting: false
    Should the camera prefab defined in Camera Prefab be used as the base for creating the camera system.

...

  • Clear Flags:
    Type: Enumeration | Default Setting: Skybox
    This enum specifies what clear flags the cameras will have when they are created. This is not used if you have useCameraPrefab set to true.
    1. Skybox
    2. Color
    3. Solid Color
    4. Depth
    5. Nothing
  • Clipping Planes:
    Type: Vector2 | Default Setting: x=0.1 y=100
    The minimum and maximum clipping range of the created cameras. The camera will not render outside of these distance values.

  • Igloo Field of View:
    Type: Enumeration | Default Setting: Standard
    This enum specifies the FOV of the entire camera system
    1. STANDARD:
      FOV is defined by the amount of cameras, using a 8:1 aspect ratio for 99% of igloo installations, this is correct.
    2. WIDE:
      Sets the FOV and output to reflect a verticle pixel output of 1200. Used when you're using projectors with a 1920x1200 resolution
    3. SUPERWIDE:
      - Depricated - Will be replaced in a future release.
    4. UHD:
      Sets the FOV and output to reflect a verticle pixel output of 2000. Used when you're using projectors with a 3840x2160 resolution

  • Igloo Stream Sender:
    Type: Enumeration | Default Setting: Standard
    This enum specifies how the cameras will emit their texture stream:
    1. Spout:
      A Local machine only based texture streaming service.
      Use this if you are running your application on the same computer as the Igloo software, which for most projects is applicable.
    2. NDI:
      A Local area network based texture streaming service. Use this if your project meets or exceeds the following conditions:
      • It's extremely detailed, in excess of 5 million polygons in the scene.
      • You're using a VR Headset device as the main source of input and control.
      • You want a high framerate output, and therefore as much of the graphics card as possible (First person shooter, or racing game, for example) and the 360 output is used as a spectator device.

...

  • Cam Texture:
    Type: Render Texture | Default Setting: CylinderTextureLeftEye
    This is purely a placeholder, as the texture that gets sent will be constantly generated in memory and will never be a saved asset.

  • Unwrap Mat:
    Type: Material | CylindricalUnwrapMaterialLeft
    This is a custom script that is given the render texture generated from the camera's combined Left views.

Network Sync Example

In the past we have had requests from clients to operate their unity experience in a different way.
They wanted high speed control, without the overhead of the Igloo System. Whilst also wanting a lag free Igloo experience.

The only solution was to create two seperate unity scenes. One as a server, the other as a client. Using our trusted OSC message technology, the client would update every object that was linked with its position, rotation, and location.

Extra functionallity could also be added to send triggers for events.

The client would then be run on the Igloo system, using a spout based camera rig. With the server being run on a gaming laptop, or similar, which would relay messages of all required moving assets to the server.

Data Server

Multiple instances of the data server can be used across the scene, you could theoretically send the position of every object and component.

However Unique names need to be used to avoid confusion.
You could also use this.GetInstanceID() instead of this.name to avoid using duplicates, however this comes with it's own set of problems if the scenes differ.

Image Added

This is currently setup to SEND the position and rotation of the attached object, to a client with the exact same name.

  • Send Port:
    Type: Int | Default Setting: 9020
    An Open port to send the OSC messages through.

  • Ip Address:
    Type: string | Default Setting: 192.168.0.1
    The IP address of the client machine you are sending messages to. If you are building the project, it would be wise to integrate some sort of XML file system to adjust this value post-build.

Data Client

Multiple instances of the data client can be used across the scene, you could theoretically track the position of every object and component.

However Unique names need to be used to avoid confusion.
You could also use this.GetInstanceID() instead of this.name to avoid using duplicates, however this comes with it's own set of problems if the scenes differ.

Image Added

This is currently setup to SET the position and rotation of the server with exactly the same name.

  • OSC In Port:
    Type: Int | Default Setting: 9020
    An Open port to receive the OSC messages through.

  • Get Position:
    Type: Bool | true
    Use the position values that are sent in the OSC message packet.

  • Get Rotation:
    Type: Bool | false
    Use the rotation values that are sent in the OSC message packet.