前言
当我们开发一个VR时,有时希望监听一个手柄按键的点击事件,或者一个按钮的Value值等。但是每次有可能监听的按钮有不一样,有可能监听的值不一样,那么每次这么折腾,有点累了,难道就没有一个万能的方法,让我可以直接监听我想要的某个按钮的事件么?
答案是肯定的,今天我们就来解决这个问题。
新版InputSystem
在开始之前,我们先来回顾一下新版InputSystem,因为它才是我们今天的主角。
新版InputSystem有以下几个特点:
1.统一的输入处理:新版Input System提供了一种统一的方式来处理用户输入,无论是来自键盘、鼠标、手柄、触摸屏、VR设备还是其他输入设备,都可以通过同一套API来管理和处理。
2.InputAction的抽象层:通过InputAction可以将输入和操作(例如“移动”、“跳跃”、“攻击”等)进行抽象和封装,使得游戏逻辑与具体输入设备解耦,从而更容易进行输入的替换和配置。
3.支持多平台和多设备:新版Input System支持多种平台和设备,包括PC、移动设备、游戏主机以及VR/AR设备等,同时提供了对不同输入设备的适配和配置功能。
示例
比如我们想实现一个跳跃功能,
老版本的实现如下所示: