unity相机脚本 鼠标滚轮控制缩放

1.创建一个onWhellScroll函数并放在LateUpdate内(LateUpdate是内置函数与Update一样)

public class detailCameraHandle : MonoBehaviour
{

    [Header("查看目标")]  public GameObject target;
    [Header("鼠标滚轮速度")]  public float scrollSpeed = 50.0f; 
    [Header("缩放最小距离")]  public float minY = 100.0f; 
    [Header("缩放最大距离")]  public float maxY = 500.0f; 
    
    void LateUpdate()
    {
        onWhellScroll();
    }
    private void onWhellScroll() {
        float scroll = Input.GetAxis("Mouse ScrollWheel");

        // 根据鼠标滚轮的滚动信息来调整摄像机的位置
        Vector3 newPos = transform.position + transform.forward * scroll * scrollSpeed;

        // 限制摄像机的高度在minY和maxY之间
        newPos.y = Mathf.Clamp(newPos.y, minY, maxY);

        // 应用新的摄像机位置
        transform.position = newPos;
    }
}

2.保存、运行

猜你喜欢

转载自blog.csdn.net/qq_42266800/article/details/130312989