All Controls Explained
The main script OrbitalCameraSystem is divided into multible foldable sections:
The Rig
Contains the references to the 3 objects in the rig structure. You would normally never need to modify this.

Camera Position
Controls the intial rotation, tilt and zoom distance for the Camera.
Beware that the initial values can only be within the limits set in the Settings section.

Mouse
Toggle on/off the use of mouse for movement, rotation (around y-axiz) and tilt (height of the camera / angle looking down).
Pick which mouse buttons should be used for what. Note: you should not use the same mouse button for both features.
Toggle camera movement by edge scrolling. Default is off.
Toggle the use of mouse wheel for zoom.
Mouse Wheel Sensitivity: How much movement is provided from one turn of the scroll wheel. This is used to balance the speed between touch zoom and mouse zoom. The overall speed should be adjusted in the Speeds section.

Keyboard and UI Buttons
The keyboard and UI buttons function in a similar way: You hold a button, and while it is held, the action is performed. To allow for any number of keys and buttons, I have made a modular input component system for this. You can add as many input components you would like, each with their own key/button bindings.
Toggle on/off the use of input components for movement, rotation/tilt or zoom.
Use this button to add new input components.
Note: The input components can also be added with the objects own Add Component button. They are located under the Goehler Studios category.

Touch
Toggle on/off the use of touch for movement, rotation (around y-axiz) and tilt (height of the camera / angle looking down).
Pick which TouchGesture should be used for what. Note: you should not use the same touch gesture for both features.
Toggle the use of pinch gesture for zoom.
Pinch Sensitivity: How much zoom movement is provided from the pinch gesture. This is used to balance the speed between touch zoom and mouse zoom. The overall speed should be adjusted in the Speeds section.

Speeds
Adjust Movespeed by Camera Heightwill 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.Edge scrolling speed
Key and UI Button movement speed: Meters pr. second (when adjust movespeed by camera height is off)
Key and UI Button rotation/tilt speed: Degrees pr. second
Key and UI Button zoom speed: Meters pr. second (when zoom method is linead)
Mouse and Touch multiplier for rotation/tilt speed.
Maximum movement speed while dragging the ground. To prevent insane movements if dragging near the horizon.
Mouse and Touch zoom speed multiplier.
Default animation time when using the Public API.

Settings
The minimum and maximum tilt angle. Note that the max angle is clamped at 88 degrees. This is to avoid gimbal lock.
The 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.
The minumum and maximum zoom distances. Note: The minimum is clamped at 0.001.
Toggle to invert the X or Y axis of the rotation/tilt input vector.

Special Features
Prevent mouse and touch interaction while the pointer is over any UI element, like fx. a button.
Use the bounding box to set a rectangular perimeter from which the player can never escape.
Follow terrain height will keep the camera level with the terrain. This should be set up with a TerrainLayerMask to reduce the performance cost.
Locking the camera origin onto a target will ensure the camera follows that target around. It will also disable the
Follow Terrain Heightfeature, and prevent the player from moving the camera manually. Note: this feature can be set/unset via the Public API
