Versions Compared

Key

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

This example shows how to configure a Layer in ICE Igloo Core Engine to handle the output from a Unity / Unreal / 3rd Party application which is using the associated Igloo Plugin.

Tutorial Video

...

Step 1 - Game Engine Plugin configuration

The Game Engine plugin settings should be configured with the following optimal settings

...

  • Give the sender an appropriate name

Step 2 -

...

Igloo Core Engine Layer Configuration

  • Create a Layer which matches the Output method of the Game Engine source, in this example we will assume Spout is being used.

  • Give the Layer an appropriate name.

  • Start the application to make the Spout output available to ICEIgloo Core Engine, then select to the source from the Spout sender list.

...

  • Image Added
  • As the output format is Equirectangular, applying the TruePerspective Effect will extract the correct perspective view for our your screen.

...

  • The output can be verified in the Screen tab.

...

Step 3 - (Optional) Automatic application launch and quit

...

These settings can be used to automatically launch the Game Engine application when the session is loaded. The application will also be closed when the session is removed.

From the Layer settings Misc tab

...

  • File Path

Path to the executable of the application which

...

creates the Spout sender.

...

With the

...

file path set, whenever this Layer is added to the workspace, the executable will be opened. When the layer is removed from the workspace the executable will be closed.

  • Command line arguments can also be specified for launching the executable withArguments

This property can be used for passing command line arguments when launching the executable

  • On add batch | On remove batch

Batch scripts can be run when a layer is added and removed. This is useful for when an application needs to be opened and/or shutdown in a specific way.

Note

An “on remove” script should not launch or let anything launched by “on add” keep running. This could prevent the Igloo Core Engine app from closing properly.

Step 4 - Save as a Session

See - Sessions - ICE Igloo Core Engine Documentation - Confluence (atlassian.net)

Step 5 - Configure Igloo Unity/Unreal Toolkit settings

The following settings are meant as a quick start configuration suggestion, you may need to alter some settings depending on your setup.

Unity

Info

Example IglooSettings.xml files can be found at C:\ProgramData\Igloo Vision\IglooCoreEngine\settings\unity

Player settings

Code Block
<rotationInput>1</rotationInput>
<rotationMode>0</rotationMode>
<movementInput>0</movementInput>

...

Code Block
languagexml
  <DisplaySettings Name="YourApplicationNameHere">
    <textureShareMode>1</textureShareMode>
    <useCubemapToEquirectangular>true</useCubemapToEquirectangular>
    <equirectangularTexuteRes x="8000" y="4000" />
    <horizontalFOV>360</horizontalFOV>
    <verticalFOV>180</verticalFOV>
    <useCompositeTexture>false</useCompositeTexture>
    <useFramepackTopBottom3D>false</useFramepackTopBottom3D>
    <useWarpBlend>false</useWarpBlend>
    <HeadSettings>
      <headPositionOffset x="0" y="1.8" z="0" />
      <headRotationOffset x="0" y="0" z="0" />
      <leftEyeOffset x="-0.05" y="0" z="0" />
      <rightEyeOffset x="0.05" y="0" z="0" />
      <headtracking>false</headtracking>
      <headTrackingInput>0</headTrackingInput>
    </HeadSettings>
    <Displays>
      <DisplayItem Name="IglooUnity1">
        <isRendering>true</isRendering>
        <fov>90</fov>
        <is3D>false</is3D>
        <isRenderTextures>true</isRenderTextures>
        <cubemapFace>0</cubemapFace>
        <renderTextureSize x="2000" y="2000" />
        <textureShareMode>0</textureShareMode>
        <cameraRotation x="0" y="0" z="0" />
        <nearClipPlane>0.01</nearClipPlane>
        <farClipPlane>1000</farClipPlane>
        <isFisheye>false</isFisheye>
        <fisheyeStrength x="0" y="0" />
        <isOffAxis>false</isOffAxis>
        <viewportRotation x="0" y="0" z="0" />
        <viewportSize x="0" y="0" />
        <viewportPosition x="0" y="0" z="0" />
        <targetDisplay>-1</targetDisplay>
      </DisplayItem>
      <DisplayItem Name="IglooUnity2">
        <isRendering>true</isRendering>
        <fov>90</fov>
        <is3D>false</is3D>
        <isRenderTextures>true</isRenderTextures>
        <cubemapFace>1</cubemapFace>
        <renderTextureSize x="2000" y="2000" />
        <textureShareMode>0</textureShareMode>
        <cameraRotation x="0" y="90" z="0" />
        <nearClipPlane>0.01</nearClipPlane>
        <farClipPlane>1000</farClipPlane>
        <isFisheye>false</isFisheye>
        <fisheyeStrength x="0" y="0" />
        <isOffAxis>false</isOffAxis>
        <viewportRotation x="0" y="0" z="0" />
        <viewportSize x="0" y="0" />
        <viewportPosition x="0" y="0" z="0" />
        <targetDisplay>-1</targetDisplay>
      </DisplayItem>
      <DisplayItem Name="IglooUnity3">
        <isRendering>true</isRendering>
        <fov>90</fov>
        <is3D>false</is3D>
        <isRenderTextures>true</isRenderTextures>
        <cubemapFace>2</cubemapFace>
        <renderTextureSize x="2000" y="2000" />
        <textureShareMode>0</textureShareMode>
        <cameraRotation x="0" y="180" z="0" />
        <nearClipPlane>0.01</nearClipPlane>
        <farClipPlane>1000</farClipPlane>
        <isFisheye>false</isFisheye>
        <fisheyeStrength x="0" y="0" />
        <isOffAxis>false</isOffAxis>
        <viewportRotation x="0" y="0" z="0" />
        <viewportSize x="0" y="0" />
        <viewportPosition x="0" y="0" z="0" />
        <targetDisplay>-1</targetDisplay>
      </DisplayItem>
      <DisplayItem Name="IglooUnity4">
        <isRendering>true</isRendering>
        <fov>90</fov>
        <is3D>false</is3D>
        <isRenderTextures>true</isRenderTextures>
        <cubemapFace>3</cubemapFace>
        <renderTextureSize x="2000" y="2000" />
        <textureShareMode>0</textureShareMode>
        <cameraRotation x="0" y="270" z="0" />
        <nearClipPlane>0.01</nearClipPlane>
        <farClipPlane>1000</farClipPlane>
        <isFisheye>false</isFisheye>
        <fisheyeStrength x="0" y="0" />
        <isOffAxis>false</isOffAxis>
        <viewportRotation x="0" y="0" z="0" />
        <viewportSize x="0" y="0" />
        <viewportPosition x="0" y="0" z="0" />
        <targetDisplay>-1</targetDisplay>
      </DisplayItem>
      <DisplayItem Name="IglooUnity5">
        <isRendering>true</isRendering>
        <fov>90</fov>
        <is3D>false</is3D>
        <isRenderTextures>true</isRenderTextures>
        <cubemapFace>4</cubemapFace>
        <renderTextureSize x="2000" y="2000" />
        <textureShareMode>0</textureShareMode>
        <cameraRotation x="-90" y="0" z="0" />
        <nearClipPlane>0.01</nearClipPlane>
        <farClipPlane>1000</farClipPlane>
        <isFisheye>false</isFisheye>
        <fisheyeStrength x="0" y="0" />
        <isOffAxis>false</isOffAxis>
        <viewportRotation x="0" y="0" z="0" />
        <viewportSize x="0" y="0" />
        <viewportPosition x="0" y="0" z="0" />
        <targetDisplay>-1</targetDisplay>
      </DisplayItem>
      <DisplayItem Name="IglooUnity6">
        <isRendering>true</isRendering>
        <fov>90</fov>
        <is3D>false</is3D>
        <isRenderTextures>true</isRenderTextures>
        <cubemapFace>5</cubemapFace>
        <renderTextureSize x="2000" y="2000" />
        <textureShareMode>0</textureShareMode>
        <cameraRotation x="90" y="0" z="0" />
        <nearClipPlane>0.01</nearClipPlane>
        <farClipPlane>1000</farClipPlane>
        <isFisheye>false</isFisheye>
        <fisheyeStrength x="0" y="0" />
        <isOffAxis>false</isOffAxis>
        <viewportRotation x="0" y="0" z="0" />
        <viewportSize x="0" y="0" />
        <viewportPosition x="0" y="0" z="0" />
        <targetDisplay>-1</targetDisplay>
      </DisplayItem>
    </Displays>
  </DisplaySettings>DisplaySetting