• Home
  • Knowledge Base
    • Licensing
    • Operation
    • Quality Improvement
    • References
  • Documentation
    • VIOSO Core 5
    • VIOSO Anyblend 5
    • VIOSO Anyblend VR&SIM 5
    • VIOSO Integrate 5
    • VIOSO Player 2
  • FAQ
    • Error and other feedback
    • Licensing
    • System & Requirements
  • Videos
  • Home
  • Knowledge Base
    • Licensing
    • Operation
    • Quality Improvement
    • References
  • Documentation
    • VIOSO Core 5
    • VIOSO Anyblend 5
    • VIOSO Anyblend VR&SIM 5
    • VIOSO Integrate 5
    • VIOSO Player 2
  • FAQ
    • Error and other feedback
    • Licensing
    • System & Requirements
  • Videos

VIOSO Integrate 5

home/Documentation/VIOSO Integrate 5
Expand All Collapse All
  • VIOSO Integrate Overview
  • VIOSO Integrate VS Integrate Plus
  • Media Playback Solutions
    • AV Stumpfl Pixera
      • Running Pixera Autocal standalone
      • UV-Mapping and 3D calibration
      • Multi-client setups
    • Vertex VIOSO & IOVERSAL Vertex
      • AutoCal Single Camera: Getting started
      • Modifying, Optimizing and Recalibration
      • Using Autocal Standalone
  • Dome- and Planetarium Solutions
  • 3D Engines
    • Unity Plugin
    • Unreal Engine Integration
      • Examples: UE4.24-.26
      • Examples: UE4.27 & UE5
    • MiddleVR Integration
    • Techviz
  • Simulators
    • SILAB
    • Quantum 3D: Mantis
    • AVSimulation: SCANeR Studio
    • rFpro
    • Prepar3D
    • X-Plane 11
  • Projector Integration
    • Barco Pulse Export
    • Norxe Export
  • VIOSO WarpBlend API
    • API usage on Windows
    • API usage on Linux
    • Implementation Remarks
    • VIOSOWarpBlend.ini Reference
    • API Examples
      • Example 1 - Simulator with moving platform
      • Example 2 - Another simulator with moving platform
      • Example 3 – Cave
      • Example 4 – Video player

Unreal Engine Integration

6482 views 6

Emanuel
April 30, 2020

This section provides a guideline on how to integrate VIOSO multi-projector and multi-client calibrations into Unreal Engine.

Unreal Engine uses nDisplay for distributing and synchronizing content over multiple displays and servers. It can integrate VIOSO’s calibration data through the MPCDI or .VWF data formats.

Please note that VIOSO 6 SIM or VIOSO Anyblend VR&SIM v5.1.7+ is required to generate suitable MPCDI/VWF files!

Workflow in the steps below:

Table of Contents

  • 1. In VIOSO software
  • 2. In Unreal Engine
    • 2.1 versions 4.27.x – 5
      • a. Workflow
      • b. Example Configurations
    • 2.2 versions 4.24 – 4.26
      • a. Workflow
        • Step 1 – Set up Your Project for nDisplay
        • Step 2 – Set up the Configuration File
        • Step 3 – Package and Deploy
        • Step 4 – Launch all Cluster Nodes
      • b. Example Configurations
  • 3. Tips & Notes

1. In VIOSO software

Perform a camera based 3D calibration with VIOSO 6 SIM or Anyblend VR&SIM  (version  5.1.7 or later). You can use either: Free mode or project mode (3D mapping)

After a successful 3D calibration of your displays, export your mapping in VWF or VESA MPCDI v2 formats. The difference between both formats is explained in section 3. Tips & Notes.

From the menu bar, go to File > Export Mapping:

  • Select your compound display.
  • Select the VWF or VESA MPCDI v2 format.
  • Make sure the 3D box is checked, and for mpcdi set Blend Bit depth to Grey8 or Grey16
  • Choose a file name and path.
  • Click on Export.

– For mpcdi: the export will be a folder containing an XML document along with a set of PFM files for geometry and their respective blending masks as PNGs.

– For vwf: the export will be a VIOSO format file containing several mappings or a set of files containing one mapping each. You can preview vwf files in Windows with a tool installed by default with the VIOSO software: “C:\Program Files\VIOSO6\Shared tools\VIOSO_CalibAssign64.exe”

2. In Unreal Engine

2.1 versions 4.27.x – 5

a. Workflow

The integration of the calibration files is done through the Projection Policy of the nDisplay viewport.

First you need to setup your project and have it up and running on all clusters and displays. Then, switch the projection policy of each target viewport to type= VIOSO or MPCDI. You can do this either through the user interface 3D config Editor or by editing the configuration files (.ndisplay), (.cfg).

The configuration parameters are detailed in the table below:

Type Parameter Description
VIOSO VIOSO type
  1. Explicit VWF: reference directly the calibration file (.vwf) exported from VIOSO
  2. VIOSO: reference the standard API configuration file: VIOSOWarpBlend.ini
VIOSO file
  1. vwf: calibration file exported from the VIOSO software.
  2. ini file: API configuration file with extra parameters:  VIOSOWarpBlend.ini
VIOSO Units in Meter The units of the 3D model used in the VIOSO calibration. By default VIOSO’s own models are inmilliliters, so units in meter = 1000
VIOSO Calib index Index of the mapping inside the calibration file, in case several projectors are exported to a single file
VIOSO origin The ID of a [scene_node] that defines the origin for the projection screen. This maps the frame of reference defined in the calibration to the virtual space in your Unreal Engine Level. Defaults to the origin of the 3D model used in the VIOSO calibration.
You can use this node as an offset to position the projection screen in the 3D scene.
VIOSO Enable Preview Renders the VWF mesh in the editor viewport preview.
MPCDI pfm Geometry file exported in the VIOSO mpcdi folder
MPCDI png Blending file exported in the VIOSO mpcdi folder
VIOSO / MPCDI View Origin Origin of the viewing frustum. You can use this as an eyepoint node, to allow static/dynamic perspective correction.

b. Example Configurations

Find here example files for VIOSO calibrations (v4.27 & v5)

2.2 versions 4.24 – 4.26

a. Workflow

First, follow the Quick Start Guide to get nDisplay up and running.

Step 1 – Set up Your Project for nDisplay
Step 2 – Set up the Configuration File

This is where the VIOSO calibration is integrated.

After you have configured your clusters, windows, and viewports according to the config file reference, you need to set your projection type to “mpcdi” and specify your .pfm and blending masks paths for each viewport in the format below:

  [projection] id=proj_pfm_1 type="mpcdi" pfm= "..\..pfm" alpha="..\..png"

Optionally, you can add these parameters to the above line:

Parameter Description
alpha_gamma Provides a multiplier for the alpha gamma of the blending mask. Typically =2
scale The scaling factor to use for the projection.
origin The ID of a [scene_node] configuration section that defines the starting point for the projection. This maps the frame of reference defined in the calibration to the virtual space in your Unreal Engine Level.
Step 3 – Package and Deploy
Step 4 – Launch all Cluster Nodes

b. Example Configurations

Find here example files for VIOSO calibrations (v4.24-.26)

3. Tips & Notes

  • Make sure all paths and file names of your configuration contain no spaces.
  • Carefully verify the syntax of your .cfg /.nDisplay file. A single typo may cause the application to crash at start-up.
  • Check the log files generated in [YourBuildPath]\nDisplay\Saved\Logs to monitor the events and errors of the application.
  • Make sure that the Windows account you intend to use on the master computer has administrative rights on all computers you will use in the nDisplay network.
  • Make sure that all computers you want to use in the nDisplay network can receive TCP/IP communications over ports 41000, 41001, 41002, and 41003.
    (You can use different ports instead; see Changing nDisplay Communication Ports)
  • Eyepoint Position: you can define the initial eyepoint position relative to your 3D model center by adding an “origin” param in the projection definition (MPCDI or VIOSO) and then defining its coordinates in a [scene node]. This origin is relative to the center of the 3D model used for the calibration and expressed in UE coordinate system.
  • MPCDI vs VWF  formats:
    VIOSO also has a native integration into nDisplay (UE v4.26+), allowing you to use the (.vwf) export format instead of MPCDI in the projection policy. This table summarizes the main differences and advantages of choosing between the two formats:
.mpcdi .vwf
Unreal versions  v4.24 and later v4.26 and later
DirectX12 support ✓ x
Mesh preview inside Unreal Engine ✓ x
available in v5.3.1
Calibration Type 3D only 2D
& 3D available fromv5.3.1+
Color Adjustment, RGB blending/matching x ✓
Overshoot masking must manually draw masks automatically masked from the warping result
Alpha/Gamma Blending factor adjustable in the nDisplay config file
Recommended=2
adjustable in the VIOSO export window
Recommended=2
Tags:ndisplayueunrealengine

Was this helpful?

6 Yes  No
Related Articles
  • Barco Pulse Export
  • Examples: UE4.24-.26
  • SILAB
  • Quantum 3D: Mantis
  • VIOSO Integrate Overview
  • Norxe Export

Didn't find your answer? Contact Us

Previous
Unity Plugin
Next
Examples: UE4.24-.26
  • Ticket System
  • VIOSO Home
  • Imprint
  • © 2020-now VIOSO GmbH. All Rights Reserved.

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
Do not sell my personal information.
Cookie settingsACCEPT
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT