跳转至

译注:相关链接尚未完善,访问时可能遭遇 404,你可以先 查看原文

基础概念

本页介绍了使用输入系统会涉及到的基础概念。也包括当用户向你的游戏或应用发送输入时发生的一系列事件步骤。输入系统已经实现了这些步骤,不过你也可以选择绕过输入系统来亲自实现其中的一部分步骤。

ConceptsOverview.png

概念 描述
用户(User) 游玩你的游戏,或使用你的应用程序的人。他们通过握持或触摸输入设备来进行输入。
输入设备(Input Device) 当我们在讨论输入相关的话题时,通常可以将其简称为“设备”或“外设”。这是指物理硬件设备,如键盘、手柄、鼠标或触摸屏。外设用于将用户输入发送到 Unity 中。
控件(Control) 输入设备上独立的各个部分,每个部分都能向 Unity 发送输入值。例如,手柄有多个按钮、摇杆和扳机控件;而鼠标有底部的 X 和 Y 轴传感器,以及顶部的各种按钮和滚轮控件
动作(Action) 动作是一个高级概念,用于描述用户在你的游戏或应用中可能会执行的具体操作,例如游戏中的“跳跃(Jump)”,或屏幕 UI 中的“选择(Select)”。动作是用户通过输入而在游戏或应用中可以执行的操作。凭借动作,你可以无需关心用户使用的是什么设备或控件。通常根据你的项目概念性名称来为动作命名,并且通常应该是动词。例如“跑(Run)”“跳(Jump)”“蹲下(Crouch)”“使用(Use)”“开始(Start)”“退出(Quit)”。
动作表(Action Map) 动作表可以将动作分成组,每一个分组代表了只有在某个特定场合内才有逻辑关联的一组动作。按照不同的场合来将动作分组成表在将来是非常有好处的,因为你可以同时启用或禁用某个动作表中的所有动作。例如,你可以用一个表来控制玩家动作,用另一个表来控制游戏 UI 交互。
绑定(Binding) 绑定定义了动作和特定设备控件之间连接关系。绑定主要分为两种类型:
  • 普通绑定(Normal bindings)根据 控件路径(control path) 直接绑定到一个或多个控件上。在运行时(runtime),只要路径匹配,任何控件都会将输入传递给该绑定。
  • 复合绑定(Composite bindings)不直接绑定某个控件本身。而是从各个子绑定(Part)中接收并计算它们的输入,然后返回一个值。例如,手柄上的右扳机键可以作为左摇杆值的强度乘数。
你的动作代码(Your Action Code) 根据你配置的动作来在脚本中执行的部分。在代码中,你可以获取动作的引用,并读取动作的当前值或状态(这也叫“轮询”);或者也可以设置一个回调,在执行动作时调用你自己写的方法。
动作资产(Action Asset) 一种资产类型,其中包含已设定的动作表配置、动作配置和绑定配置。你可以在项目中指定一个动作资产作为 项目全局动作(project-wide actions),随后可以在代码中使用 InputSystem.actions 轻松引用这些动作。