Attribute name | Type | Default value |
zoom | Number | 1.0 |
- Add a custom zoom to the VR view.
- Should be used very carefully!
|
Attribute name | Type | Default value |
friction | Number | 0.0 |
- A value between 0.0 and 0.999
- Add a fricition to reduce the gyro responsive speed.
- Should be only used for higher zoom values, but never for normal viewing!
|
Attribute name | Type | Default value |
worldscale | Number | 1.0 |
- The 'VR world scaling' - this value defines how near or far way hotspots are appearing.
- The panoramic image itself or the sizes of the hotspots will not change.
- With smaller values (0.1 to 1.0) everything will look smaller and more near to the face
and with larger values (1.0 and up) more far way.
- When using stereoscopic panoramic images it can make sense trying to adjust this value
to get a better matching between the panoramic image and the hotspots (and the vr_cursor).
This depends how the stereoscopic image was shoot (stereo camera-distance).
|
Attribute name | Type | Default value |
mousespeed | Number | 0.00125 |
-
When being in WebVR fullscreen mode on desktop computers, it's
possible to rotate the view horizontally by moving the mouse left and right (additionally to the view rotation by the head-movement).
-
The mousespeed setting controls the speed of that mouse movement.
Set the value to 0.0 to disable the mouse movement.
|
Attribute name | Type | Default value |
oversampling | Number | 1.0 |
- The oversampling factor for the rendering.
- Higher values can increase the quality, but require more GPU processing power.
- Lower values will lower the quality and require fewer GPU processing power.
|
Attribute name | Type | Default value |
headtracking | Boolean | true |
- By setting headtracking to false, it would be possible to disable the headset-movement-tracking and
control the viewing direction by yourself by changing the view settings.
- Warning - disabling this settings is NOT recommended!
-
Changing the viewing direction in VR different to the users head movement is a bad experience.
And on systems with 're-projection' (HTC Vice, Oculus Rift) this can cause graphical errors, because
these systems doesn't assume that the view will change different to the head-movement.
|
Attribute name | Type | Default value |
fullscreen_mirroring | Boolean | true |
- For desktop WebVR usage.
- Switch to fullscreen mode when mirroring the WebVR output.
|
Attribute name | Type | Default value |
multireslock | Boolean | true |
-
When this setting is enabled and when using a multires pano,
then the multiresolution loading will be 'locked' to one specific resolution level.
-
That locked level will be fully loaded when entering the VR mode or
when changing the pano in VR mode.
-
The fully 'pre-loaded' image resolution level avoid loading interrupts during the viewing.
This is important because especially in VR mode any interrupts or frame drops are strongly noticeable.
-
Note - that full preloading can cause a short performance drop during
the initial loading of the pano, but therefore there will be no interrupts during the viewing itself.
|
Attribute name | Type | Default value |
mobilevr_support | Boolean | true |
- Enable or disable the MobileVR support.
- This setting allows to use VR on any mobile device (also without WebVR API support).
|
Attribute name | Type | Default value |
mobilevr_ipd | Number | 63.5 |
- Set the interpupillary distance (IPD) in millimeters (mm).
- This will be used in MobileVR mode to achieve the correct stereoscopic 3D presentation for the user.
|
Attribute name | Type | Default value |
mobilevr_screensize | String | "auto" |
- Set a custom diagonal device screen size in inch.
- This information is necessary to be able calculate the correct 3D presentation.
- When set to auto (the default):
- In this case the plugin tries to detect the device itself to get its screensize.
- On Android the device detection works by checking the user-agent of the browser.
The plugin has an intern list of several devices and their screen sizes.
If you want your device on this list, just send a short mail including the user-agent and the screen size of your device.
- When detecting the screen size isn't possible, the plugin assumes a screen size of 5.0 inch
and sends the onunknowndevice event.
|
Attribute name | Type | Default value |
mobilevr_lens_overlap
mobilevr_lens_fov
mobilevr_lens_dist
mobilevr_lens_dist2
mobilevr_lens_ca
mobilevr_lens_vign
|
Number Number Number String Number Number |
1.0 96 0.6 "1|0|0|0" 0.0 100 |
- Set the lens parameters for the MobileVR mode:
- mobilevr_lens_overlap
- A scaling factor for lens view overlapping.
The value depends on the distance between the lenses and the shape/design of the lenses.
- mobilevr_lens_fov
- The vertical field-of-view in degrees.
- The resulting field-of-view will depend on the screen-size and the lenses.
- mobilevr_lens_dist
- The strongness of the lens distortion.
- Values: 0.0 to 5.0, 0.0=no distortion.
- This distortion will be rendered by using the krpano internal fisheye view distortion in a one-pass rendering step.
- There will be no degeneration of the image quality when using this distortion.
That means this distortion should be used as first step.
- mobilevr_lens_dist2
- mobilevr_lens_ca
- Chromatic aberration correction - reduce color fringes.
- Values: -1.0 to +1.0, 0.0=off.
- The red and blue color channels will be scaled.
-
The CA correction requires additional GPU processing power and can reduce the frame-rate.
When using the default value 0.0 this step will be skipped.
- mobilevr_lens_vign
- Add a vignette shading to hide the lens edges or unwanted areas.
- Values: 0 to 100, 100=off.
- The vignette will be only added when using the mobilevr_lens_dist2 setting.
The default values should are a good fitting for the original Google Cardboard lenses.
Lens settings for some VR headsets:
|
Attribute name | Type | Default value |
mobilevr_orientationlock | Boolean | true |
- Automatically lock the screen / device orientation to landscape.
- This works only when the browsers is supporting an API for orientation locking (currently only the latest versions of Android Chrome and Android Firefox).
|
Attribute name | Type | Default value |
mobilevr_wakelock | Boolean | true |
- Wakelock - try to keep the mobile device awaken and prevent that the display
switches to sleep / standby mode.
This is necessary because during the VR viewing typically no user touches on the display (which would prevent sleeping) are happening.
- Currently the wake-locking is not a browser feature, currently it is only an ugly hack.
The current hack might be not working or could cause problems in newer/updated browser version,
therefore it's optionally possible to disable that feature.
|
Attribute name | Type | Default value |
mobilevr_sensor | int | 1 |
- Define which browser event should be used for the device movement tracking:
- 0 = the deviceorientation event
- Here the sensor fusion will be done by the browser itself.
- The data from this event is unfortunately buggy or just bad (slow, inaccurate, wrong) in many Android devices and Android browsers.
- 1 = the devicemotion event (default)
- Here the sensor fusion will be done by krpano.
- The browser provides the raw data from the acceleration and the gyroscope sensors and krpano combines them for getting the final device rotation:
- The gyroscope data is very quick and accurate but the gyroscope sensor measures only relative rotations and
therefore it drifts away from the real physical orientation over time.
- To compensate that drift, the acceleration sensor is used. That sensor measures the gravity acceleration of the earth
and that can be used as absolute reference.
- But the acceleration data is very noisy and it can be only used for detection 'tilt' rotations (tilt left, right, up or down) -
rotations around the device itself can't detected by acceleration, for this the gyroscope data is required.
- So the data from both sensor will be combined / fused.
The acceleration data will be low-pass filtered and used as slow 'stabilization' and
the gyroscope data for quick and accurate movements in all directions.
- Using the devicemotion event (setting mobilevr_sensor=1) is the default and there should be normally no need or benefit to use the deviceorientation event,
except maybe for some extreme browser bugs...
|
Attribute name | Type | Default value |
mobilevr_sensor_mode | int | 3 |
- The frame-rendering and the 'sensor-data-events' are happening in different time intervals / rates
(depending on the system and browser),
so it is necessary to evaluate and interpolate/extrapolate the sensor data somehow to get
a smooth and also fast and responsive movement.
- With this setting, different modes for this process can be selected.
- Available modes:
- 0 = Directly use the latest available sensor data.
No interpolation or extrapolation. Depending on the sensor-time-intervals of the browser
the movement can be either jerky or smooth.
- 1 = Smoothly interpolate between the latest
available sensor data. This will give a very smooth but delayed movement.
- 2 = Forecast the device rotations and then interpolate between the sensor data.
- 3 = Extrapolate the latest available sensor data
to the current frame time.
This will give a fast responsive and smooth movement, but there can be a jerking
when the extrapolated/predicted data and the real movement don't match.
- 4 = Forecast the device rotation to the current frame time.
This will give a fast responsive and smooth movement, but there can be a jerking
when the extrapolated/predicted data and the real movement don't match.
- 5 = Forecast the device rotation and extrapolate the
sensor data from the latest event to the current frame time.
- 6 = Forecast the device rotation one frame ahead.
- 7 = Forecast the device rotation two frames ahead.
- Note - these settings would need to be rated inside a VR-HMD (head-mounted-display)!
E.g. mode=1 looks good and super smooth on the screen, but inside a HMD the delayed movement
can be unpleasing. Other modes might look jerking on the screen, but good inside the HMD.
Additionally it depends on the sensor-rate of the browser, how good each mode will look.
A good compromise for different devices are the modes 3 and 4.
|
Attribute name | Type | Default value |
mobilevr_autocalibration | Boolean | false |
- Enable an automatic gyroscope calibration.
- Some devices have uncalibrated sensors and there this automatic calibration can help to avoid an unintended gyroscope movement / drifting.
- The automatic self-calibration will be done every time when the device will be hold very still, e.g. either by holding the device very steady or by laying the device on a stable table.
|
Attribute name | Type | Default value |
mobilevr_touch_support | Boolean | false |
- Enable touch support for rotating / adjusting the horizontal offset.
- This setting is disabled by default because some VR headsets are touching the screen and sometimes causing wrong input.
|
Attribute name | Type | Default value |
mobilevr_fake_support | Boolean | false |
- Enable a fake MobileVR support for tablet and desktop devices.
- Note - That should be only used for internal testing or for demonstrating the possibilities!
|
Attribute name | Type | Default value |
mobilevr_database_url | String | |
- Use a Cardboard Device Parameter Database as fallback for getting the screen-size for currently unknown Android devices.
- Here a collection of online databases:
- Here optionally a custom database url could be set.
- When the database url will be set to an empty string value or to null, then no online database request will be made for unknown devices.
|
Attribute name | Type | Default value |
vr_cursor | String | |
|
Attribute name | Type | Default value |
vr_cursor_enabled | Boolean | true |
|
Attribute name | Type | Default value |
vr_cursor_onover
vr_cursor_onout
|
Action Event Action Event |
|
- These events will be called when the vr_cursor will move over and out of others hotspots.
- The 'scope' of these events will be one of the hovered hotspots.
That means these events act like the onover,
onout events of the hotspot itself.
|