In below code, smoothing works very well with X and Y axises (w-a-s-d), but somehow i can not smooth the zoom in and out (z axis, mouse wheel) with this code. What am i doing wrong?
Thanks in advance.
public float cameraMultiplierX, cameraMultiplierY, cameraMultiplierZ, cameraSmoothness;
private float camX, camY, camZ;
void Start ()
{
camX = 0;
camY = 0;
camZ = 0;
}
void Update()
{
Vector3 finalMovement = Vector3.zero;
/* -- Raw inputs -- */
float rawX = Input.GetAxis ("Horizontal") * cameraMultiplierX;
float rawY = Input.GetAxis ("Vertical") * cameraMultiplierY;
float rawZ = Input.GetAxis ("Mouse ScrollWheel") * cameraMultiplierZ;
/* -- Lerps -- */
camX = Mathf.Lerp (camX, rawX, cameraSmoothness * cameraMultiplierX);
camY = Mathf.Lerp (camY, rawY, cameraSmoothness * cameraMultiplierY);
camZ = Mathf.Lerp (camZ, rawZ, cameraSmoothness * cameraMultiplierZ);
/* -- Final application -- */
finalMovement = new Vector3 (camX, camY, camZ);
mainCamera.transform.Translate(finalMovement * Time.deltaTime);
}