4. Dynamic Stereoscopic Camera Settings

With the previously defined theoretical model in mind, you can relax some constraints to enable some control over the camera for artistic, comfort, or technical reasons.

To implement the following features, you must consider the position of the user’s eyes in two different ways: in terms of the absolute position of the user, and in terms of the relative positions of the eyes. This enables you to understand stereoscopic effects and dynamic perspective effects independently.

For dynamic perspective effects, the center point between the eyes is used as the user’s position. For stereoscopic effects, the positions of the eyes relative to this center point are used.

Figure 4-1. Decoupling Stereoscopic Effects From Dynamic Perspective Effects

User's position   Center position of eyes on   Center position of eyes

4.1. Wide FOV

When dealing with a base camera, using a specific FOV is natural for game developers. However, ideal stereoscopy needs a fixed FOV—a standard FOV—that matches the angular appearance of the screen as seen by the user.

Most of the time, these specific FOVs are larger than the standard FOV. These larger FOVs are called wide FOVs.

Figure 4-2. Wide-FOV Camera

Wide-FOV Camera mera

It is possible to compute a realistic camera that matches the standard FOV and whose window matches the window of the base camera. However, using another FOV may be needed for artistic reasons.

If you want to use a wide FOV, you can reduce the deformation of objects displayed in the center of the screen by adeptly setting the distance between the left and right cameras. To minimize these deformations, match the direction at which both cameras are pointing toward the center of the window to the direction at which the user is looking toward the center of the screen.

As shown in Figure 4-3, deformation is minimized by setting the inter-camera distance for the ideal stereo cameras and the distance between the left and right wide FOV cameras proportional to their distances from the window.

Figure 4-3. Ideal Inter-Camera Distance for Wide-FOV Cameras

Ideal Inter-Camera Distance for Wide-FOV Cameras istance for Wide-FOV Cameras

When using dynamic perspective, you need to consider methods for computing the camera movement from the user’s position. Consider the following methods.

The first method scales the movement as the inter-eye distance was scaled. The effect of this method is that an object at the center of the screen is viewed from the appropriate angle. However, far objects seem to move less than is normal.

The second method reproduces the movement of the user on the cameras without scaling. This method gives the impression that far objects move realistically, while near objects seem to rotate or deform.

Both methods can be justified, and intermediate behaviors can be useful depending on the scene. Any intermediate behavior can be described by a scalar factor between 0 and 1, the wide FOV motion factor.

Figure 4-4. FOV Motion Factor Set to 0

FOV Motion Factor 0     FOV Motion Factor 1    FOV Motion Factor 1

Figure 4-5. FOV Motion Factor Set to 1

4.2. Realistic FOV Factor

If you want to smoothly transform a wide FOV stereoscopic camera to an ideal stereoscopic camera, try interpolating between them for an interesting result. Use linear interpolation to move the virtual camera from one position to another. This linear interpolation factor is the realistic FOV factor.

Figure 4-6. Realistic FOV Factor

Realistic FOV factor    Ideal stereoscopic camera Ideal stereoscopic camera

4.3. Dynamic Perspective Amplitude

You can amplify or reduce a dynamic perspective effect by applying a multiplicative factor. This dynamic perspective amplitude factor corresponds to the user’s displacement from the standard position.

You can modify this amplitude independently on each axis depending on the desired effect or specific constraints.

4.4. Dynamic Perspective Clamping

The area where the user can be detected by the system is limited by the field of view of the camera. When the user leaves this area, the system loses the user's position. To provide visual feedback to the user before leaving this area, you can clamp the maximum viewing angle to a narrower one.

This clamping can also be used to control the volume of space that can be seen by the camera.

4.5. Tilt and Improved Static Stereoscopic Camera

If camera displacement is deactivated by setting either the clamping factor or the amplitude factor to 0, the camera works like a static stereoscopic camera.

Even so, the angle between the user and the console can be determined from the detected position of the eyes, and this tilt information can be applied to the virtual cameras. This can improve stereoscopic quality when the user tilts the screen as if turning a steering wheel.

Figure 4-7. Improved Static Stereoscopic Camera

Static stereoscopic camera ereoscopic camera

However, in rare instances using tilt this way can cause problems. Also, moving the virtual camera can generate artifacts. If there are problems, disable the tilt so that the camera remains horizontal.

4.6. Parallax Distance Limit

To guarantee the comfort of the user, the developer can specify a maximum parallax distance. A maximum inter-camera distance is derived from this constraint, such that an object on the far plane would have at most this parallax distance. However, this constraint is not enforced for objects on the near plane.

4.7. 3D Slider and Stereo Factor

For users to tune the 3D effect to their liking, the inter-camera distance must be adjusted using the 3D slider. The developer can provide a stereo factor that takes values in the range from 0 through 1. The inter-camera distance can be shortened by multiplying the 3D slider value by this factor. You can use this technique to reduce the 3D effect if necessary, or to perform smooth transitions between 2D and 3D images.


CONFIDENTIAL