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 是手感编程的关键。
- 轴动作的模拟量可做"推杆走、满杆跑",无需额外按键。
