Object2Lua
如何在 nanos world Forge 中使用 Object2Lua 工具
Object2Lua 是 nanos world Forge 中的一个工具,用于将虚幻引擎的蓝图资产转换为 Lua 表。
如何使用
- 从 Forge 中心打开 Object2Lua。
- 在内容浏览器中,选择一个蓝图资产(例如数据资产、蓝图类)
- 单击 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_MyItem 或 PDA_MyJob。
接着,你可以向该类添加变量,用以代表数据资产的属性,如 name、description 、icon 等。
创建数据资产
拥有主数据资产类后,你可以在内容浏览器中右键单击,并在 Miscellanous 中选择 Data Asset 来创建实际的数据资产:

选择你之前创建的主数据资产类作为基类:
现在,你终于可以填写数据资产的属性,并使用 Object2Lua 进行转换了!
数据资产示例输出
作为示例,假设我们有一个名为 PDA_Job 的主数据资产,它包含 name、description、salary 和 team 等属性。 其中 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
}