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
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
- From the top menu, go to Views > View Group Management.
- Add a plugin entry named “
VIOSOWarpBlend
” to each display in the”Displays” configuration. - For each view, in “View Groups” define the frustum using the retrieved values of FOV and Rotation from the calibration’s observer conversion.
- 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.
- 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.
- Create an undocked view for each projector based on the new camera, and move it to its approximate location.
- Define the exact location of the views in the
[scenario_name].fxml
file: find the <window.n> entry for each view and edit itsUndocoord=(posX,posY,sizeX,sizeY)
to match your topology. You can use this calculator to convert regular coordinates to the universal system. - In the same file:
[scenario_name].fxml
, find the observers assigned to each active camera corresponding to the window (found by GUID) and edit thefieldOfView
andRotation
properties to match the VIOSO calibration values (part 1.2). - 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: