UnLua学习笔记

UnLua插件下载地址:GitHub - Tencent/UnLua: A feature-rich, easy-learning and highly optimized Lua scripting plugin for UE.

在github下载之后时一个完整的项目文件,打开项目文件是这样的,如下图

里面有一个射击的案例可以玩,我只是大概的看了一下,因为是入门我就按着我自己所想的记录一下,之前是没有接触虚幻的,是unity转的虚幻。

一、导入UnLua插件

打开引擎新建一个项目文件,找到项目文件的地址,然后把从github上下载的腾讯开源项目里面把Plugins文件一整个拖进自己的项目文件里面,这样我们就相当于是有这个插件了。如下图(没有把Plugins文件是复制进去的,其他的文件是项目自有的,我这里创建的是空项目,语言选的是c++)

二、关联Lua脚本

1、关卡关联

新建一个关卡,双击新建的关卡确保当前场景是我们新建的关卡,打开蓝图编辑器

 打开之后是这样的,我们顺带点击红色框选的Class Settings 

 到这只是继承了UnLua接口还没有与Lua脚本关联(记得点击左上角的Compile编译一下然后Save一下),如果是在项目文件打开的情况下把Plugins文件复制进去的,要重新启动一下项目,要不然继承UnLua接口的时候会找不到UnLuaInterface

回到前面看到的项目文件的截图里面去,找到我们的Content文件(这个文件存放的都是项目所需要的资源),点击进去可以看见Scripts文件,在没有把我们的Plugins文件,复制进去的时候,是没有Scripts文件的。可能是Plugins文件里面有UnLua插件所以在把Plugins文件复制进去的时候就自己生成了一个Scripts文件,点进去的时候里面有两个lua脚本 

 在这里我们有三个办法创建lua脚本(可能大家还有其他的),第一种创建方法,我在Scripts文件里面新创建了一个文件夹,叫做MyFirstLua(也可以在自己使用的IDE里面创建),然后在新建的文件夹里新建一个lua脚本(我这里是创建一个文本文档把文件后缀改为lua)

 再之后回到引擎里面(还是再关卡蓝图里),找到GetModuleName双击

 双击进去之后就可以看见下图这样的,把我们新建的lua脚本的路径放进去。lua脚本所在文件夹.脚本名字(以此类推,多个文件夹:文件夹名.文件夹名.脚本名)

第二种是在Ide里面创建,拿VSCode举例:新建文件,记得在后面加上.lua要不然就不是lua脚本,要是忘记了可以之后再加也可以。关联和上面是一样的

我还发现了一个比较好玩的,在我们关卡蓝图继承了UnLua接口之后(本来是想说第三种方法的),点击这个UnLua其实也是可以新建一个lua脚本,但是当我们第一次打开这个关卡蓝图关联UnLua接口,再点击这个UnLua发现没有新建lua脚本的命令,只有一个Bind选项【图一】(Bind选项就是会继承UnLua接口,前面我们是手动去绑定的,这里可以直接绑定,但是需要编译保存之后退出蓝图再进关卡蓝图就可以看见继承UnLua了),第二次打开的时候才有新建lua脚本模板的选项【图二】

 

 然后选择第二个选项就可以创建一个Lua脚本模板(芭比Q了,刚刚没有建成功,但是我早上的时候有新建成功来着【这里之后会详细记录一下】)我还是先上图吧,再在这里新建的lua脚本是下面图二这样的,前面说的那两种里面就是空白的

 最后测试是否关联成功,在lua脚本里面码上这些代码,然后保存去引擎里面运行

怎么查看是否打印出来了,根据下面的步骤

 打开这个窗口之后,运行就可以看到我们打印的东西(打印的东西太多,我就直接搜索了我们代码里面要打印的字符串)

 好了,这里就到此结束了,我也只是记录一下自己的学习

另外脚本里面的 Initialize 函数是重写了C++里面的 Initialize 函数。如果不是C++里面的函数那么就是纯Lua(因为我不太会,然后去问了导师,是我导师和我说的,这句话是我自己理解的,要是有错欢迎指正)

2、UMG关联Lua

UMG和Lua脚本关联和关卡和Lua脚本关联是一样的,只是新建Lua模板脚本里面的内容是不一样的

 

 要是通过Bind来继承UnLua接口的,打开没有反应在编译保存之后可以关掉在重新打开

 

 

 因为前面没有详细的说这种方式,这里就详细说了一下,其他的和前面关卡和Lua脚本关联差不多

UMG创建的Lua模板脚本是这样的,下图所示

 测试是否关联成功和关卡一样,关卡里面把UMG和关卡关联起来,然后在 Initialize 函数里面用一个输出语句输出一下

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值