在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代码,运行即可。
?
结果如下:
|