本节介绍InputSystem中的重要概念,有助于更好的理解、使用InputSystem,当你熟悉了这些概念后,你就能理解输入系统内可用的工作流程之间的区别,并选择最适合你项目的工作流程。
一个完整的游戏用户输入到脚本响应的流程如下:
其中的基础概念有:
概念 | 解释 |
---|---|
User(玩家) | 玩游戏的人,通过手持或触摸输入设备并提供输入 |
Device(输入设备) | 一件物理硬件,如键盘、游戏板、鼠标或触摸屏,允许用户向Unity发送输入 |
Controls(控件) | 一个输入设备的独立的个体部分,如游戏手柄的摇杆和触发器,鼠标按钮和滚轮 |
Interactions(交互) | 使用设备上的控制的不同方式,如按键按下,松开,长按或双击 |
Actions(动作) | 动作是玩家输入对应可以做的事情,与输入设备、控件、交互无关,是一个抽象概念,比如跳跃,蹲下,使用,开始,退出 |
Actions Asset(动作资产) | 动作的可配置文件,包含动作集合。可以绑定动作对应的控件和交互方式。 |
Embedded Actions(嵌入动作) | 使用脚本定义的动作,可以通过Inspector面板进行绑定,但不受Action Asset管理 |
Binding(绑定) | 一个动作和一个或多个控件的对应关系,比如“射击”动作可以和鼠标左键按下绑定。ActionAsset和Embeeded Actions都提供一个相似的UI界面来创建和编辑Binding |
高级概念有(可以之后结合案例理解):
概念 | 解释 |
---|---|
Processor(处理) | 输入系统对一个输入值进行的操作。例如,一个 "反转 "processor可以反转一个浮点值 |
Phase(状态) | 一项互动的当前状态,包括"开始"、"执行 "或 "取消" |
Action Map | 一个命名的Action集合。你可以同时启用或禁用一个动作图中的所有动作,通常我们分为Player和UI的ActionMap。 |
Control Schemes(控制方案) | ActionMap更上一层的概念,其中可以有多个ActionMap,Control Schemes一般与相关的设备类型有关,当用户使用该类型的设备时,可以自动启用它们。 |
以上的概念有可能有一些抽象,尤其是Action,Action Asset,Action Map,Embedded Actions,Binding,Control Schemes,在之后我们会分别展开进行讲解。