• Home
  • Knowledge Base
    • Licensing New (VIOSO 6, EXAPLAY)
    • Operation
    • Quality Improvement
    • References
    • Licensing Old (Anyblend, Player)
  • Documentation
    • VIOSO 6
    • VIOSO 6 Integration
    • EXAPLAY
    • 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 New (VIOSO 6, EXAPLAY)
    • Operation
    • Quality Improvement
    • References
    • Licensing Old (Anyblend, Player)
  • Documentation
    • VIOSO 6
    • VIOSO 6 Integration
    • EXAPLAY
    • 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
  • Simulators
    • SILAB
    • Quantum 3D: Mantis
    • AVSimulation: SCANeR Studio
    • rFpro
    • Prepar3D
    • X-Plane 11
  • Projector Integration
  • 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

Prepar3D

476 views 0

Jerbi
December 15, 2020

VIOSO Anyblend VR&SIM and VIOSO Integrate Plus let you export your warp and blend calibrations to the Lockheed Martin’s flight simulator Prepar3D v5 using the VIOSO WarpBlend add-on.

Integration outline:

Table of Contents

  • 1. In VIOSO Core
    • 1. Perform a camera based 3D calibration
    • 2. Perform an observer conversion
    • 3. Export your mapping in the VWF format:
  • 2. In Prepar3D
    • Option 1: Using View Groups
    • Option 2: Using Camera Effects
  • Notes & References

1. In VIOSO Core

1. Perform a camera based 3D calibration

Using Anyblend VR&SIM or VIOSO Integrate Plus, follow the workflow in this guide: 3D calibration

2. Perform an observer conversion

In this step, you will acquire the camera poses relative to each projector (Fields of View and Orientations). These values will later be needed in Prepar3D configuration.

    • Save the result of your 3D calibration
    • Make sure the VC is in full screen and no warping is applied to the grid
    • From the main menu, go to Calibration > Conversion Tasks :
      • Select your compound from the list of available calibrations
      • Select “auto frustum” as a conversion format
      • Specify the desired eye point coordinates for the viewer
      • Click on Perform
    • From the main menu, go to Calibration > Content Spaces :
      • Create a new frustum by clicking on the “New” button, name it “main” and set its type to “frustum” and click on “Create Empty Defintion”
      • Select the main frustum you just created and set its “LookAt” coordinates and and “Up” vector. Example: For a screen calibrated with a camera facing the screen at 1 meter distance, LookAt = (0,1000,-1000) and Up = (0,1,0)
      • Click on “Apply”.
      • Select each of the Projector frustums from the list and edit its Rotation and Field of view values to round them to integers, for example : if Y=48.86 round it to 49
      • Make sure you apply each edit, and finally click on Save to finish.
    • From the main menu, go to Calibration > Conversion Tasks :
      • Select your compound from the list of available calibrations
      • Select “Observer conversion” as a conversion format
      • Select the first projector frustum from the list
      • Click on Perform
      • Repeat the same conversion steps for all projector frustums
    • Save the calibration to a different file, you can call it for example “name_ObserverConv”

It is important at this step to check if the converted views are covering the entire area of the calibrated displays. To do so simply activate each projector and check for black spots around the corners.

If you spot such artifacts, it means the fields of view specified are not able to provide a full coverage of the desired viewport, therefore please go back to the content spaces definitions and edit the field of view values to widen them slightly then perform the observer conversions again until you cover the entire calibrated projection area.

For further details about observer conversion, please refer to this guide: Observer Conversion

3. Export your mapping in the VWF format:

    • From the menu bar, go to File > Export Mapping
    • Select your compound display.
    • Select the VWF format.
    • Uncheck the 3D box.
    • Fix the gamma to a value between 2 and 2.2 (depending on the brightness settings of your p3d)
    • Choose a file name and path.
    • Click on Export.

2. In Prepar3D

  • Download the VIOSO WarpBlend add-on.
  • Import the add-on by adding it your Documents\prepar3d files add-on.
  • Enable it from Prepar3d Options > Add-ons :

Option 1: Using View Groups

  1. From the top menu, go to Views > View Group Management.
  2. Add a plugin entry named “VIOSOWarpBlend” to each display in the”Displays” configuration.
  3. For each view, in “View Groups” define the frustum using the retrieved values of FOV and Rotation from the calibration’s observer conversion.
  4. Configure VIOSOWarpBlend.ini file (in the plugin directory) on each machine to refer to the calibration file(s) (*.vwf) and to the corresponding channel for each display. Example:
[Virtual Cockpit - View 01]
calibFile=viosoCalib.vwf
calibIndex=0
[Virtual Cockpit - View 02]
calibFile=viosoCalib.vwf
calibIndex=1
[Virtual Cockpit - View 03]
calibFile=viosoCalib.vwf
calibIndex=2

 

Option 2: Using Camera Effects

This method can be used in situations where view groups are not possible, a known use case for example is spanned displays (Nvidia Mosaic / Surround) and multi-GPU setups. Its drawback is that it is tied to the configured scenario/cameras and therefore it is not as flexible as option 1.

  1. From the top menu, Go to Views > Manage Cameras, and create a camera based on one of the presets list (ex: Virtual Cockpit). From the effects list check the  “VIOSOWarpBlend” post process to add it to its properties, then give it a name and click on save.
  2. Create an undocked view for each projector based on the new camera, and move it to its approximate location.
  3. Define the exact location of the views in the [scenario_name].fxml file: find the <window.n> entry for each view and edit its Undocoord=(posX,posY,sizeX,sizeY) to match your topology. You can use this calculator to convert regular coordinates to the universal system.
  4. In the same file: [scenario_name].fxml , find the observers assigned to each active camera corresponding to the window (found by GUID) and edit the fieldOfView and Rotation properties to match the VIOSO calibration values (part 1.2).
  5. Configure VIOSOWarpBlend.ini file (in the plugin directory) to refer to the calibration file(s) (*.vwf) and to the corresponding channel for each camera.

Notes & References

  • To identify channel names and map them to the right calibration index in VIOSOWarpBlend.ini , you have the following options:
      • Activate window titles in prepar3d (right click on a view > check window title), the names will appear in white on top of each view.
      • Keep alt pressed to activate the top bar with view names.
      • From the menu bar, click on Views: a list of the views will appear at the bottom of the context menu with the active one checked.
      • Check the scenario file *.fxml. The <window> entries have a “title” property, that would be your channel name .
  • We have noted that remote control applications such as Teamviewer can cause graphic bugs and crashes in Prepar3d while configuring the setup. To avoid such instability, work on the machine directly when possible.
  • Clearing shader cache rebuilds shaders and can fix startup crashing when turning the plugin off/on. To do so just delete the files under:
    Local Disk (C:) ► Users ► [You] ► AppData ► Local ► Lockheed Martin ► Prepar3D v4 ► Shaders
  • References: Prepar3D v5 learning center:
    • Display and View Management
    • Camera configuration
    • Scenario file reference

Was this helpful?

Yes  1 No
Related Articles
  • Examples: UE4.24-.26
  • SILAB
  • Quantum 3D: Mantis
  • VIOSO Integrate Overview
  • Examples: UE4.27 & UE5
  • AVSimulation: SCANeR Studio

Didn't find your answer? Contact Us

Previous
rFpro
Next
X-Plane 11
  • Ticket System
  • VIOSO Home
  • Imprint
  • Forum
  • © 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