输入系统的总览 (Input System Overview)

输入管理 (Input Management (FPEInputManager))

从First Person Exploration Kit插件的2.0版开始,所有输入都通过FPEInputManager预制体使用FPEInputManager.cs脚本来处理的。

这个新的系统在硬件和Unity的输入系统之间提供了一个抽象层,来使用这些输入。

ArchitectureInputManager.jpg


虚拟化输入系统的主要优点是:可以将多个Unity输入或直接硬件输入,组合到一个虚拟按钮或轴(axis)中。

如果需要,你还可以将Unity输入检查与直接硬件输入检查,结合着使用。例如,一个Unity输入、一个硬件的按键,以及一个手柄摇杆都可以映射到单个按钮的状态。下游系统只需检查一个按钮的状态就可以了,如果添加了更多输入、输入定义或支持的硬件更改,则不必更改。

通过扩展现有的eFPEInput枚举,可以轻松地将新的虚拟按钮或轴添加到FPEInputManager脚本中:

NewInput.jpg


如果需要,脚本中有一些专门用于“新的自定义输入”的部分。

添加新的虚拟按钮(virtual button)或轴(axis)之后,将它们添加到相应的集合(FPEVirtualAx或FPEVirtualButton)中,然后根据需要在Update()或FixedUpdate()中设置它们的值。

NewInputAdded.jpg


一旦定义了输入,你就可以随心所欲地更新它的状态。

在这里,我们对tab键进行直接的硬件检查,来更新输入的状态。但这个按钮也可以根据游戏手柄、Unity输入、硬件传感器或其他需要的东西来进行更新。

NewInputUpdate.jpg


无论输入更新有多复杂,下游系统(如Player或Interaction控件)都可以检查单个虚拟输入的状态。在这里,我们检查新的输入并打印调试的消息。

NewInputCheck.jpg

results matching ""

    No results matching ""