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

Unity 2019.4编辑器新输入系统触摸模拟事件未触发求助

解决Unity 2019.4新输入系统触摸事件未触发的问题

我仔细看了你的代码和配置,核心问题主要集中在InputAction未启用以及EnhancedTouch模块初始化缺失这两点,下面一步步帮你排查修复:

1. 必须手动启用你的InputAction

你只给_touch订阅了事件,但没有调用Enable()方法激活它——新输入系统的InputAction默认处于禁用状态,哪怕在Inspector里配置好了绑定,不启用就不会响应任何输入。

修改你的Awake方法,补充启用代码:

void Awake() {
    TouchSimulation.Enable();
    // 初始化EnhancedTouch模块(你引用了对应的命名空间,必须做这一步)
    EnhancedTouchSupport.Enable();
    _touch.started += OnTouch;
    _touch.performed += OnTouch;
    _touch.canceled += OnTouch;
    // 关键:激活InputAction
    _touch.Enable();
}

另外,为了避免内存泄漏,建议在脚本销毁时清理订阅和资源:

void OnDestroy() {
    _touch.started -= OnTouch;
    _touch.performed -= OnTouch;
    _touch.canceled -= OnTouch;
    _touch.Disable();
    TouchSimulation.Disable();
    EnhancedTouchSupport.Disable();
}

2. 检查编辑器触摸模拟的全局设置

虽然你代码里调用了TouchSimulation.Enable(),但保险起见可以确认全局设置是否开启:

  • 顶部菜单栏打开 Edit > Project Settings > Input System Package
  • 确认Enable Touch Simulation选项处于勾选状态

3. 验证Input Action的绑定是否生效

在Inspector面板里,确认你的_touch InputAction绑定是否正确:

  • 绑定类型应该是Touchscreen > Primary Touch下的对应动作(比如Press、Tap或Drag,根据你的需求选择)
  • 点击绑定右侧的"Listen"按钮,在Game视图里点击拖动鼠标,看是否能检测到输入信号,以此验证绑定是否正常

4. 确认新输入系统的安装适配

如果你是刚切换到新输入系统,需要确保:

  • 顶部菜单栏 Window > Package Manager 中,Input System包已安装,且版本适配Unity 2019.4(建议使用2.x系列版本,兼容性更好)
  • 切换输入系统时Unity提示的编辑器重启操作已完成

完成这些步骤后,你应该就能在Game视图里用鼠标模拟触摸,触发OnTouch方法并看到Debug日志了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 07:37:55