FBX Test Builder是自动化系统的一部分,使用该插件可为各个FBX文件创建自己的测试。FBX Test Builder为单个FBX文件创建测试计划(Test Plan)。使用该计划,可以执行导入或重新导入操作,并对照预期结果数组进行检查。创建的测试计划以JSON文件的形式存储,文件名与所测试的FBX文件相同,但扩展名不同。
使用FBX Test Builder创建测试计划,可以对FBX文件执行选定的操作,然后对照预期结果数组检查,以确定是否通过已完成的测试。
启用插件
在开始构建FBX自动化测试之前,需要先启用 FBXAutomationTestBuilder 插件。为此,请转至 编辑(Edit) > 插件(Plugins) > 测试(Testing)。
单击查看大图。
在启用插件后,需要重新启动虚幻引擎才能对其进行访问。
单击查看大图。
要访问FBX Test Builder,请从"文件"菜单中选择 窗口(Window) > 自动化工具(Automation Tools) > FBX Test Builder。
单击查看大图。
创建测试计划
使用FBX Test Builder时,它执行选定的 Action (或操作),并通过一系列 预期结果(Expected Results) 确定给定FBX文件是否通过测试。这组操作和结果称为 测试计划(Test Plan)。
操作
每个测试计划可以执行五个主要操作。每个操作都有其自己的条件,只有满足条件才能正确执行测试。 这些操作及其条件概述如下:
| 操作 | 步骤 |
|---|---|
| 导入(Import) |
|
| 重新导入(Reimport) |
|
| 添加LOD(细节层级)(Add LOD (Level of Detail)) |
|
| 重新导入LOD(细节层级)(Reimport LOD (Level of Detail)) |
|
| 导入加载(Import Reload) |
|
预期结果
对于每个测试计划,评估 预期结果(Expected Results) 列表以确定是否通过测试。
| 设置 | 说明 |
|---|---|
| 预期预设类型(Expected Presets Type) | 应检查的预定义数据。详见下文 |
| 预期预设数据整型(Expected Presets Data Integer) | 输入应为指定的FBX文件检查的预期整型数值。 |
| 预期预设数据浮点型(Expected Presets Data Float) | 输入应为指定的FBX文件检查的预期浮点型数值。 |
| 预期预设数据双精度浮点型(Expected Presets Data Double) | 输入应为指定的FBX文件检查的预期双精度浮点型型数值。 |
| 预期预设数据字符串型(Expected Presets Data String) | 输入应为指定的FBX文件检查的预期字符串型数值。 |
预期预设类型
| 检查类型 | 说明 | 要求的数据类型 |
|---|---|---|
| 错误数量(Error Number) | 数据应包括错误数量[int0]。 | 整型 |
| 警报数量(Error Number) | 数据应包括警报数量[int0]。 | 整型 |
| 创建的静态网格体数量(Created Static Mesh Number) | 数据应包括创建的静态网格体数量[int0]。 | 整型 |
| 创建的骨架网格体数量(Created Skeletal Mesh Number) | 数据应包括创建的骨架网格体数量[int0]。 | 整型 |
| 创建的材质数量(Materials Created Number) | 数据应包括在目标"内容"文件夹中创建的材质的数量[int0]。 | 整型 |
| 材质槽导入名称(Material Slot Imported Name) | 数据应是槽索引[int0]和预期初始导入材质槽名称[string0]。 | 整型和String型 |
| 顶点数量(Vertex Number) | 数据应是所有LOD的顶点总数[int0]。 | 整型 |
| LOD数量(LOD Number) | 数据应是LOD预期数量[int0]。 | 整型 |
| 顶点数LOD(Vertex Number LOD) | 数据应是LOD索引[int0]和LOD的总顶点数[int1]。 | 两个整型 |
| 网格体材质数量(Mesh Materials Number) | 数据应包括网格体索引的材质数量[int0]。 | 整型 |
| 网格体LOD片段数量(Mesh LOD Section Number) | 数据应是LOD索引[int0]和网格体的预期片段数量[int1]。 | 两个整型 |
| 网格体LOD片段顶点数量(Mesh LOD Section Vertex Number) | 数据应是LOD索引[int0]、片段索引[int1]和顶点预期数量[int2]。 | 三个整型 |
| 网格体LOD片段三角形数量(Mesh LOD Section Triangle Number) | 数据应是LOD索引[int0]、片段索引[int1]和三角形预期数量[int2]。 | 三个整型 |
| 网格体LOD片段材质名称(Mesh LOD Section Material Name) | 数据应是LOD索引[int0]、片段索引[int1]和材质预期名称[string0]。 | 整型和String型 |
| 网格体LOD片段材质索引(Mesh LOD Section Material Index) | 数据应是LOD索引[int0]、片段索引[int1]和网格体材质的预期材质索引[int2]。 | 三个整型 |
| 网格体LOD片段材质导入名称(Mesh LOD Section Material Imported Name) | 数据应是LOD索引[int0]、片段索引[int1]和预期初始导入材质槽名称[string0]。 | 两个整型和String型 |
| LOD UV信道数量(LOD UV Channel Number) | 数据应是LOD索引[int0]和指定LOD的UV信道数量[int1]。 | 两个整型 |
| 骨骼数量(Bone Number) | 数据应包括创建的骨骼数量[int0]。 | 整型 |
| 骨骼位置(Bone Position) | 数据应包括骨骼索引[int0]以及XYZ位置[float0、float1和float2]。或者,可以传递公差值[float3]。 | 整型和四个浮点型 |
| 动画帧数(Animation Frame Number) | 数据应包括帧数[int0]。 | 整型 |
| 动画长度(Animation Length) | 数据应包括动画长度[float0]。 | 浮点型 |
设置预期结果
为设置预期结果,我们使用包含6种不同材质和纹理的盒体网格体的FBX示例作为测试用例。
-
单击 添加(Add)(+)按钮添加"预期结果",然后选择要用于检查的 预期预设类型(Expected Preset Type)。
-
选择与要测试的"预期预设类型"对应的 预期预设数据(Expected Presets Data) 类型。在此示例中,选择 网格体材质数量(Mesh Materials Number) 类型, 以检查导入时FBX是否包含6种材质。
-
网格体材质数量(Mesh Materials Number) 预设类型只有一个整型数据(请使用预设工具提示或以上表格,参考所需的数据)来检查导入的材质数量。单击一下 预期预设数据整型(Expected Presets Data Integer), 将预期结果检查添加到数组中。
-
对于数组元素0,输入应使用FBX导入的材质数。此示例中预期的材质数量为6个。
-
确保设置必要的导入选项,以便正确导入所选"预期预设类型"要求的全部内容。例如,盒体FBX需要从 FBX导入材质和纹理,因此应启用 导入材质(Import Materials) 和 导入纹理(Import Textures) 选项。
-
单击 保存为JSON(Save JSON) 按钮,"测试计划"将添加到"会话前端自动化"(Session Frontend Automation)选项卡中。该文件可在 Engine/Import/FBX/[NameOfTheFBX] 中找到。

点击查看大图
FBX 测试编辑器 会话前端自动化(Session Frontend Automation)选项卡 -
在运行测试后,操作系统会测试指定LOD(0)的 网格体材质数量(Mesh Materials Number)(6)是否与导入的资源数量相匹配。
单击查看大图。
如果测试失败,可以在"自动化"选项卡中选择该测试,然后在 自动化测试结果(Automation Test Results) 面板下查看失败的原因。
单击查看大图。
无论"会话前端"(Session Frontend)窗口是否打开,"消息日志"都会弹出,显示测试是成功还是失败,以及失败的原因。
导入选项
设置"预期结果测试计划"后,还必须确保将要测试的操作正确设置为导入/重新导入。 例如,如果要测试导入固定数量材质的FBX,请务必启用 导入材质(Import Materials)。这些选项与通过内容浏览器将资源导入编辑器时可用的选项相同。
有关更多信息,请参阅FBX导入选项页面。
创建测试计划的流程
请按照以下步骤为FBX测试创建测试计划:
-
将要测试的FBX复制到以下位置:
[Unreal Engine Root Directory]/Engine/Content/FBXEditorAutomation -
置于此文件夹中的任何FBX都将自动填充到 选择FBX文件(Select an FBX file) 下拉列表中。
-
使用 选择测试平面(Select a Test Plane) 下拉列表选择 创建新计划(Create new plan),或选择已存在的计划并进行编辑。
-
填写以下部分。
通用:(General:)
- 测试计划名称(Test Plan Name) - 为此测试计划命名,以便使用该名称从测试计划列表中进行选择。
- 操作(Action) - 选择要对FBX文件执行的操作类型。例如,导入、重新导入、添加LOD、重新导入LOD、重新导入加载等。
- LOD索引(LOD Index) - 如果使用重新导入LOD,则输入要重新导入的LOD索引。
- 删除文件夹资源(Delete Folder Assets) - 是否在测试计划结束时删除导入的资源。
预期结果:(Expected Results:)
- 设置预期预设类型并填写完成测试所需的数据类型。
导入选项:(Import Options:)
- 设置成功导入此特定FBX以进行测试所需的导入选项。
-
单击 保存为JSON(Save JSON) 按钮保存测试计划,并将其添加为可在自动测试期间针对此FBX文件运行的测试。