[原创]UnLua Emmylua UE4开发环境搭建
前言
公司开发的第二个虚幻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
REM open `Developer Command Prompt For Visual Studio`
REM install.bat 5.3. %~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
启动x64 vs命令行,执行install.bat

bin目录加入Path
2、编译LuaSocket
a、打开sln,选择x64,指定Lua的include和lib目录,编译生成core.dll
b、复制socket文件夹(带着core.dll)到lua bin目录,这个文件夹后续也要复制在游戏引擎目录
c、复制src中的lua文件到lua bin目录
3、测试

三、Emmylua搭建
1、安装IntelliJ IDEA
2、编译Emmylua
Emmylua源码目录下: gradlew buildAll
3、IDEA 安装Emmylua


4、设置IDEA配置
a、取消代码拼写错误检测

5、启动debug调试
新建运行配置

运行

四、引擎、UnLua配置
1、UnLua源码置于Plugins下
2、复制socket文件夹(带着core.dll)复制到 Engine\Engine\Binaries\Win64
3、Lua脚本Content\Script目录下,创建debugger文件夹,将LuaSocket源码下的lua复制进来

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

5、UnLua.lua中require MobDebug

五、OK,IDEA加上断点调试

[原创]UnLua Emmylua UE4开发环境搭建的更多相关文章
- 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...
- android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- node.js之开发环境搭建
一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这 ...
- (转载)JAVA敏捷开发环境搭建
整个软件项目分为四个环境 开发本地环境.开发环境.测试环境.IDC环境.和传统C++开发不一样的模式是多了第一个开发本地环境.这是为什么呢,因为目前大部分开发人员还是比较熟悉windows下开发.对于 ...
- Android开发环境搭建相关文章列表(转载)
Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1.0是2008年发布的,截止到目前为止Android已经更新Android5.0.1, ...
- eclipse python开发环境搭建
eclipse python开发环境搭建[非原创] 1.在www.eclipse.org官网下载Eclipse Classic 4.2.2,Win7 64位下载eclipse-SDK-4.2.2-wi ...
- Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】
http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...
- .NET 开发环境搭建
概述 在接下来的时间里,将会入手ASP.NET MVC这一专题,尽量用最快的时间,最有效的方法,分别从深度和广度上剖析这一专题,力求讲明白.讲透.以此来与大家分享,力求达到共同学习,共同交流,共同进步 ...
随机推荐
- C# 递增操作符 ++ --
记混了好几次,记录一下 递增操作符出现在操作数之前:先递增后赋值 ; int result; result =++count; Console.WriteLine($"count:{coun ...
- C#4.0的十种语法糖
https://www.cnblogs.com/dotnet261010/p/6055092.html
- 用友U9 刷新当前页面代码
this.Action.NavigateAction.Refresh(null, true);//刷新当前页
- VS报错,Metadata file 'xxx.dll' could not be found
错误提示“Metadata file 'xxx.dll' could not be found”步骤如下:1.右键单击解决方案,然后单击“属性”.2.单击左侧的配置.3.确保选中了它找不到的项目的“生 ...
- 我是如何一步步编码完成万仓网ERP系统的(十一)产品库设计 7.发布商品
https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...
- 关于django模型里面的__str__和__unicode__
python3 django模型里面 使用 __str__ 如果使用__unicode__是无效的 简而言之,就是__str__和__unicode__都是为了再管理站点中加载这个表时想显示什 ...
- i春秋——“百度杯”CTF比赛 十月场——EXEC(命令执行、带外通道传输数据)
查看源码得知由vim编写,所以查找备份以及交换文件 找到 /.index.php.swp ,下载后用vim -r恢复该文件即可得到源码 1 <html> 2 <head> 3 ...
- Linux(Centos7)安装Oracle11.2.0数据字典初始化,监听,网络,创建用户等部分配置
#创建数据字典和pl/sql包 @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catalog.sql; @/u01/app/oracle/produ ...
- 初学者git的用法
初学者github的用法 1.在github上创建一个自己的工程 2.按着上面的要求执行你的命令行 3.将你的代码放到这个已经创建了.git的文件夹中,执行git add . 系统出现如下错误:war ...
- Idea如何快速生成Junit测试类
测试是保证代码必不可少的环节,自己构建测试方法太慢,并且命名也不规范,idea中提供了,一键构建测试结构的功能... 2.步骤 1.在需要做测试的类的当前窗口,直接按快捷键:按ctrl+shift+t ...