'Camera Zoom unity
I am using a script which zooms camera in and out, but I have added other cameras POVs to the game, so I am trying to make the script work for the current selected camera.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cameraZoomController : MonoBehaviour
{
private Camera cam;
private float targetZoom;
private float zoomFactor = 2f;
[SerializeField] private float zoomLerpSpeed = 10;
void Start()
{
cam = Camera.main;
targetZoom = cam.orthographicSize;
}
// Update is called once per frame
void Update()
{
float scrollData;
scrollData = Input.GetAxis("Mouse ScrollWheel");
//debug.log(scrollData);
targetZoom = targetZoom - scrollData * zoomFactor;
targetZoom = Mathf.Clamp(targetZoom, 0f, 10f);
cam.orthographicSize = Mathf.Lerp(cam.orthographicSize, targetZoom, Time.deltaTime * zoomLerpSpeed);
}
}
Solution 1:[1]
This script updates the current camera. Run it at start() and when switching game cameras.
void UpdateCurrent() => cam = Camera.allCameras[Camera.allCamerasCount - 1];
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | KiynL |
