Visual Dataprep 概述

Visual Dataprep系统及工作原理概述。

Choose your operating system:

Windows

macOS

Linux

本页将简要介绍Visual Dataprep系统,并带领你了解如何创建自定义导入方式,以便为3D数据应用至实时可视化项目做准备。

启用Visual Dataprep

请在项目中启用以下插件:

  • DataPrep编辑器

  • Datasmith导入器

  • Dataprep几何体运算 ——特定筛选和计算需要使用此插件。

  • 若要从Datasmith支持的其他类型的源文件导入,可能需要启用其他导入器插件来支持这些文件类型。详情请参见 将Datasmith内容导入到虚幻引擎4中

如果你从 建筑、工程和施工(Architecture, Engineering, and Construction) 汽车、产品设计和制造(Automotive, Product Design, and Manufacturing) 类目中的模板开始项目,这些插件可能已经启用。

Visual Dataprep资产

Visual Dataprep系统基于一种名为 Dataprep 的新资产。此资产类似于蓝图,因为它能以可视化表现形式列出一系列步骤。不过,此Dataprep图表旨在转换从指定的一个或多个输入文件中读取的场景数据。

要创建新Dataprep资产,在内容浏览器中右击,从快捷菜单中选择 Dataprep > Dataprep资产(Dataprep Asset)

Create a Dataprep Asset

Dataprep编辑器UI

类似于蓝图类,Dataprep资产有自己的专用编辑器窗口。你可以在 内容浏览器 中双击任意Dataprep资产打开此窗口。

Dataprep编辑器UI分为数个面板,适用于 Dataprep工作流 的不同阶段。

编号

名称

说明

1

工具栏(Toolbar)

Dataprep工作流中最重要的用户操作快捷方式,包括 导入(Import) 执行(Execute) 提交(Commit) 操作。

2

内容浏览器预览(Content Browser Preview)

列出已从输入文件中导入的所有资产。这是 提交 图表时,Visual Dataprep系统将在 内容浏览器 中创建的资产的预览。

3

视口预览(Viewport Preview)

显示已从输入文件中导入的3D场景的视觉预览。

4

世界大纲视图预览(World Outliner Preview)

列出已从输入文件中导入的3D场景中的所有Actor。这是Visual Dataprep系统将在关卡中创建的Actor以及将在关卡的 世界大纲视图(World Outliner) 中创建的场景层级的预览。

5

设置面板(Settings Panel)

使用此面板指定要从中导入3D场景的输入文件,以及在项目的 内容浏览器 中将资产创建在何处。

如果你在Dataprep图表中公开了参数,以便在Dataprep的资产 实例 中重载,那么你还将在 参数化(Parameterization) 分段中看到此处列出的参数。如需进一步了解,请参见 Working with Dataprep Instances

6

控制板(Palette)

提供可拖动到Dataprep图表编辑器中的构建模块,用于构建导入方式。

7

Dataprep图表编辑器(Dataprep Graph Editor)

可以在这里制备Dataprep方法,也就是让Dataprep系统从左到右执行方法的步骤,以便制作输入内容,在虚幻引擎中实现实时可视化。

8

细节面板(Details Panel)

类似于主关卡编辑器的 细节(Details) 面板,显示 世界大纲视图预览(World Outliner Preview) 中已选定的任何Actor的相关信息。请注意,这些设置是只读的。它们仅供参考,便于评估Dataprep图表对Actor的效果。

Dataprep工作流

设置Visual Dataprep资产的典型工作流包括以下步骤:

  1. 指定输入文件 : 在右上角的 设置面板(Settings Panel) 中,为要导入的每个文件或每个输入文件文件夹创建一个新的输入读取(input producer)。点击齿轮图标,配置额外的几何体和曲面细分选项,例如 弦公差(Chord Tolerance) 拼接技术(Stitching Technique)

    Import settings for a Visual Dataprep producer

    你还可以自定义下列 输出(Output) 设置:

    • 文件夹(Folder) 可确定文件夹的名称,此文件夹将在项目的 内容浏览器(Content Browser) 中创建,用于保存导入的资产。默认情况下,Datasmith会根据类型将资产分配到该文件夹的子文件夹中:一个用于静态网格体资产,一个用于材质,一个用于纹理,等等。(在构建Dataprep图表时,可使用 输出到文件夹(Output to Folder) 操作重载此默认分布。)

    • 关卡名称(Level Name) 用于设置新建的关卡资产的名称,该关卡将用于保存你的场景。提交Dataprep图表的结果后,可添加子关卡将导入的场景添加到项目关卡中。

  2. 初步导入 :按工具栏中的 导入(Import) 按钮将源文件导入临时世界。

    你可以看到,3D视口和其他预览面板在读取文件内容后,显示的内容会发生更新。这些读取内容尚未添加到项目中,只存在于Dataprep编辑器中的临时世界内。因此,在将最终结果保存到项目之前,你仍可以修改从输入文件中读取的资产和场景层级。

    此步骤严格来说是可选的,它的作用是让你在构建Dataprep图表时能更轻松地评估图表效果。

  3. 构建Dataprep图表 :从控制板中将 Select By Operations 节点拖动到Dataprep图表编辑器中,并按执行顺序连接Action节点。见下文的 Dataprep图表

  4. 测试图表 :按工具栏中的 执行(Execute) 按钮,通过已构建的Dataprep图表运行从源文件中导入的数据。你将看到预览面板更新并显示结果。

    你可以右键点击名称,并选择 禁用(Disable) 选项,从而禁用单个区块或Action节点,以便进行调试。禁用的区块或动作会在图表中呈灰色状态。你可以通过再次打开菜单并点击 启用(Enable) 选项来启用它们。

  5. 提交 :根据从输入文件导入的3D数据制作图表,若效果令人满意,按工具栏中的 提交(Commit) 按钮完成导入流程。

    提交结果时,Visual Dataprep系统将 内容浏览器预览(Content Browser Preview) 中的资产保存到项目中的资产中。系统还将修改当前打开的关卡,添加 世界大纲视图预览(World Outliner Preview) 中显示的Actor的层级。

    如果你选择将Actor层级导入新关卡,在 设置(Settings) 面板中的 子关卡(Sub-Level) 设置中设置该关卡的名称。Visual Dataprep系统将用此名称新建一个关卡(若尚未存在),将Actor添加到该关卡,然后将该关卡添加为虚幻编辑器主窗口中当前已打开关卡的子关卡。

统计数据面板

在Visual Dataprep资产编辑器的主菜单中打开 统计数据(Statistics) 面板: 窗口>统计数据(Window > Statistics) 。此面板展示了简单的数据度量比较,例如调用接口、Actor数量或顶点总数,并且在执行Dataprep图表之前或之后。

Example of a Visual Dataprep statistics panel, showing a comparison of metrics before and after executing the Dataprep Graph

Dataprep图表

每个Dataprep资产的核心都是Dataprep图表,它是系统将对指定的任意一组输入文件执行的操作集合。

每个Dataprep图表都由名为 Action 节点的构建块(块的垂直堆栈)组成。例如,上面的图表包含三个Action节点。执行该Dataprep图表时,从左侧 开始(Start) 节点开始,然后从左到右依次执行各个Action节点。

你可以通过拖拽边界,水平调整Action节点,以便查看全部文本。

Resizing an Action

蓝图图表允许条件分支,与此不同的是,Dataprep图表始终按照从左到右的单一线性路径执行逻辑。此外,彼此相连的Action节点并不会传递数据流。所有Action节点都使用相同的上下文:从指定输入文件导入的一组资产和Actor。

每个Action节点都由包含一个或多个块的堆栈构成。Dataprep图表执行Action节点时,将从上到下处理Action节点中的各个块。

如需构建Action节点,你可以从左侧的控制板中将块拖拽至图表编辑器中,或者在图标编辑器中右键点击,然后从内容控制板中选择块。

你可以将多个Action组合在一起。请按照以下步骤进行:

  1. 点击并上下滑动,选择你想要组合的Actor。

  2. 右键点击组。

  3. 在快捷菜单中,选择 组合Action(Group Actions)

你可以在组中右击,选择快捷菜单中的 禁用Action组(Disable Action Group) 来禁用Action组中的所有Action节点。

如需取消Action分组,右击组并选择 取消分组Action(Ungroup Actions)

操作、过滤器和变换

在Dataprep Action节点中,有三种基本类型的块:

  • 运算(Operations) 会按照某种预先定义的方式对资产、Actor或组件执行修改。例如,上面所示的 设置材质(Set Material) 压缩场景图表(Compact Scene Graph) 设置简单碰撞(Set Simple Collision) 块都是不同的操作类型。

    如需进一步了解可以在Dataprep图表中使用的所有运算,请参见 Visual Dataprep Operation Reference

  • 过滤器(Filters) ,也叫做 Select By 块,用于确定当前Action块中的操作应修改其下的哪些资产、Actor和组件。任何Action步骤默认应用于根据输入文件构建的临时世界中包含的所有资产、Actor和组件中。可使用这些 过滤器(Filter) 块定义这些对象的子集,从而控制Actor节点将修改的对象。

    如需进一步了解可以Dataprep图表中使用的所有过滤器,请参见 Visual Dataprep Selection Reference

  • 变换(Transforms) 的作用是调整当前资产、Actor和组件的选择,而且其调整方式可能会很复杂。这样一来,它们与过滤器非常类似,但是过滤器块只能缩小传递给它的对象列表的范围。相反,变换块可将对象添加到当前的选择中。

    举例而言,你可能希望从场景层级中选择特定的对象树。为此,可使用过滤器块将整套场景元素缩减到少数特定父元素,然后使用变换块重新扩展选择范围,纳入所选元素的子项。

    如需进一步了解可用于扩展或修改在Action中选定对象集的所有不同变换,请参见 Visual Dataprep Selection Transform Reference

Action示例

下图中的Action在CAD程序集部件上设置新材质。此节点执行一系列步骤,通过过滤器和操作的堆栈从上到下处理数据。

Sample Action node

步骤编号

名称

块类型

说明

1

输入引脚

N/A

所有Action的所有数据都是从临时世界获取的,包括在导入文件中找到的所有资产和Actor,然后Action会将这些对象传递给位于堆栈顶部的块。

2

按标签过滤

过滤器

此过滤器仅保留拥有"Metal"标签的Actor,并将此Actor列表传递给下一个块。

3

按Actor标签过滤

过滤器

此过滤器仅保留名称包含"Mechanical"的Actor,并传递给下一个块。

4

设置简单碰撞

运算

此运算会找到上方过滤器传递的所有Actor,然后找到这些Actor引用的所有静态网格体资产并为其设置立方体碰撞。然后将Actor列表传递给下一个块。

5

设置材质

运算

最后一个运算符会找到上方过滤器传递的所有Actor,然后找到这些Actor的所有静态网格体组件的所有材质,并将这些材质替换成块的 材质(Material) 设置中指定的材质。

该操作中的所有块都执行完毕后,图表中的下一个Action会开始执行。等下个Action开始后,它会再次从临时世界中收集所有数据。所以之前放置的过滤器块都不会再被纳入考虑。但先前操作所做的场景更改会保留到下个操作中,例如更改材质、删除Actor等。

使用过滤器

所有过滤器块都提供一些额外选项,能让你在使用块操作资产、Actor和组件时,更加轻松、精确地筛选出你所要的资产和资产列表,并验证过滤器是否符合预期效果。

要访问此类选项,请右键点击过滤器块,然后在快捷菜单中查找 过滤器(Filter) 分段。

Filter actions submenu

如果你需要改变多个过滤器块,请按住 控制(Control) 键并左键点击所有块来完成选择。当所有要处理的块高亮显示后,右键点击任意高亮显示的块,或者点击并拖动,以便添加多个块。

从选中的资产中创建过滤器

在视口、大纲视图或资产面板中选中一个或多个Actor后,右键点击在Dataprep图表编辑器上的任意位置,在快捷菜单中选择 从选择中创建过滤器(Create Filter From Selection)

Creating a filter that returns all selected Assets

新的过滤器会显示将要选择的Actor和资产的数量,以及列表中先前的Actor和资产。

你无法直接编辑该列表,但是你可以根据以下步骤,创建一个新的过滤器,其中包含该列表:

  1. 右键点击 根据选择过滤(Filter by Selection) ,在Dataprep方法中过滤。

  2. 从快捷菜单中选择 预览过滤器(Preview Filter(s)) 。此操作将高亮世界大纲视图预览面板中此过滤器所选择的Actor和资产。

  3. 如需向过滤器中添加新的Actor和资产,按住 Ctrl 键并在世界大纲视图面板中点击Actor和资产。

  4. 右键点击Dataprep图表编辑器中的任意位置,从快捷菜单中选择 从选择中创建过滤器(Create Filter from Selection)

反转过滤器逻辑

选择 过滤器(Filter)>反转过滤器选择(Inverse Filter(s) Selection) 来反转 选择依据(Select By) 块的选择逻辑,将其变成 排除依据(Exclude By) 块。执行此操作时,同一Action中的运算仅应用于 匹配所设条件的场景元素集合。

预览过滤器结果

选择 过滤器(Filter)>预览过滤器(Preview Filter(s)) ,使 内容浏览器预览(Content Browser Preview) 世界大纲视图预览(World Outliner Preview) 面板在过滤器选择的所有资产和Actor旁边显示一个勾选标记。

Preview of objects matched by the selected filters

一次只能预览一个过滤器或一组选定的过滤器。如果你开始预览其它过滤器或其它一组过滤器,则当前过滤器会停止预览。

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