Verge3D for Maya: Working with Camera — Soft8Soft
Description: Find out how to create and control Maya cameras to be used with Verge3D.

# Working with Camera / Maya

This page contains the information on how to setup Maya's cameras to be used with Verge3D.

- Setting Up in Maya
- Camera Settings
  - Common Verge3D Settings
  - Orbit Camera Settings
  - First-Person Settings
  - Rendering Settings
- Fit to Camera Edge
- Camera Control with Puzzles

#

## Setting Up in Maya

Simply add one of the supported cameras to you scene:

- Camera — since this camera has not explicit target, you should use Maya's Look at Selection to set camera's center of interest point.
- Camera and Aim
- Camera, Aim and Up

Alternatively, you can configure Maya's default camera such as persp.

Camera scaling values > 1 or < 1 are not recommended to use with Verge3D. Be sure to set the scaling factor for your cameras to 1.

#

## Camera Settings

Verge3D supports the following camera settings:

Controls
  See above.
Angle of View / Focal Length
  Field-of-view for perspective cameras.
Near Clip Plane / Far Clip Plane
  Near and far clipping plane distance. To eliminate z-fighting artifacts set Near Clip Plane value as high as possible and Far Clip Plane value as low as possible.
Fit Resolution Gate
  How the viewport will react to changing its dimensions (or device orientation). This setting has somewhat different meaning in Verge3D.
  Fill
    Fits the resolution gate within the film gate.
  Horizontal
    Fit horizontal field of view. This mode is good for wide scenes. By fixing horizontal field of view you will be ensured that your object will fit into the camera in both landscape (desktops/laptops) and portrait (phones) modes.
  Vertical
    Fit vertical field of view. Contrary to Horizontal, this mode is good for tall scenes.
  Overscan
    Fits the film gate within the resolution gate.

Background Color
  Background color used when Render Background setting is on. See more information about this feature here.
Orthographic
  Switch camera to orthographic mode.
Orthographic Width
  Camera scaling in orthographic mode.

#

### Common Verge3D Settings

Each camera in Maya is assigned with additional Verge3D settings:

Controls
  Specify what type of controls will be assigned to the camera in Verge3D:
  - Orbit — targeted (aka pivoted, orbited) camera view. See below.
  - Flying — free-flight view.
  - First-Person — first-person view with familiar character controls (WASD).
  - Disable — disable any controls. Specify if you're going to move your camera with animations, Puzzles, or JavaScript.
Panning Enabled
  Enable/disable camera panning.
Rotation Speed
  Camera rotation speed factor.
Movement Speed
  Camera movement speed factor.

#

### Orbit Camera Settings

Perspective Distance Limits

  Distance limits for the perspective camera. In Verge3D realm, "zooming" for the perspective orbit camera means "moving forward/backwards", thus distance limits assigned to such a camera indirectly affect the min/max limits of zooming.

  If you need to perform zooming by changing the camera field-of-view (FOV), while keeping the camera in place, use the set camera param puzzle.

Orthographic Zoom Limits
  Zoom limits for the orthographic camera. In Verge3D realm, "zooming" for the orthographic orbit camera means "making camera volume larger/smaller". The camera itself don't move.
Vertical Angle Limits
  These values limit the vertical (up-down) camera rotation.
Horizontal Angle Limits
  These values limit the horizontal (left-right) camera rotation.

#

### First-Person Settings

The following settings allow you to setup first-person camera controls without using Puzzles or JavaScript.

Collision Material

  Collision material which will be used to control the zone the camera can move within. Basically, the zone above this material is allowed, all other places including empty is forbidden. If you don't specify this value, the camera will operate in free-flight mode — Flying.

  If you don't want the collision object to be visible to the user, just hide it in Maya.

Gaze Level
  First-person camera "gaze" (or "head"/"eyes") level.
Story Height
  Maximum height of the story. Specify if you need multiple floors in your scene, such as two-level cottage or large shopping mall.
Enable PointerLock
  Enable the pointer lock feature to capture the mouse pointer upon app start. The user should click somewhere on the screen to lock up the cursor and move in 3D space without the need to click/drag with the mouse buttons.

First-person collisions are handled by Verge3D runtime and thus do not require activating physics engine module.

For usage example, check out the Firstperson Camera demo (source files available in the Asset Store).

#

### Rendering Settings

Render Background
  Enable to configure background color in Verge3D. See more information about this feature here.

#

## Fit to Camera Edge

Fit to Camera Edge is a technique to draw screen-space UI elements based on Maya models. This approach to UI design is more “native” to the 3D artist than using HTML/CSS, and does not require external tools. But there is more in it: since the UI elements are genuine 3D objects, you can apply shaders, lighting, animation, morphing – you name it – making them truly interactive and seamlessly integrated into the scene.

When you parent some object to the camera, the following settings appear on the Advanced Rendering panel:

Horizontal
  Horizontal canvas edge to fit object to. None — no horizontal fit, Left — fit to left edge, Right — fit to right edge, Stretch — scale object horizontally to fit on the screen.
Vertical
  Vertical canvas edge to fit object to. None — no vertical fit, Top — fit to top edge, Bottom — fit to bottom edge, Stretch — scale object vertically to fit on the screen.
Shape
  Canvas fit shape. Box — use object's bounding box, Sphere — use object's bounding sphere to fit the object on the screen, Point — ignore object boundings and use its center to fit the object on the screen.
Fit Offset
  Additional offset used to fit object on the screen. Effectively, this value extends object bounding (box or sphere) by the specified absolute value.

#

## Camera Control with Puzzles

You can use camera puzzles to control your camera in real time.

## Got Questions?

Feel free to ask on the forums!