UE5和UnLua学习踩坑记录

前言

原本为Unity开发工作者,跟着项目转为了UE开发,此帖子记录开发UE的踩坑记录,长期更新

报错

1. This project does not have any source code:

一般只需要在ue项目根目录下面创建一个Source文件夹,再点击uproject生成visual studio project

当生成VStudio项目后打开项目,如果有插件安装提示可以安装一下

2. 导入UnLua组件时,通过Visual Studio生成项目解决方案时报错:'WindowsCompiler' does not contain a definition for 'VisualStudio2019'

解决方式:将Visual Studio 版本判断注释掉

3. 完成上述第2条编译时报错

解决方式:在\Plugins\UnLua\Source\UnLua\Public\UnLuaTemplates.h文件中添加Templates/ChooseClass.h

UnLua导入和使用

UnLua导入项目

1. 在官网UnLua github下载之后解压到本地,文件结构如下

2. 将文件夹中的Plugins复制到虚幻项目的根目录中

*(如果复制后打不开项目则按照标*的步骤做)3. 打开如下路径的cpp头文件

*4. 在文件中添加一行代码,同时在Build.cs文件中对Visual Studio版本号判断注释掉

5. 用Visual Studio打开项目,并生成解决方案

6. 右键项目文件,点击生成Visual Studio项目文件

7. 点击运行虚幻项目文件

UnLua中Lua编码和调用

1. 蓝图中的函数,使用Lua覆盖并调用

创建一个Actor蓝图,这里命名为BP_Test

打开蓝图并创建一个函数,命名为MyTestFunction

2. 创建绑定

在蓝图中可以看到UnLua的选项,如图

点击Bind,会跳转到Get Module Name窗口中(标记1),在Return Value中填入该蓝图的路径,如图

填入之后保存并编译,我的蓝图路径是Content/BluePrints,则BP_Test.lua模板代码的生成路径是Content/Scripts/BluePrints问价夹中,但UE项目是看不到lua文件的,可以在文件夹右键后在文件浏览中看到

3. 打开该文件,我的类名为MyTestClass,并通过MyTestClass:MyTestFunction()重写MyTestFunction,如图

4. 打开关卡蓝图

我们可以在关卡中生成Actor的实例并调用其中的函数,在关卡蓝图中做如下编辑保存,并编译即可

5. 点击游戏并运行,可以在Output Log中观察到我们的函数生效了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了实现UE4中的延迟功能,可以使用UnLua中的定时器实现。在UnLua中,可以使用定时器方法`Delay`来实现延迟执行某个函数的功能。通过调用`Delay`方法,并传入延迟时间和要执行的函数,即可实现延迟功能。具体步骤如下: 1. 在需要使用延迟功能的地方,调用`Delay`方法,并传入延迟时间和要执行的函数。例如: ```lua Delay(2, function() -- 在这里编写需要延迟执行的代码 print("Delayed execution") end) ``` 这段代码会在延迟2秒后执行函数内的代码。 2. 使用UnLua的定时器功能,可以在UnLua中创建一个定时器,通过调用`UnLua_AddTimer`方法来实现定时器的创建和管理。例如: ```lua local TimerHandle = UnLua_AddTimer(1, false, function() -- 在这里编写定时器需要执行的代码 print("Timer execution") end) ``` 这段代码会创建一个定时器,每隔1秒执行一次函数内的代码。 通过以上步骤,可以使用UnLua的定时器功能来实现UE4中的延迟和定时器功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [UE4中UnLua基础](https://blog.csdn.net/qq_37340753/article/details/121872880)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值