SuperAPI AI 工具集

unity-input

通用与其它

查看项目

更新于 10-16 01:37

技能介绍

用途:本技能面向 Unity 6 的新输入系统(Input System 包,Unity 6.3 对应 v1.19.0),用于处理玩家输入、控制、手柄、键盘、鼠标、触摸和 XR 控制器。它替代旧版 Input.GetKey/Input.GetAxis 轮询 API,采用基于 Action、事件驱动的模型,将输入用途与设备控制分离,命名空间为 UnityEngine.InputSystem。

主要能力:支持 Action 与 Action Map 组织输入;通过 Input Action Asset(.inputactions,JSON 格式)配置动作、绑定与控制方案,并可生成类型安全的 C# 类;PlayerInput 组件可将动作映射到脚本方法,支持本地多人、设备过滤与分屏;支持手柄(DualShock 3/4、DualSense、Xbox、Switch Pro)、键鼠、触摸(Touchscreen 与 EnhancedTouch API)及 XR;支持运行时重绑定、交互(Press、Hold、Tap、SlowTap、MultiTap)与处理器;提供设备连接事件 InputSystem.onDeviceChange。

使用方式:通过 Package Manager 安装 Input System;在 Project Settings 中创建项目级 Action Asset;脚本中可用 InputSystem.actions.FindAction("Move") 获取动作,用 ReadValue<T>() 轮询或订阅 started/performed/canceled 回调;也可用代码创建 InputAction 并 AddBinding/AddCompositeBinding。动作默认禁用,需调用 Enable(),修改绑定前需 Disable()。

适用场景:需要跨平台、多设备、可重绑定或本地多人的 Unity 游戏与交互应用。

限制与注意:动作未 Enable 不响应;回调需在 OnDisable 中取消订阅;访问 Gamepad.current 等需判空;InputValue 仅在回调期间有效;生产环境不建议用 SendMessages 行为;EnhancedTouch 需先启用。具体版本与平台细节以官方文档为准。