Input Action:动作的定义

四种值类型

建 IA 时选 Action Type(值的类型):

类型 值 典型用途
Digital(Boolean) 0/1 跳跃、开火、交互、确认
Axis1D 一个 float 油门、刹车、缩放
Axis2D Vector2D 移动(前后+左右)、视角(俯仰+偏航)
Axis3D Vector3D 少见(VR 手柄空间移动)

选类型看"动作的物理量",不看按键。移动是 2D(因为摇杆本身是二维的,键盘也能合成 2D);开火是布尔(扣下/松开)。

事件阶段(所有动作通用)

同一动作的事件有五个阶段,蓝图里是一个节点的多个输出引脚:

阶段 何时触发 典型用法
Started 开始(按下但可能未满足 Trigger) 开始瞄准
Triggered 满足触发条件(如 Hold 满时长) 真正施放
Ongoing 持续中每帧(有值时) 持续移动/持续开火
Completed 正常完成(松开且触发过) 结束瞄准
Canceled 被打断(未触发就松开/被打断) 蓄力取消

新手最易忽略 Started 与 Triggered 的区别。Hold 类型动作:按下立即 Started,按满 0.5 秒才 Triggered,没按满松开则 Canceled。"蓄力进度条"用 Started 后每帧读 Hold Progress,这正是第 1 章迷思里提到的"交互提示按住进度"的做法。

触发值:Triggered/Ongoing 的数

  • 布尔动作:值恒为 1(触发);
  • 轴动作:值是修饰器加工后的模拟量(如摇杆推一半 = 0.5)。

蓝图里从 EnhancedInputAction 节点的 Action Value 引脚取值(结构体,按类型取 X/Y/Z)。"走路还是跑"由这个值乘速度决定,不用额外开火键(除非设计要)。

本章小结

  • IA 四类型:Boolean / Axis1D / Axis2D / Axis3D,按动作物理量选。
  • 五阶段:Started / Triggered / Ongoing / Completed / Canceled,区分 Started 与 Triggered 是手感编程的关键。
  • 轴动作的模拟量可做"推杆走、满杆跑",无需额外按键。