I have a zoom script, with two variables (minZoom, and maxZoom). These change the FOV of the camera. I want to have it so when you scroll down, to make the FOV bigger, and scroll up, makes it smaller but so it doesn’t go past the min and max zoom. And if you do answer, I will be very grateful! Cheers!
var anim : Animator;
var cam : Camera;
var gunCam : Camera;
var player : GameObject;
var minZoomAmount : float;
var maxZoomAmount : float;
var normalAmount : float;
var smooth : float = 5;
var look1 : Component;
var look2 : Component;
var look3 : Component;
var normalSensitivity : float = 5;
var zoomSensitivity : float = 1;
private var isZoomed = false;
var normalCross : GameObject;
var zoomCross : GameObject;
function Start()
{
anim.GetComponent(Animator);
look1 = cam.GetComponent("MouseLook");
look2 = player.GetComponent("MouseLook");
look3 = gunCam.GetComponent("MouseLook");
}
function Update()
{
if(Input.GetButtonDown("Zoom"))
{
isZoomed = !isZoomed;
}
var curZoom : float;
zoom = Input.GetAxis("Mouse ScrollWheel");
if(zoom > 0)
{
}
if(isZoomed == true)
{
cam.fieldOfView = Mathf.Lerp(cam.fieldOfView, curZoom, Time.deltaTime * smooth);
look1.sensitivityY = zoomSensitivity;
look2.sensitivityX = zoomSensitivity;
look3.sensitivityY = zoomSensitivity;
normalCross.SetActive(false);
zoomCross.SetActive(true);
}
else
{
cam.fieldOfView = Mathf.Lerp(cam.fieldOfView, normalAmount, Time.deltaTime * smooth);
look1.sensitivityY = normalSensitivity;
look2.sensitivityX = normalSensitivity;
look3.sensitivityY = normalSensitivity;
normalCross.SetActive(true);
zoomCross.SetActive(false);
}
anim.SetBool("Zoom", isZoomed);
}
sorry if its sorta messy