虚幻引擎 Is Input Key Down 节点

Is Input Key Down 是虚幻引擎中一个非常实用的蓝图节点,用于实时检测某个特定按键当前是否正被按住。它非常适合实现“长按蓄力”、“持续冲刺”等需要判断按键持续状态的交互逻辑

下面是一个从零开始的完整操作案例,教你如何在第三人称模板中,用这个节点实现一个“按住Shift键冲刺”的功能。

🎯 最终效果

玩家在游戏中按住 Shift 键时,角色移动速度会提升;松开按键,速度恢复正常。

📝 操作步骤详解

第一步:项目准备

  1. 启动虚幻引擎5,创建一个第三人称(Third Person) 蓝图项目。

  2. 项目打开后,在内容浏览器中找到并打开 ThirdPersonCharacter 蓝图(通常位于 Content/ThirdPerson/Blueprints/ 目录下)。

第二步:添加“冲刺”逻辑

  1. 在 ThirdPersonCharacter 蓝图中,打开事件图表(Event Graph)

  2. 在图表中右键点击,搜索并添加 Event Tick 节点。这个节点每帧都会执行,适合用来持续检测按键状态。

  3. 从 Event Tick 节点的执行线(白色箭头)拖出,搜索并添加 Is Input Key Down 节点

  4. 在 Is Input Key Down 节点的 Key 输入引脚处,选择 Left Shift 或 Shift 键

  5. 为了控制速度,我们需要获取角色的移动组件:

    • 在图表中右键点击,搜索并添加 Get Character Movement 节点。

    • 从该节点拖出,搜索并添加 Set Max Walk Speed 节点。

  6. 现在,将逻辑连接起来:

    • 将 Is Input Key Down 节点的返回值(布尔值) 连接到 Set Max Walk Speed 节点的 New Max Walk Speed 引脚。这里需要进行一个类型转换(布尔值无法直接作为速度值输入)。

    • 右键点击 Is Input Key Down 节点的返回值引脚,选择 Convert to -> Float,这样 True 会被转换为 1.0False 转换为 0.0

    • 右键点击这个转换后的 Float 引脚,选择 Convert to -> Multiply,添加一个乘法节点。

    • 将乘法的另一个输入值设为 600.0(这是冲刺速度,原速度通常是 300.0 或 450.0)。

    • 将乘法的结果连接到 Set Max Walk Speed 节点的 New Max Walk Speed 引脚。

蓝图连线概览:
Event Tick -> Is Input Key Down (Key = Left Shift) -> (Bool to Float) -> (* 600.0) -> Set Max Walk Speed (Target 连向 Get Character Movement 节点)

第三步:编译与测试

  1. 点击蓝图编辑器左上角的 编译(Compile) 按钮。

  2. 点击 运行(Play) 按钮,在编辑器中游玩。

  3. 按住 Shift 键,你会感觉角色移动速度明显变快;松开后恢复原速。

⚠️ 注意事项

  • 关于“Any Key”的Bug:官方文档指出,Is Input Key Down 节点的 Key 参数如果选“Any Key”,节点可能永远不会返回 True。请务必指定具体的按键。

  • 性能考量:由于 Is Input Key Down 常在 Event Tick 中使用,如果需要检测的按键非常多,可能会带来轻微的性能开销。对于大多数游戏场景,这点开销可以忽略。

  • 输入焦点问题:如果节点失灵,检查是否在UI菜单等界面中禁用了玩家输入。需通过 Enable Input 节点确保正确的 Player Controller 启用了输入

  • 与增强输入系统的对比Is Input Key Down 适合简单的持续状态判断。对于更复杂的输入(如组合键、按住时长等),推荐使用虚幻引擎的增强输入系统(Enhanced Input System)

除了蓝图,你也可以在C++中使用 PlayerController 的 IsInputKeyDown() 方法实现同样功能

💎 总结

Is Input Key Down 节点是实现持续按键检测最简单直接的工具。通过上面的案例,你应该已经掌握了它的基本用法。你可以把这个逻辑用在长按开火、蓄力跳跃、持续对话等更多场景中。

感谢您的来访,获取更多精彩文章请收藏本站。

THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容