sluaunreal插件的作用这里就不多介绍了,它的github地址是:https://github.com/Tencent/sluaunreal
首先clone项目,并把tag修改为对应支持ue版本,我这里是ue4.22,所以用1.1的tag
git clone https://github.com/Tencent/sluaunreal.git
git tag //查看版本
git checkout 1.1
创建一个UE4的c++的空项目或者打开目标C++项目 将clone的sluaunreal中的Plugins和Tools文件夹拷贝进项目文件夹中
复制sluaunreal/Source/xx.Build.cs文件如下代码替换到项目/Source/xx.Build.cs中
重新编译:
编译完成后重启UE项目 发现上方多了该图标说明启用成功了
接下来再来创建GameInstance类
将sluaunreal下的MyGameInstance.h和.cpp复制替换,需要注意的是要把.h中的项目名改回来
然后在projectSettings中修改游戏实例为MyGameInstance
然后就可以编写lua文件了
在项目Content文件夹下创建文件夹名为Lua,然后用vscode打开Content文件夹,在Lua文件夹下创建MyPawn.lua,代码如下:
local pawn = {}
function pawn:ReceiveBeginPlay()
print("this is MyPawn print")
end
return pawn
然后打开UE4在Content中创建BP文件夹,在其中创建类蓝图名为BP_MyPawn,选择父类为LuaPawn:
slua中的luaFilePath设置为刚写的MyPawn,编译保存。
将该类蓝图拖入关卡中,AutoPossessPlayer设为player0
最后运行,如果在输出面板中输出了lua脚本中编写的输出语句则说明成功了。
学习视频:https://www.bilibili.com/video/BV1Vi4y1V7ZS?from=search&seid=5955238818895093526[/scode]
补充 如果目标项目是蓝图项目,可以先随便创建一个c++Actor,ue4就会自动创建一个c++工程,然后重复以上步骤即可。