CameraBot Zoom section setup

This session is made for the zooming camera, the panel you may visualize in video will look like this:


“Distance (+/-)”
The total distance allow to move, based on orbit camera position as origin point,
E.g.1) Distance = 2, which mean forward -2 and backward +2, total length is 4f.
E.g.2) Distance =1, which mean forward -1 and backward +2, total length is 2f.

This value will affect the input zoom value (MouseWheel), to scale up/down based on your setting.

/// <summary>In order to control camera you need to giving the following values.</summary>
/// name="keyHorizontal">keyboard horizontal value, rotate orbit yaw angle.</param>
/// <param name="keyVertical">keyboard vertical value, rotate orbit pitch angle.</param>
/// <param name="mouseHorizontal">mouse horizontal value, rotate orbit yaw angle.</param>
/// <param name="mouseVertical">mouse vertical value, rotate orbit pitch angle.</param>
/// <param name="mouseWheel">mouse wheel value, for camera zooming usage.</param>
public void UpdatePosition(float keyHorizontal, float keyVertical, float mouseHorizontal, float mouseVertical, float mouseWheel)

above is the UpdatePosition() API, parameter “mouseWheel” representing the raw input value, this speed only affect the local preset setting.
therefore you can set different across different camera preset.

“Forward / Backward”
The maximum values for these parameters are limited to “Distance(+/-)”, forward is “negative” (<0), backward is “positive” (>0),
and Zero (== 0) is not allow to move on that direction, therefore setting both forward & backward to Zero (==0), will result in fix position.
however we recommend to disable this feature by setting “Distance(+/-)” to Zero. less performance cost for that condition.

“Enable Rebound”
The major feature for zoom section, to toggle rebound feature.
by enable this feature, developer will allow to control the camera behavior: when and how to return it origin distance of orbit camera position.

“Rebound Delay”
The delay time to trigger rebound action for the camera angle. Each time player start input or calling UpdatePosition() APi, will reset the count down of rebound.
Rebound will start to count down based on this delay values, right after the player stop the input stream. (stop control camera angle)
after count down finish the rebound process will start.
E.g. Rebound Delay = 1.3, is representing after player stop input stream and wait 1.3 seconds, the rebound process will start.

“Rebound Period”
How long it will take from current distance to travel back to origin distance, unit on second(s).

“Rebound Curve”
The motion will based on this value. from left to right, current distance should be Zero (0.0f), and origin distance should be One (1.0f)
the animation curve time length will scale based on “Rebound Period”, we recommend alway setting this animation curve
time := within 0 ~ 1 seconds,
value := within 0 ~ 1 units.

“Sync with angle”
by enable this feature, zoom rebound will wait until “Clamp angle rebound” happen, which mean even zooming delay is Zero or smaller than “Clamp angle delay”, zoom rebound will only happen on player stop changing zoom values AND player stop changing any camera angle AND clamp angle rebound are ready to perform. however the zoom section’s rebound period will not sync with clamp angle rebound period.