在UE4 4.25之前的版本中,无法使用蓝图调用python代码。
使用此方法在蓝图中调用Python代码。
蓝图工程中,开启python 插件。
新建一个C++类。
双击打开C++ actor,在VS的资源管理器中,找到xxxx.Build.cs。
添加PublicDependencyModuleNames.AddRange(new string[] { "Python", "PythonscriptPlugin" });
如下所示:
public class cppproject : ModuleRules
{
public cppproject(ReadonlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
PrivateDependencyModuleNames.AddRange(new string[] { });
//在此处添加下列代码
PublicDependencyModuleNames.AddRange(new string[] { "Python", "PythonscriptPlugin" });
}
}
在新建C++类 xxxx.h中 添加
UFUNCTION(BlueprintCallable, Category = "Unreal Python") static void MyPythonscript(FString Pythonscript);
在新建C++类 xxxx.cpp中 添加
void xxxx::MyPythonscript(FString Pythonscript) {
FPythonscriptPlugin::Get()->ExecPythonCommand(*Pythonscript);
}
编译,在蓝图中添加MyPythonscript,其中填写python代码,运行即可。
结果如下:



