Mutable:5 形状变化

概述

本教程将向你展示如何在 Mutable 系统内使用 morphs。它将向您展示如何映射一系列变形目标,以便最终用户可以启用、禁用和设置每个目标的权重。

我们建议在创建任何可自定义对象之前访问 Basic Concepts 页面。

生成的 Customizable Object 可以在 Mutable Sample 中找到。Content/Tutorials/Morphs/CO_ShapeVariations

所需资产

  1. SK_BaseBody骨骼网格。

    image

  2. MI_MaleHeadYoung材料。

    image

  3. M_Master_EyeBall材料。

    image

  4. FaceMorphCurve_Color曲线。

步骤

  1. 创建一个新的 Customizable Object 并添加,如下图所示:

  2. 将不可修改的 (常量) morph 应用于角色的嘴部:

    1. 在 Skeletal Mesh 节点和 Mesh Section 节点之间创建一个 Mesh Morph 节点。

    2. 选择新节点,然后在 Node Properties 选项卡中查找 Morph Target 部分。选择变形目标。Target_MouthSize

      选中的顶点变形目标来自输入网格中定义的顶点变形目标,在本例中为网格SK_BaseBody

    3. 将 Float Constant 节点连接到 Mesh Morph 节点的输入引脚,并为其指定值 。Factor``1

    4. 您的图表应如下所示:

    5. 编译 Customizable Object 并检查 Viewport 选项卡。

      头部的嘴巴应该比 Skeletal Mesh 中默认设置的嘴更大。SK_BaseBody

      返回 CO 图表,将 Float Constant 值设置为并再次编译 Customizable Object,以查看飞蛾在应用和未应用变形的情况下如何变化。0

变形因子 0: 变形因子 1:
  1. 添加另一个 morph 操作,但这次是用户可以控制的:

    1. 在现有的 Mesh Morph 节点和 Mesh Section 节点之间创建一个 Mesh Morph 节点。MI_MaleHeadYoung

    2. 选择新节点 and。在 Node Properties (节点属性) 选项卡中,查找 Morph Target (变形目标) 部分。选择变形目标。Target_OldBody

    3. 将 Float Parameter 节点连接到 Mesh Morph 节点的输入引脚。为其指定名称,并将 Default Value 设置为 。Factor``Old``1

    4. 您的图表应如下所示:

    5. 编译 Customizable Object 并检查 Viewport 选项卡。

      应该出现相同的头部,但现在外观要旧得多。名为 的 Preview Instance 标记上也应显示一个新参数。该参数本身控制_Target_OldBody_变形目标的权重。Old

      与新参数交互,以查看它如何更改角色头部的地形。

旧参数为 0: 1 处的旧参数:
Target_OldBody morph 已禁用。 Target_OldBody 的重量为 100%。
    纹理插值也可以与变形一起使用,以改善整体结果。
  1. 添加可切换的 Morph 操作:

    1. 使用标签 MI_MaleHeadYoung 节点标记 Mesh Section 。我们稍后会用到它。Head

      通过在节点的 Required Tags 中设置标签,我们实际上是在告诉我们想要将变形应用于标有所述标签的网格部分。Head

    2. 从 Base Object (基础对象) 引脚创建一个 Object Group (对象组) 节点并将其命名为 。将类型保留为 Toggle (切换)。Children``Morph Options

    3. 从 Object Group 节点的输入引脚创建 Child Object 节点。将其命名为 。Objects``Big Ears

    4. 将新的 Morph Mesh Section 节点连接到 Child Object 节点的输入引脚。Modifiers

    5. 将 Morph Mesh 部分的 Required Tag 设置为 。Head

    6. 选择 Target_EarSize 变形目标作为节点要使用的变形。

    7. 将 Float Constant 节点连接到 Mesh Morph 节点的输入引脚,并为其指定值 。Factor``1

    8. 您的图表应如下所示:

    9. 编译 Customizable Object 并签出 Viewport 选项卡。

      现在,您应该可以使用一个名为 的新可切换参数来启用或禁用放大角色耳朵的变形。Big Ears

  2. 总而言之,让我们添加一种使用 Curves (曲线) 使用单个参数控制多个变形的方法:

    1. 从 Object Group 节点的引脚创建 Child Object 节点。将其命名为 。Objects``Curve Morph

    2. 将新的 Morph Mesh Section 节点连接到 Child Object 节点的输入引脚。Modifiers

    3. 使此新节点使用标签并修改名为 Target_MouthDown 的变形目标。****Head****

    4. 将另一个新的 Morph Mesh Section 节点连接到 Child Object 节点的输入引脚。Modifiers

    5. Head 添加为 Required Tags,并修改名为 .Target_NoseSize

    您始终可以通过将鼠标悬停在节点上并单击按钮来向节点添加注释。`...`
    

    1. 创建一个新的 Curve 节点并使其使用曲线资产。FaceMorphCurve_Color

    2. 将输出引脚连接到第二个 Morph Mesh Section 节点(变形变形目标的节点)Curve G``Target_NoseSize

    1. 将输出引脚连接到第一个 Morph Mesh Section 节点(变形变形目标的节点)Curve R``Target_MouthDown

    2. 将 Float Parameter 节点连接到 Curve 节点的 Input input 引脚。为其命名并将 Default Value 设置为 。Multiple Morphs``0

      曲线节点将曲线 UE 资产公开给 Mutable。作为节点输入提供的值用于对所述输入值的曲线的 RGBA 值进行采样,并将这些值提供给 R、G、B 和 A 节点输出引脚。

      您可以通过查看相应的 Node Reference 文档页面来了解有关节点运行方式的更多信息。

    3. 您的图表应如下所示:

    ![image|690x423](upload://fUBqifMQm87N2ag8k7Lbfb3x5mi.jpeg)
    
    1. 编译 可自定义对象(Customizable Object) 并检出 预览实例视口(Preview Instance Viewport)。
      现在应该有一个名为 的新可切换参数可用,用于启用或禁用变形操作。将参数设置为不同的值,您将看到:Curve Morph
值 0 值 0.5 值 1
当我们从 曲线 R 输入值时,嘴部将变形到最低位置。1 嘴巴不会变形,因为我们从 Curve R 中输入一个值。0 变形 Target_NoseSize 将设置为最大值,因为我们从 Curve G(曲线 G)提供一个值 1。不会对嘴部应用变形,因为它将继续接收曲线 R 中的值 0