跳至正文
版本:bleeding-edge 🩸

Object2Lua

如何在 nanos world Forge 中使用 Object2Lua 工具

Object2Luananos world Forge 中的一个工具,用于将虚幻引擎的蓝图资产转换为 Lua 表。

如何使用

  1. 从 Forge 中心打开 Object2Lua
  2. 在内容浏览器中,选择一个蓝图资产(例如数据资产、蓝图类)
  3. 单击 Generate 输出 Lua 代码。

设置

该工具包含多项设置以自定义输出内容:

转换设置

设置描述
Full Gameplay Tags包含 GameplayTags 的完整游戏标签层级关系
Only Exposed Properties仅转换标记为 ExposedOnSpawn 的属性
Only Changed Properties仅转换与默认值不同的属性

格式设置

设置描述
Global Profile要使用的格式化配置文件。 参见 Lua 配置文件
Spaces Per Indent代码缩进所使用的空格数量
Pretty Print使用适当的空格和换行符来格式化输出的代码
Return Object在生成的 Lua 代码中包含 return 语句
Use Shared Table将独立的表合并为一个单表
Shared Table Name共用表的自定义名称
Smart Inline自动将小型数组和表进行内联化处理
Max Items for Inline集合被拆分换行前的最大元素数量
Max Length for Inline强制换行前的最大字符长度

示例输出

local MyObject = {
MyBoolean = true,
MyByte = 255,
MyInteger = 1234,
MyFloat = 15.78,
MyName = "None",
MyString = "这是一个字符串",
MyVector = Vector(1, 2, 3),
MyRotator = Rotator(2, 3, 1),
MyTransform = {
Location = Vector(1, 2, 3),
Rotation = Rotator(2, 3, 1),
Scale = Vector(1, 2, 3)
}
}

数据资产

Object2Lua 支持转换嵌套的数据资产。 如果你想创建复杂的数据结构,这通常是理想的选择。

创建主数据资产

主数据资产代表了数据资产的结构。 它包含你想要为数据定义的所有属性。

要创建它,你首先需要在内容浏览器中右键单击,并选择蓝图类

然后,选择 Primary Data Asset 作为父类:

该类可以加上前缀 PDA_ 以表明它是一个主数据资产,例如 PDA_MyItemPDA_MyJob。 接着,你可以向该类添加变量,用以代表数据资产的属性,如 namedescriptionicon 等。

创建数据资产

拥有主数据资产类后,你可以在内容浏览器中右键单击,并在 Miscellanous 中选择 Data Asset 来创建实际的数据资产:

选择你之前创建的主数据资产类作为基类:

现在,你终于可以填写数据资产的属性,并使用 Object2Lua 进行转换了!

数据资产示例输出

作为示例,假设我们有一个名为 PDA_Job 的主数据资产,它包含 namedescriptionsalaryteam 等属性。 其中 Team 是对另一个数据资产的引用。

当使用 Object2Lua 转换时,它看起来像这样:

local TeamPolice = {
name = "警察局",
color = Color(0, 0, 1, 1),
spawn_points = { Vector(100, 200, 0), Vector(120, 210, 0) }
}

local JobPolice = {
name = "警官",
description = "维系城市法律与秩序",
team = TeamPolice
}