[原创]UnLua Emmylua UE4开发环境搭建

https://www.cnblogs.com/sevenyuan/p/11990776.html

前言

  公司开发的第二个虚幻4项目已经上线了,慢慢趋于稳定。回想起开荒的日子,历历在目。从引擎脚本的选择,各工具(导表,协议生成...)的重构、开发, 引擎扩展(多骨骼支持,Notify扩展,技能编辑器...),UMG蓝图的设计、适配,战斗Demo的创建,开发流程的接轨,功能堆砌,人员一波波的更迭...

  回到正题,18年中,立项的时候,UE4的脚本语言都在实验期,没有成熟的,Python、JS V8、Lua等等开源的脚本也都测试过,最终选择了Lua,主要是基于:

1、Lua语言在游戏业的广泛引用性。确认不远的将来会有更稳定、程序的框架

2、UE3老项目战斗Lua的继承

  最终框架使用了unreal.lua, https://github.com/asqbtcupid/unreal.lua, 感谢大大。最近也一直在关注腾讯游戏的lua开源框架,slua和UnLua,现在有时间了,所以来研究下,为新项目最准备。

一、相关源码获取

1,UnLua: https://github.com/Tencent/UnLua

2,Emmylua: https://github.com/EmmyLua/IntelliJ-EmmyLua

3,LuaSocket: https://github.com/diegonehab/luasocket

4,Lua5.3: https://www.lua.org/ftp/

5,MobDebug: https://github.com/pkulchenko/MobDebug/tree/master/src

二、LuaSocket搭建

1、编译Lua5.3.4

  Lua源码目录创建install.bat

[原创]UnLua Emmylua UE4开发环境搭建

REM open `Developer Command Prompt For Visual Studio`
REM install.bat 5.3.4

%~d0
cl /MD /O2 /c /DLUA_BUILD_AS_DLL *.c
ren lua.obj lua.o
ren luac.obj luac.o
link /DLL /IMPLIB:lua53.lib /OUT:lua53.dll *.obj
link /OUT:lua.exe lua.o lua53.lib
lib /OUT:lua53-static.lib *.obj
link /OUT:luac.exe luac.o lua53-static.lib

del *.obj
del *.o

REM bin
if exist ..\bin (
    rd /s /q ..\bin
)
mkdir ..\bin
move *.exp ..\bin
move *.dll ..\bin
move *.exe ..\bin

REM lib
if exist ..\lib (
    rd /s /q ..\lib
)
mkdir ..\lib
move *.lib ..\lib

REM include
if exist ..\include (
    rd /s /q ..\include
)
mkdir ..\include
copy lauxlib.h ..\include
copy lua.h ..\include
copy lua.hpp ..\include
copy luaconf.h ..\include
copy lualib.h ..\include

PAUSE

[原创]UnLua Emmylua UE4开发环境搭建

  启动x64 vs命令行,执行install.bat

  [原创]UnLua Emmylua UE4开发环境搭建

   bin目录加入Path

2、编译LuaSocket

  a、打开sln,选择x64,指定Lua的include和lib目录,编译生成core.dll

  b、复制socket文件夹(带着core.dll)到lua bin目录,这个文件夹后续也要复制在游戏引擎目录

  c、复制src中的lua文件到lua bin目录

3、测试

  [原创]UnLua Emmylua UE4开发环境搭建

三、Emmylua搭建

1、安装IntelliJ IDEA

2、编译Emmylua

  Emmylua源码目录下: gradlew buildAll

3、IDEA 安装Emmylua

  [原创]UnLua Emmylua UE4开发环境搭建

  [原创]UnLua Emmylua UE4开发环境搭建

4、设置IDEA配置

  a、取消代码拼写错误检测

  [原创]UnLua Emmylua UE4开发环境搭建

 5、启动debug调试

  新建运行配置

  [原创]UnLua Emmylua UE4开发环境搭建

  运行

  [原创]UnLua Emmylua UE4开发环境搭建    [原创]UnLua Emmylua UE4开发环境搭建

四、引擎、UnLua配置

1、UnLua源码置于Plugins下

2、复制socket文件夹(带着core.dll)复制到 Engine\Engine\Binaries\Win64

3、Lua脚本Content\Script目录下,创建debugger文件夹,将LuaSocket源码下的lua复制进来

[原创]UnLua Emmylua UE4开发环境搭建

4、MobDebug.lua也复制进来,修改Socket路径

[原创]UnLua Emmylua UE4开发环境搭建

 5、UnLua.lua中require MobDebug

[原创]UnLua Emmylua UE4开发环境搭建

 

 

五、OK,IDEA加上断点调试

[原创]UnLua Emmylua UE4开发环境搭建

 

 

 

 

 

 

 

 

 

 

 

相关文章:

  • 2021-06-29
  • 2022-12-23
  • 2021-09-24
  • 2021-11-09
  • 2021-08-19
  • 2021-07-05
  • 2021-09-12
  • 2022-12-23
猜你喜欢
  • 2022-01-06
  • 2021-04-28
  • 2021-05-18
  • 2021-12-20
  • 2021-04-08
  • 2022-02-09
  • 2021-07-19
相关资源
相似解决方案