新输入系统
优点
- 灵活配置:可针对不同设备、场景定制输入映射,适配多平台多设备。
- 开发高效:简洁 API 降低开发难度,提高效率,利于集中精力做核心开发。
- 监听强大:轻松监听各类输入动作,支持组合键、摇杆等复杂操作。
- 动态切换:能根据设备实时切换控制模式,提升玩家体验。
- 性能优化:高效管理输入事件,降低开销,保障游戏流畅。
- 跨平台强:良好兼容性,一套配置适配多平台。
- 适应未来:扩展性好,能适应 VR、AR 等新兴设备。
启用方式
安装
- Project Settings - Player
- Other Settings - Configuration - Active Input Handling
- Package Manager
- 安装Input System
添加资源
-
Assets - 右键Create - Input Actions
编辑输入映射
创建C#类文件
- 勾选上Generate C# Class
- 确认下面三个信息后点Apply
应用
处理移动输入
public class GameInput : MonoBehaviour
{
private GameControl gameControl;
private void Awake()
{
// 实例化输入控制并启用Player(Action Map)
gameControl = new GameControl();
gameControl.Player.Enable();
}
public Vector3 GetDirInput()
{
// 读取Player(Action Map)下Move(Action)的输入值
var inputVec = gameControl.Player.Move.ReadValue<Vector2>();
// 用输入值构造三维向量并返回
var moveDir = new Vector3(inputVec.x, 0, inputVec.y);
return moveDir;
}
}