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

使用Unity新Input System实现玩家移动,相关脚本是否存在错误?

排查清单

脚本层面可优化/检查点

  • 冗余变量movementZ没有用到,不会影响运行但可以直接删除
  • 公有的speed初始值设置为100偏大,若Rigidbody质量为默认值1kg会导致移动速度过快,建议先调整到5~10区间测试
  • 检查挂载脚本的GameObject上的Rigidbody组件配置:不要勾选Is Kinematic,不要锁定X、Z轴的移动权限,否则施加的作用力不会生效

Input System 配置检查点(即使你确认配置无误,也建议逐一核对)

  • 确认挂载移动脚本的Player对象上同时挂载了Player Input组件
  • 确认Player Input组件的Actions字段已绑定你创建的Input Action Asset资源
  • 确认Input Action Asset中存在命名为Move的Action,且该Action的类型设置为Value,控制类型为Vector2,已经绑定了对应输入设备的按键(比如键盘的WASD、方向键)
  • 确认Player Input组件的Behavior属性设置为Send Messages,只有该模式下Input System才会自动调用脚本中命名为OnMove的回调方法
  • 如果你将Behavior设置为Invoke Unity Events,需要手动在Player Input的事件列表中,将Move事件的回调绑定到你脚本的OnMove方法

快速定位问题方法

在OnMove方法中添加调试代码:Debug.Log(movementVector);,运行游戏后按下移动按键,观察控制台输出:

  • 有正常的坐标值输出:说明Input System配置正常,问题出在Rigidbody或移动逻辑层面
  • 无任何输出:说明Input System的配置仍然存在错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:45:07