• 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 Anyblend VR&SIM 5

home/Documentation/VIOSO Anyblend VR&SIM 5
Expand All Collapse All
  • VIOSO Anyblend VR&SIM Software Overview
  • 3D calibration
    • 3D model creation
    • 3D Alignment (MRD Adjustment)
    • Re-calculate calibration blending (optional)
  • Multi-client Calibration
    • Method 1: Abstract Displays
    • Method 2: Legacy
  • Multi-Camera Calibration
    • Method 1: 3D Alignment based multi-cam
    • Method 2: Marker based multi-cam
  • Intrinsic and Positions
  • Content space management
  • Content space transformation
  • Observer Conversion for Static Eye-Point
  • Dynamic eye-point correction
  • Calibration Export
  • Anyblend VR&SIM Examples
    • Export for Barco WB2560 (MIPS)
    • Calibration of a partial dome screen with an off-centre camera

Content space management

561 views 1

Emanuel
April 17, 2020

This is about virtual cameras, like IG views and models that match your screen or other projection surface.

Creating and editing poses

  • Create a view port in Extras->Custom content spaces, name it, and use the projector’s resolution as pixel space.
  • Define all viewports from ONE eye-point. This is to be done in the real world. For example, use the real position of the driver’s eye. We call this the “sweet spot”.
  • Define a default orientation. This is the combination of “forward” direction and the natural “up”. This also gives us the sideways direction. The IG operates relative to that.
  • Find that pose in our model’s coordinate space and create a pose.
  • For every projector, do:
    • Create a new pose.
    • Pinpoint the projection center and set it as look-at point.
    • Keep “up” as close to the natural up as possible.
    • Measure the size horizontally and vertically of the projection area.
    • Measure the distance between projector and screen.
    • Size/distance gives the view size, alas the field of view. It must cover the whole projection area. Make it a little bigger to compensate for possible projector movement.
    • Most IG’s use angles to define a viewport, so switch to angles view and round the angle to make it easier to enter into the IG’s settings.

Export view ports

By clicking “IG views…” on the bottom of the Custom content spaces dialog, you can export poses for your IG. You have to define a straight forward direction in model coordinates, which indicates the main moving direction of your simulator. Usually something like a vector from eye to the centre of the screen.

Enter or browse a destination file.

Optionally you can use a template file to generate an individual settings file for your IG

Sample template for exporting view parameters:

#this is a comment
#macros are in ${}
#macros are case sensitive, no white spaces allowed
#first comes the settings section, nothing is written to file
${!rotationOrder,YXZ}   #rotationOrder,param=[XYZ,XZY,YXZ,YZX,ZXY,ZYX]
${!angles,degree}       #angles,param=[degree,radian]
${!header}              #start of file header, following is written first to the file

#Export VIOSO Calibrator views ${date,%Y%m%d%H%M%S}.
#date,format=seestrftime
${!channel}             #!channel starts the channels section, this is written for every channel
[${name}]               #name the channel name
yaw=${aY,0.5}           #aY,format=[digits.precision] rotation around Y axis, if format is omitted it's set to "0.5"
pitch=${aX,0.5} 
roll=${aZ,0.5}
FoVLeft=${fovL,0.5}     #fovL,format field of view to the left
FoVRight=${fovR,0.5}    #right,format
FoVTop=${fovT,0.5}      #top,format
FoVBottom=${fovB,0.5}   #bottom,format
FoVHorizontal=${fovH}   #fovH,format entire horizontal field of view
FoVVertical=${fovV}     #fovV,format entire vertical field of view
FoVCenterH=${fovHC}     #fovHC,format horizontal center angle, 0 if symmetric
FoVCenterV=${fovVC}     #fovVC,format vertical center angle, 0 if symmetric
dirX=${dirX}            #dirX,format x-coordinate of view vector
dirY=${dirY}            #dirY,format y-coordinate of view vector
dirZ=${dirZ}            #dirZ,format z-coordinate of view vector
upX=${upX}              #upX,format x-coordinate of up vector
upY=${upY}              #upY,format y-coordinate of up vector
upZ=${upZ}              #upZ,format z-coordinate of up vector
sizeH=${sizeH}          #sizeH,format horizontal view size
sizeV=${sizeV}          #sizeV,format vertical view size
centerH=${centerH}      #centerH,format vertical view center, 0.5 is symmetric, 0is entitrly left, 1 entirely right
centerV=${centerV}      #centerV,format vertical view center
offsetH=${offsetH}      #horizontal view offset 0 is symmetric, 1 is entirely left, -1 entirely right
offsetV=${offsetV}      #vertical view offset 0 is symmetric, 1 is entirely left, -1 entirely right
aspect=${aspect}        #view aspect ratio, sizeH/sizeV
${!footer}              #starts the footer, this is written at the end of the file, once all channels are written

 Define a screen model

If we know the camera’s position to the real screen, we can match every camera image coordinate to a 3D coordinate on a virtual screen model. Use your favorite CAD (i.e. SketchUp® ) and create a model of your screen. Be careful with the metrics. If you want to use Content space transformations, put on a texture map (ONE texture for the whole model, unique uniform coordinates for the whole surface!). Export to a VIOSO readable format (.obj, .dae or .3ds are best).

Now go to Extras->Custom content spaces and create a new model. Use camera resolution.

  • Set a prepared model file.
  • Check invert “v-coordinates”.
  • If necessary, adjust settings. Finally, save.

Was this helpful?

1 Yes  No
Related Articles
  • Method 1: 3D Alignment based multi-cam
  • Method 2: Marker based multi-cam
  • Method 1: Abstract Displays
  • Method 2: Legacy
  • Export for Barco WB2560 (MIPS)
  • 3D model creation

Didn't find your answer? Contact Us

Previous
Intrinsic and Positions
Next
Content space transformation
  • 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