You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Unreal Engine中如何模拟按键输入?以Left Alt自动触发为例

UE4模拟按键输入(含Left Alt)实现方案

UE4原生蓝图没有提供直接模拟按键输入的节点,可通过以下两种方案实现需求:

方案1:C++扩展暴露蓝图节点(最稳定,适配所有按键场景)

该方案仅需要编写少量C++代码,编译后即可直接在蓝图中调用,步骤如下:

  1. 若你的项目是纯蓝图项目,先点击顶部菜单栏文件 -> 新建C++类,选择任意父类(如Actor)完成创建,等待项目自动重启开启C++支持
  2. 新建Blueprint Function Library类型的C++类,命名为InputFuncLib
  3. 替换对应头文件和实现文件的代码:
// InputFuncLib.h
#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "InputFuncLib.generated.h"

UCLASS()
class 你的项目名_API UInputFuncLib : public UBlueprintFunctionLibrary
{
    GENERATED_BODY()
public:
    // 模拟按键按下
    UFUNCTION(BlueprintCallable, Category = "CustomInput")
    static void SimulateKeyPress(APlayerController* PlayerController, FKey Key);
    // 模拟按键松开
    UFUNCTION(BlueprintCallable, Category = "CustomInput")
    static void SimulateKeyRelease(APlayerController* PlayerController, FKey Key);
};
// InputFuncLib.cpp
#include "InputFuncLib.h"
#include "GameFramework/PlayerController.h"

void UInputFuncLib::SimulateKeyPress(APlayerController* PlayerController, FKey Key)
{
    if (IsValid(PlayerController) && PlayerController->IsLocalController())
    {
        PlayerController->InputKey(Key, IE_Pressed, 1.0f, false);
    }
}

void UInputFuncLib::SimulateKeyRelease(APlayerController* PlayerController, FKey Key)
{
    if (IsValid(PlayerController) && PlayerController->IsLocalController())
    {
        PlayerController->InputKey(Key, IE_Released, 1.0f, false);
    }
}
  1. 编译代码后打开蓝图,即可搜索到SimulateKeyPress和SimulateKeyRelease两个节点,传入玩家控制器、选择按键为Left Alt即可触发对应输入,注意按下后必须调用松开节点,否则按键会一直保持按下状态。

方案2:无C++变通方案

如果你的需求仅为触发Left Alt绑定的游戏逻辑,不需要真实模拟系统级按键输入,可以直接调用Left Alt输入事件绑定的自定义事件/函数,绕开按键模拟步骤即可实现相同效果。

注意事项

  • 模拟按键仅对本地玩家控制器生效,联网模式下服务器端无法触发客户端的按键输入
  • 该方法仅对游戏内自定义的输入绑定生效,无法触发UE编辑器默认快捷键
  • 如需模拟组合键,按顺序调用对应按键的按下接口,再反序调用松开接口即可

内容的提问来源于stack exchange,提问作者Dimitrios Ververidis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 09:36:07