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

Mathf.Clamp导致Unity WASD控制相机移动异常仅能斜向移动问题

问题原因

你的代码存在参数填写错误,直接导致Z轴坐标被错误覆盖:
你在最后一行对相机Z轴坐标做范围限制时,错误将transform.position.x作为了Mathf.Clamp的第一个输入参数,相当于每帧都会把Z轴坐标强行替换为X轴坐标经过minZ/maxZ限制后的结果,X和Z轴数值始终保持同步,自然只能斜向移动。

修复方案

把Update方法的最后一行代码替换为以下内容即可:

transform.position = new Vector3(Mathf.Clamp(transform.position.x, minX, maxX), transform.position.y, Mathf.Clamp(transform.position.z, minZ, maxZ));

可选优化

你当前使用的Input.GetKeyDown仅会在按键按下的瞬间触发一次移动,每次按下只能移动固定距离,如果需要实现按住按键持续移动的效果,可以把所有Input.GetKeyDown替换为Input.GetKey。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:42:00