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

Unity玩家相机环绕输入失效:点击仅触发一次求解决

问题分析与解决

问题根源在于Input.GetMouseButtonDown(0)的API特性:它仅在鼠标左键按下的第一帧返回true,所以不管你有没有保留后面的鼠标轴判断,这段逻辑都只会在点击瞬间触发一次,和后续的鼠标移动完全无关。

解决方法

把GetMouseButtonDown替换为GetMouseButton——这个API会在鼠标左键持续按住的每一帧都返回true,这样只要按住鼠标且有鼠标移动,逻辑就会持续执行:

if (Input.GetMouseButton(0) && (Input.GetAxis("Mouse X") != 0 || Input.GetAxis("Mouse Y") != 0))
{
    yAxis = rig.y_axis.localRotation;
    xAxis = rig.x_axis.localRotation;
    LookRotation();
}

额外优化提示

Input.GetAxis返回的是经过平滑处理的数值,有时候微小的鼠标移动可能会返回接近0但不是严格等于0的数值,如果你想让触发更灵敏,可以把判断条件改成检查绝对值大于一个极小阈值,比如:

Mathf.Abs(Input.GetAxis("Mouse X")) > 0.01f || Mathf.Abs(Input.GetAxis("Mouse Y")) > 0.01f

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 16:24:56