输入系统的总览 (Input System Overview)
输入管理 (Input Management (FPEInputManager))
从First Person Exploration Kit插件的2.0版开始,所有输入都通过FPEInputManager预制体使用FPEInputManager.cs脚本来处理的。
这个新的系统在硬件和Unity的输入系统之间提供了一个抽象层,来使用这些输入。
虚拟化输入系统的主要优点是:可以将多个Unity输入或直接硬件输入,组合到一个虚拟按钮或轴(axis)中。
如果需要,你还可以将Unity输入检查与直接硬件输入检查,结合着使用。例如,一个Unity输入、一个硬件的按键,以及一个手柄摇杆都可以映射到单个按钮的状态。下游系统只需检查一个按钮的状态就可以了,如果添加了更多输入、输入定义或支持的硬件更改,则不必更改。
通过扩展现有的eFPEInput枚举,可以轻松地将新的虚拟按钮或轴添加到FPEInputManager脚本中:
如果需要,脚本中有一些专门用于“新的自定义输入”的部分。
添加新的虚拟按钮(virtual button)或轴(axis)之后,将它们添加到相应的集合(FPEVirtualAx或FPEVirtualButton)中,然后根据需要在Update()或FixedUpdate()中设置它们的值。
一旦定义了输入,你就可以随心所欲地更新它的状态。
在这里,我们对tab键进行直接的硬件检查,来更新输入的状态。但这个按钮也可以根据游戏手柄、Unity输入、硬件传感器或其他需要的东西来进行更新。
无论输入更新有多复杂,下游系统(如Player或Interaction控件)都可以检查单个虚拟输入的状态。在这里,我们检查新的输入并打印调试的消息。