【UE5】将蓝图实现转换为Unlua实现的方法

文章介绍了如何下载Unlua并将其插件集成到UE项目中,通过Unlua工具栏导出智能提示,然后在VSCode中利用LuaBooster扩展进行Lua代码的智能联想。当蓝图有改动时,需要更新智能提示文件。文章还展示了如何查找和调用UE库中的函数,如SpawnSystemAttached,并强调在调用UE库函数时需前缀UE.
摘要由CSDN通过智能技术生成

前提

下载Unlua

  • 我们需要下载Unlua,并且将Unlua的插件部分复制到项目的插件文件下
  • 下载地址

实现Unlua的智能提示

  • 在文件中,智能提示相关的文档在UnLua/Docs/CN/IntelliSense.md

(1) 打开UnLua工具栏,点击导出智能提示,会在{UE工程}/Plugins/UnLua/Intermediate下生成IntelliSense的目录
在这里插入图片描述

(2) 可以将下载文件中的workspace复制过来,直接用VsCode打开工作区
在这里插入图片描述

在这里插入图片描述

  • 将这个工作区复制到项目就可以打开两个文件,Content/Scripts和插件下的 IntelliSense, 后者就是智能提示的文件

利用好智能提示

创建Unlua文件

在这里插入图片描述

  • 首先确保你把需要写lua的蓝图进行unlua绑定,同时创建了对应的文件在Content/Script文件夹里的对应路径下

更新智能提示文件

在这里插入图片描述

  • 如果你对蓝图有更改,如创建变量或者新的Event,最好再次更新智能提示文件

使用VsCode联想功能辅助

在这里插入图片描述

  • 推荐使用vscode商店里面的LuaBooster

智能提示联想

在这里插入图片描述

  • 这时候就可以在创建的lua文件里面输入self:,检查是否有智能提示了
self.Mesh:SetCollisionEnabled(UE.ECollisionEnabled.NoCollision)
  • 例子↑:UE. 是很常用的unlua方法,但是智能提示的加载会比较慢

结合搜索方法进行编程

在这里插入图片描述

  • 例子↑:在Unlua去实现SpawnSystemAttached

在这里插入图片描述

  • 将鼠标悬停,就会看到这个函数属于NiagaraFunctionLibrary这个库

在这里插入图片描述

  • 回到VsCode进行文件搜索,就能找到对应库下的对应函数
---@param SystemTemplate UNiagaraSystem
---@param AttachToComponent USceneComponent
---@param AttachPointName string
---@param Location FVector
---@param Rotation FRotator
---@param LocationType integer
---@param bAutoDestroy boolean
---@param bAutoActivate boolean @[opt] 
---@param PoolingMethod ENCPoolMethod @[opt] 
---@param bPreCullCheck boolean @[opt] 
---@return UNiagaraComponent
function UNiagaraFunctionLibrary.SpawnSystemAttached(SystemTemplate, AttachToComponent, AttachPointName, Location, Rotation, LocationType, bAutoDestroy, bAutoActivate, PoolingMethod, bPreCullCheck) end
  • 在文件中,对这个函数的每个参数都有明确的解释

调用函数

local SystemAttach = UE.UNiagaraFunctionLibrary.SpawnSystemAttached(self.SystemAttachedDissolve, self.Mesh, nil, UE.FVector(0,0,0), UE.FRotator(0,0,0), 0, true, true, 0, true) 
  • 这是一个非常长的句子,但并不复杂,只需要根据参数将需要的值填上就行了
  • 使用UE里的各种Library的时候,都需要在前面写上UE.,表示这是UE里的一个库。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值