You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复2D相机滚轮缩放时orthographicSize闪烁复位问题

2D相机缩放闪烁问题修复

问题根源

你当前的代码每次都会直接将orthographicSize设置为(Input.mouseScrollDelta.y + 11) * -1,这意味着不管当前相机的缩放状态如何,每次滚动滚轮都会强制把缩放值重置到和11绑定的固定数值,而非在当前缩放基础上调整,这就是导致闪烁并恢复初始值的原因。

修复代码

将赋值逻辑改为基于当前orthographicSize进行增量调整,再保留你的范围限制逻辑:

// 基于当前缩放值调整:滚轮向上(y为正)时缩小orthographicSize(画面放大),向下(y为负)时增大(画面缩小)
Camera.main.orthographicSize -= Input.mouseScrollDelta.y;

// 限制缩放范围,防止无限缩放
if (Camera.main.orthographicSize < -50)
{
    Camera.main.orthographicSize = -50;
}
if (Camera.main.orthographicSize > -1)
{
    Camera.main.orthographicSize = -1;
}

额外提示

通常Unity的orthographicSize默认是正数,值越小代表相机视野越小(画面放大),值越大视野越大(画面缩小)。如果你的负数设置是误操作,建议改为正数范围(比如1到50),调整逻辑保持不变即可,这样更符合Unity的常规使用习惯。

内容的提问来源于stack exchange,提问作者ThatGuyMatt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 23:25:18