我正在使用放大和缩小 camera 的脚本,但我已将其他 cameras POVs
添加到游戏中,因此我试图使该脚本适用于当前选定的 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);
}
}
回答1
此脚本更新当前的 camera。在 start()
和切换游戏 cameras 时运行它。
void UpdateCurrent() => cam = Camera.allCameras[Camera.allCamerasCount - 1];