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

Unity新输入系统移动端PlayerController脚本运行异常问题求助

Unity新输入系统移动端适配解决步骤
  • 检查输入动作资产绑定配置
    你当前的脚本仅完成了新输入系统的逻辑注册,缺少移动端输入源和动作的绑定操作:
    打开你创建的ZombieInputAction输入动作资产,分别给Movement、Jump动作添加对应移动端控制绑定:
    • Movement动作新增绑定,控制路径选择虚拟摇杆(On-Screen Stick) 对应路径,也可根据需求绑定触摸滑动、重力感应等输入源
    • Jump动作新增绑定,控制路径选择虚拟按钮(On-Screen Button) 对应路径
      完成配置后勾选输入动作资产右上角的Auto-Save保存设置。
  • 场景内添加对应UI控件
    在场景激活的Canvas画布下新建两个UI对象,分别挂载On-Screen Stick(用于移动)、On-Screen Button(用于跳跃)组件:
    • 把ZombieInputAction资产中对应配置好的Movement、Jump动作分别拖到两个组件的Action字段中
    • 调整UI控件的位置、大小适配移动端屏幕显示
  • 检查项目输入配置
    打开Edit > Project Settings > Player > Other Settings,找到Active Input Handling选项,确保选择的是Input System Package (New)或者Both,仅选择旧输入系统时新输入系统不会生效。
  • 测试排查逻辑问题
    你可以先在移动端运行时查看控制台输出:
    • 如果能正常输出Movement Values的坐标值、Jump日志,说明输入绑定已生效,你只需要补充把movement.ReadValue<Vector2>()转化为角色位移的逻辑即可
    • 如果没有相关日志输出,可在脚本Awake方法中添加Debug.Log(Touchscreen.current != null ? "触摸设备识别成功" : "未识别到触摸设备"); 确认移动端触摸输入源是否被正常识别。
  • 常见遗漏项检查
    • 确认挂载PlayerController脚本的对象在场景运行时处于激活状态
    • 确认虚拟摇杆、按钮所在的Canvas在移动端运行时处于激活状态,没有被其他UI遮挡
    • 确认所有输入动作在OnEnable中都完成了启用操作,没有漏绑事件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:15:06