3.蓝图设置

介绍如何创建和设置高度图描画器蓝图。

Windows
MacOS
Linux

在设置好渲染目标和所需材质并可以使用后,现在该使用蓝图将所有资源整合起来。在以下部分中,我们将介绍如何设置高度场描画器蓝图的所有部分。

蓝图创建和变量设置

  1. 在内容浏览器中单击右键,并从菜单的 创建基本资源(Create Basic Asset) 部分中,单击 蓝图类(Blueprint Class) 选项。

    HFP_BP_Setup_00.png

  2. 选取父类(Pick Parent Class) 窗口,选择 Actor 并将其命名为高度场描画器(HeightFieldPainter)

    HFP_BP_Setup_01.png

  3. 双击高度场描画器(HeightFieldPainter)蓝图以将其打开,然后单击 事件图表(Event Graph) 选项卡。当事件图表打开后,添加以下变量。

    HFP_BP_Setup_02.png

    变量名称

    变量类型

    默认值

    HeightfieldRT

    纹理渲染目标2D

    PainterMaterialInstance

    动态材质实例

    MouseDown

    布尔值

    ForceSplatMID

    动态材质实例

    InteractionDistance

    浮点值

    1000.0

    BrushSize

    浮点值

    0.04

    BrushStrength

    浮点值

    1.0

组件设置

组件(Components) 选项卡内部,按 添加组件(Add Component) 按钮并向蓝图添加一个 静态网格体(Static Mesh) 组件。添加静态网格体组件后,选择静态网格体组件并设置以下选项。

HFP_BP_Setup_06.png

部分

属性

所需资源

变换

移动性

可移动

静态网格体

静态网格体

SM_Plane1000_512

材质

材质

高度场描画器材质(HeightfieldPainterMaterial)

碰撞

生成重叠事件

已检查

碰撞

碰撞预设

仅重叠Pawn(OverlapOnlyPawn)

构造脚本设置

除了创建和分配所需的动态材质实例之外,构造脚本还用于创建和分配2D渲染目标。如果您还未进行到这一步,单击 构造脚本(Construction Script) 选项卡,然后将以下代码复制到您的蓝图构造脚本。

Copy Node Graph

HFP_BP_Setup_03.png

“从摄像机跟踪”函数设置

您可以通过两种方法来实现这个函数。第一种方法要求具备一点数学知识,主要处理的是平面或其他平坦表面。第二种方法使用 查找碰撞UV(Find Collisoin UV) 节点,这需要使用更多内存,并且处理的是 静态网格体组件(Static Mesh Component),与形状无关(UV接缝仍会导致瑕疵)。您可以在下面选择您的实现方法。

选择实现方法

Method 1

Method 2

“从摄像机跟踪”函数将用于确定静态网格体上应增加高度的位置。它通过从玩家摄像机中心向场景投射光线来确定这个问题。当该光线与静态网格体相交时,相交的位置就是凸起的位置。要设置从摄像机跟函数,需要完成以下操作。

  1. 单击 函数(Functions) 选项卡上的小(白色)加号以创建一个新函数,将其命名为 TraceFromCamera

    HFP_BP_Setup_04.png

  2. 打开TraceFromCamera函数,将以下蓝图代码复制到您的蓝图,方法是将鼠标悬停于下面的图像上,然后单击 复制表达式图(Copy Expression Graph) 选项,选择代码并复制,然后粘贴到TraceFromCamera函数。

    Copy Node Graph

    HFP_BP_Setup_05.png

    不要忘记编译并保存蓝图,这样才能使用蓝图。

事件图表设置

现在,所有所需部分均已创建并设置妥当,接下来需要在事件图表中将所有各个部分连接起来。您可以将完成的蓝图代码复制到蓝图中,方法是将鼠标悬停在下图上,单击 复制节点图(Copy Node Graph) 选项,复制提供的蓝图代码并粘贴到您的“高度场描画器(Height Field Painter)”蓝图。

Copy Node Graph

HFP_BP_Setup_07.png

在复制粘贴蓝图代码时,事件开始播放(Event Begin Play) 节点不会添加到图中。确保添加事件开始播放(Event Begin Play)节点并将其连接到 启用输入(Enable Input) 输入。

HFP_BP_Setup_08.png

现在,所需蓝图已设置完毕,在下一节中,我们将介绍如何在UE4中使用高度图描画器。

您必须在编辑器中启用 支持命中结果中的UV(Support UV from Hit Result) 功能以使用该方法。请参阅从跟踪获取UV坐标以了解有关如何完成此操作的信息。

  1. 单击 函数(Functions) 选项卡上的小(白色)加号以创建一个新函数,将其命名为 TraceFromCamera

    HFP_BP_Setup_04.png

  2. 打开TraceFromCamera函数,将以下蓝图代码复制到您的蓝图,方法是将鼠标悬停于下面的图像上,然后单击 复制表达式图(Copy Expression Graph) 选项,选择代码并复制,然后粘贴到TraceFromCamera函数。

    Copy Node Graph

    HFP_BP_Setup_01.png

    不要忘记编译并保存蓝图,这样才能使用蓝图。

事件图表设置

现在,所有所需部分均已创建并设置妥当,接下来需要在事件图表中将所有各个部分连接起来。您可以将完成的蓝图代码复制到蓝图中,方法是将鼠标悬停在下图上,单击 复制节点图(Copy Node Graph) 选项,复制提供的蓝图代码并粘贴到您的“高度场描画器(Height Field Painter)”蓝图。

Copy Node Graph

HFP_BP_Setup_02.png

在复制粘贴蓝图代码时,事件开始播放(Event Begin Play) 节点不会添加到图中。确保添加事件开始播放(Event Begin Play)节点并将其连接到 启用输入(Enable Input) 输入。

HFP_BP_Setup_08.png

现在,所需蓝图已设置完毕,在下一节中,我们将介绍如何在UE4中使用高度图描画器。

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见