FBX Test Builder

FBX Test Builder能让你为用于会话前端进行自动测试的FBX文件创建测试计划。

Choose your operating system:

Windows

macOS

Linux

FBX Test Builder是 自动化系统 的一部分,使用该插件可为各个FBX文件创建自己的测试。 FBX Test Builder为单个FBX文件创建测试计划(Test Plan)。使用该计划,可以执行导入或重新导入操作,并对照预期结果数组进行检查。创建的测试计划以JSON文件的形式存储, 文件名与所测试的FBX文件相同,但扩展名不同。

FBXTestBuilder.png

使用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)

操作

每个测试计划可以执行五个主要操作。每个操作都有其自己的条件,只有满足条件才能正确执行测试。 这些操作及其条件概述如下:

Actions.png

操作

步骤

导入(Import)

  • 导入FBX文件

  • 验证预期结果

重新导入(Reimport)

  • 此操作必须在未删除所导入资源的导入测试计划之后运行

  • 重新导入FBX文件

  • 验证预期结果

添加LOD(细节层级)(Add LOD (Level of Detail))

  • 此操作必须在未删除所导入资源的导入测试计划之后运行

  • FBX文件名必须以 _lod00 结尾

  • 必须有一个同名的FBX文件以 _lod0X 结尾(其中 X 大于 0 )

  • 添加LOD

  • 验证预期结果

重新导入LOD(细节层级)(Reimport LOD (Level of Detail))

  • 使用 导入(Import) 添加LOD(Add LOD) 操作再次导入之前已导入的LOD。

导入加载(Import Reload)

  • 导入FBX文件

  • 保存文件包

  • 从内存中卸载创建的UObject

  • 重新加载已保存的包

  • 验证预期结果

预期结果

对于每个测试计划,评估 预期结果(Expected Results) 列表以确定是否通过测试。

ExpectedResult.png

设置

说明

预期预设类型(Expected Presets Type)

应检查的预定义数据。

检查类型

说明

要求的数据类型

错误数量(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]。

浮点型

预期预设数据整型(Expected Presets Data Integer)

输入应为指定的FBX文件检查的预期整型数值。

预期预设数据浮点型(Expected Presets Data Float)

输入应为指定的FBX文件检查的预期浮点型数值。

预期预设数据双精度浮点型(Expected Presets Data Double)

输入应为指定的FBX文件检查的预期双精度浮点型型数值。

预期预设数据字符串型(Expected Presets Data String)

输入应为指定的FBX文件检查的预期字符串型数值。

设置预期结果

为设置预期结果,我们使用包含6种不同材质和纹理的盒体网格体的FBX示例作为测试用例。

BoxFBX1.png

  1. 单击 添加(Add) (+)按钮添加"预期结果",然后选择要用于检查的 预期预设类型(Expected Preset Type)

    ER_AddExpectedResult.png

  2. 选择与要测试的"预期预设类型"对应的 预期预设数据(Expected Presets Data) 类型。在此示例中,选择 网格体材质数量(Mesh Materials Number) 类型, 以检查导入时FBX是否包含6种材质。

    ER_SelectExpectedPresetType.png

  3. 网格体材质数量(Mesh Materials Number) 预设类型只有一个整型数据(请使用预设工具提示或以上表格,参考所需的数据)来检查导入的材质数量。单击一下 预期预设数据整型(Expected Presets Data Integer) , 将预期结果检查添加到数组中。

    ER_AddDataTypeInteger.png

  4. 对于数组元素0,输入应使用FBX导入的材质数。此示例中预期的材质数量为6个。

    ER_IntegerValue.png

  5. 确保设置必要的 导入选项 ,以便正确导入所选"预期预设类型"要求的全部内容。例如,盒体FBX需要从 FBX导入材质和纹理,因此应启用 导入材质(Import Materials) 导入纹理(Import Textures) 选项。

    ER_ImportMaterials.png

  6. 单击 保存为JSON(Save JSON) 按钮,"测试计划"将添加到"会话前端自动化"(Session Frontend Automation)选项卡中。该文件可在 Engine/Import/FBX/[NameOfTheFBX] 中找到。

    ER_SaveJSON.png

    ER_AutomationFBXTest.png

    FBX 测试编辑器

    "会话前端自动化"(Session Frontend Automation)选项卡

  7. 在运行测试后,操作系统会测试指定LOD(0)的 网格体材质数量(Mesh Materials Number) (6)是否与导入的资源数量相匹配。

    单击查看大图。

    如果测试失败,可以在"自动化"选项卡中选择该测试,然后在 自动化测试结果(Automation Test Results) 面板下查看失败的原因。

    单击查看大图。

    无论"会话前端"(Session Frontend)窗口是否打开,"消息日志"都会弹出,显示测试是成功还是失败,以及失败的原因。

导入选项

设置"预期结果测试计划"后,还必须确保将要测试的操作正确设置为导入/重新导入。 例如,如果要测试导入固定数量材质的FBX,请务必启用 导入材质(Import Materials) 。这些选项与通过内容浏览器将资源导入编辑器时可用的选项相同。

ImportOptions.png

StaticMeshImportOptions.png

FBX Test Builder导入选项

标准FBX导入选项窗口

有关更多信息,请参阅 FBX导入选项 页面。

创建测试计划的流程

请按照以下步骤为FBX测试创建测试计划:

  1. 将要测试的FBX复制到以下位置:

    [UE4Root]/Engine/Content/FBXEditorAutomation
  2. 置于此文件夹中的任何FBX都将自动填充到 选择FBX文件(Select an FBX file) 下拉列表中。

    TestPlan_SelectFBX.png

  3. 使用 选择测试平面(Select a Test Plane) 下拉列表选择 创建新计划(Create new plan) ,或选择已存在的计划并进行编辑。

    TestPlan_CreateNewPlan.png

  4. 填写以下部分。

    通用:(General:)

    TestPlan_General.png

    • 测试计划名称(Test Plan Name) - 为此测试计划命名,以便使用该名称从测试计划列表中进行选择。

    • 操作(Action) - 选择要对FBX文件执行的操作类型。例如,导入、重新导入、添加LOD、重新导入LOD、重新导入加载等。

    • LOD索引(LOD Index) - 如果使用重新导入LOD,则输入要重新导入的LOD索引。

    • 删除文件夹资源(Delete Folder Assets) - 是否在测试计划结束时删除导入的资源。

    预期结果:(Expected Results:)

    TestPlan_ExpectedResult.png

    导入选项:(Import Options:)

    TestPlan_ImportOptions.png

    • 设置成功导入此特定FBX以进行测试所需的 导入选项

  5. 单击 保存为JSON(Save JSON) 按钮保存测试计划,并将其添加为可在自动测试期间针对此FBX文件运行的测试。

    TestPlan_SaveJSON.png

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消