Table of Contents

All Controls Explained

The main script component OrbitalCameraSystem is divided into multiple foldable sections.

Note

Input bindings (mouse buttons, keys, and touch gestures) live on separate input components, not on the main script. See Legacy Input Components or New Input System Components, depending on which backend you're using.

Basic Rig

Contains the references to the 3 objects in the rig structure. You would normally never need to modify this.

Rig section of the OrbitalCam Inspector

Camera Position

Controls the initial rotation, tilt, and zoom distance for the camera.

Beware that the initial values can only be within the limits set in the Settings section.

Camera Position section of the OrbitalCam Inspector

Speeds

  1. Adjust Movespeed by Camera Height will automatically speed up the keyboard and button controls for movement, the higher the camera is above the ground. The drag movement with mouse or touch is not affected.

  2. Edge Scrolling Speed.

  3. Key / UI Button Movement Speed: meters per second (adjust movespeed by camera height will affect the actual speed).

  4. Key / UI Button Rotate and Tilt Speed: degrees per second.

  5. Key / UI Button Zoom Speed: meters per second (when zoom method is linear).

  6. Mouse Rotate Speed: multiplier for pointer-drag rotation/tilt (mouse middle-button or two-finger touch).

  7. Max Mouse Move Speed: maximum movement speed while dragging the ground. To prevent insane movement speeds when dragging near the horizon.

  8. Mouse Zoom Speed: multiplier for pointer-driven zoom (mouse wheel or touch pinch).

  9. Default Animation Time: default duration when using the Public API animated methods.

  10. Pointer Rotate Smooth Time / Pointer Move Smooth Time: smoothing applied to pointer drag input. Higher values give a softer feel; 0 disables smoothing all together.

Speeds section of the OrbitalCam Inspector

Settings

  1. The minimum and maximum tilt angle. Note that the max angle is clamped at 88 degrees. This is to avoid gimbal lock.

  2. Zoom Method:

  • Linear - the camera moves a fixed amount with each scroll/pinch
  • Exponential - the camera moves a percentage of the distance to the target with each scroll/pinch. This will speed up the movement the further you get from the ground. Ideal for very large zoom ranges.
  1. Linear Zoom Scaling Factor (shown only when Zoom Method is Linear): scales the distance moved per scroll/pinch unit. Use this to adjust the linear zoom feel separately from the other zoom-speed multipliers.

  2. The minimum and maximum zoom distances. Note: the minimum is clamped at 0.001.

Settings section of the OrbitalCam Inspector

Special Features

  1. Use the Bounding Box to set a rectangular perimeter from which the camera rig cannot escape.

  2. Follow Terrain Height will keep the camera level with the terrain. Set the Terrain Layer Mask to pick only the geometry you want to affect the camera rig position (fx. the water and the ground, but not the trees or the buildings). This will also reduce the performance costs of the raycast. Adjust Follow Speed to control how quickly the camera rig moves up/down towards the terrain surface.

  3. Follow Target will make the camera origin follow a Transform around. While following, the Follow Terrain Height feature is disabled, and the player cannot move the camera manually. Follow Speed controls how quickly the camera moves towards the target. Note: this feature can also be set/unset via the Public API.

  4. Stepped Rotation World Snap. When enabled, the step rotation input snaps the camera to the next world-aligned grid angle in the step direction, rather than rotating relative to its current angle. The World Offset shifts the snap grid (fx. an offset of 45° on Rotate makes the grid 45°/135°/225°/315° instead of 0°/90°/180°/270°). Tilt snap is clamped to the Settings → Min / Max Tilt Angle range; out-of-range targets are skipped.

Special Features section of the OrbitalCam Inspector