SuperAPI AI 工具集

unity-input-correctness

通用与其它

查看项目

更新于 10-16 01:37

技能介绍

用途:面向 Unity 新输入系统(Input System)的正确性检查与模式参考,帮助识别并修正常见输入 bug,包括动作读取方式选错、新旧 API 混用、重绑定丢失、多人设备分配错误等。前置技能为 unity-input。

主要能力:

  1. 动作读取:一次性动作(跳跃、交互)用 WasPressedThisFrame() 或 triggered;持续动作(冲刺、瞄准)用 IsPressed();摇杆/鼠标增量用 ReadValue<Vector2>()。triggered 会遵循 Interactions,WasPressedThisFrame 为原始按下。
  2. 动作映射切换:PlayerInput.SwitchCurrentActionMap 会禁用上一映射;也可手动 Enable/Disable,或让多个映射同时启用(如 Pause)。
  3. 处理器与交互区分:Deadzone 等属于 Processor(改值),Hold/Tap 等属于 Interaction(改时序)。运行时可用 ApplyBindingOverride 覆盖处理器。
  4. InputValue 生命周期:SendMessages/BroadcastMessages 模式下 InputValue 会被复用,须在回调内用 Get<T>() 立即复制。
  5. 多源输入:多指触控、多手柄同动作需用 PassThrough 动作类型,Value 类型会做消歧只取最大幅度源。
  6. 启用范围:优先在映射层级 Enable/Disable,单动作启用会造成 map.enabled 为 false 而 action.enabled 为 true 的困惑状态。
  7. 按键提示:用 GetBindingDisplayString 获取当前绑定显示名,避免硬编码;图标映射需自行实现。
  8. 本地多人:用 PlayerInputManager 自动分配设备,不要用 Gamepad.current;监听 onPlayerJoined/onPlayerLeft。
  9. 控制方案自动切换:监听 controlsChangedEvent,用 currentControlScheme 更新提示。

使用方式:作为 Claude 技能加载,在编写或审查 Unity 输入代码时对照上述模式。

限制:资料未提供安装命令、收费信息或具体版本要求;部分 API 行为以 Unity 官方文档为准。