This is a generic VR camera implementation. It features two cameras offset by a distance with a specific 360º projection. Its main advantages are:

  • It works with any scene component that can be rendered in an offline renderer: meshes, hair, particles, volumetrics and complex shading networks.
  • An easy learning curve to begin to create VR content. Just add the VR camera to your existing project.
  • Modest hardware requisites to reproduce the content. Any platform that can reproduce a video with the required projection is fine to experience the generated content.
  • Content that is easy to distribute either as a video file or via video streaming. It can be reproduced using dedicated software or an app, or with web standards like WebGL, WebVR. It also works with Google and Facebook 360 3D videos.

Limitations

  • Poles: By default, poles will show very evident artifacts. This requires that you adjust the stereoscopic effect for each scene and smooth it near the poles, thus diminishing the stereoscopic effect.
  • Tilt: Due to the way the stereoscopic effect is done, tilting your head will destroy the stereoscopic perception.
  • Parallax: When you move your head along any axis, there is a change in the viewpoint that the offline VR scene can’t take into account. This can diminish the immersion of the experience since we can only react to head rotations.
 

You can find a description of common parameters on the cameras page. Additional attributes are described below.

Mode

There are four mode options available so that you can get the result that better adapts to your pipeline. They are as follows:

  1. Side by Side
  2. Over Under
  3. Left Eye
  4. Right Eye

Projection

Depending on the selected projection, and options, each sample will correspond to a ray direction so that all of the space around the camera is completely covered. Choose between lat-long, cube map (6x1), cube map (3x2).

Latlong Projection

Cubemap (6x1)

Cubemap (3x2)

The 3×2 Cube Map has the advantage of better aspect ratio images.

Eye Separation

Defines the separation between the right and the left camera, required to achieve the stereoscopic effect. The camera origin position is updated for each sample and displaced from the center perpendicularly to the ray direction. Doing this per sample level and not per pixel creates a better result than using two physical cameras. Here is a picture explaining this:

Eye To Neck Distance

The horizontal distance from the neck to the eye.

Top Merge Mode

These parameters define the merging function of the sky. Usually, a Cosine function (Cos) will be smoother and less prone to artifacts. Choose between None, Cosine or Shader.

Top Merge Angle

Defines the angle in degrees from where the merge starts to take effect in the sky. The nearer the angle to the pole (0º top or 180º bottom), the bigger stereoscopic effect you will see below it, but the most probable artifacts will appear at the poles.

Below you can see the difference between a start top angle from 0 to 80 using a cos merging function:

Bottom Merge Mode

These parameters define the merging function of the floor. Usually, a Cosine function (Cos) will be smoother and less prone to artifacts. Choose between None, Cosine or Shader.

Bottom Merge Angle

Defines the angle in degrees from where the merge starts to take effect on the floor. The nearer the angle to the pole (0º at the bottom, 180º at the top), the bigger stereoscopic effect you will see below it, but the most probable artifacts will appear at the poles.

If the bottom_merge_angle is above the top_merge_angle, it will be clamped to the top_merge_angle.

Merge Shader

This is used when merge_mode is set to "shader." It can be used to improve control of smoothing the poles. For example, if you have to integrate 3D with real life footage from cameras that have a very specific pole merging. Without Merge Shader, you only have generic pole merging. Black in the shader, results in no merge at all and white is completely merged.

Example of a ramp shader used to smooth the poles


  • No labels