Language:
Page Info
Skill Level:
Engine Version:
Share
此中文页面内容对应的英文页面有后续更新,如需浏览最新文档可切换至英文页面浏览。

实现材质动画


在以下步骤中,我们将在对象上创建闪烁变化的 材质,并使玩家角色靠近时 材质 颜色发生变化。

创建项目

在这部分中我们先设置项目。

  1. Unreal Project Browser 窗口中创建一个 New Project,然后使用 Blueprint Third Person 模板。

    MatineeHowTo.jpg

  2. 启用 Include starter content 选项。

  3. 为项目命名。

  4. 上述步骤设置完成后,点击 Create Project 创建新项目。

添加 Matinee Actor、道具和 Matinee 中的轨迹

在这步中,我们将添加 Matinee Actor,添加场景中使用的一些道具,以及在 Matinee 中使用的轨迹。

  1. 工具栏 菜单中选择 Matinee 并点击 Add Matinee 按钮。

    MHT1_AddMatinee.png

  2. 如出现 Matinee 撤销警告提示,点击 继续 按钮。

    MHT1_MatineeWarning.png

  3. Matinee Editor 窗口将打开。

    点击查看全图。

  4. 关闭 Matinee,然后重复步骤 1-3 创建另一个 Matinee Actor,使关卡中存在两个 Matinee Actor。

  5. 关闭第二个 Matinee 窗口,然后在 Content BrowserGame/Props 路径下找到 SM_Chair,将其拖入关卡。

    MHT6_AddChair.png

  6. 在 Game/Props 文件夹中将 SM_Stairs 拖入关卡。

    MHT6_AddStairs.png

    可在关卡中随意放置椅子和台阶。

  7. Modes 菜单的 Basic 标签下,点击将 Box Trigger 拖入关卡,然后按下 R 键 调整框的大小,使椅子位于其中。

    MHT6_AddTrigger.png

    玩家进入触发框后,椅子将改变颜色(将在本页之后的步骤中进行设置)。

  8. World Outliner 中点击 Matinee Actor(添加的首个 Matinee),然后在 Details 面板中点击 Open Matinee

    MHT6_OpenMatinee.png

  9. 最小化 Matinee,点击 SM_Chair,重新打开 Matinee,然后在 Tracks 窗口单击右键 并选择 Add New Empty Group

    MHT6_AddNewEmptyGroup.png

    Name Group 窗口中,为群组赋予描述性的命名,如 Chair

  10. 在 Matinee 的新群组上 单击右键 并选择 Add New Vector Material Parameter Track

    MHT6_AddVectorMaterialTrack.png

  11. 选择 Matinee 并打开其他 Matinee Actor。

  12. 最小化 Matinee,点击 SM_Stairs,重新打开 Matinee,然后在 Tracks 窗口 中 单击右键 并选择 Add New Empty Group。

    MHT6_AddStairsToMatinee.png

    Name Group 窗口中,为群组赋予描述性的命名,如 Stairs

  13. 在 Matinee 的新群组上 单击右键 并选择 Add New Float Material Parameter Track

    MHT6_AddFloatMaterialTrack.png

矢量材质参数 Matinee

在以下步骤中,我们将在 Matinee 中通过 矢量材质参数(Vector Material Parameter) 轨迹改变玩家角色靠近时椅子的颜色。

  1. 选择关卡中的椅子,然后在 Materials 下的 Details 面板中点击 Browse To(放大镜)图表。

    MHT6_MaterialsSearch.png

  2. 用于椅子的材质将在 Content Browser 中高亮,双击 M_Chair 材质 将其在 材质编辑器(Material Editor) 中打开。

  3. 向下滚动鼠标滚轮 拉远视角,点击带橘色方块的节点,然后在 Details 面板中点击 Default Value 条。

    MHT6_ChairDefaultColor.png

  4. Color Picker 窗口中,点击并拖动橘色(黄色框中)到 Save Color 条保存颜色。

    MHT6_ColorPicker.png

    我们稍后会用到它,现在已经有了一个座位默认颜色的引用。

  5. 关闭 Color Picker 窗口(无需保存)并关闭材质。

  6. 在 Content Browser 中,右键单击 M_Chair 材质 并选择 Create Material Instance

    MHT6_MaterialInstance1.png

    在 Content Browser 中将创建一个可用于编辑的 材质实例(Material Instance)。可沿用默认命名。

  7. 选择关卡中的椅子,在 Content Browser 中选择 M_Chair_Inst,然后在 Details 面板中点击 Arrow 图标。

    MHT6_AssignNewMaterial.png

    此操作将把 材质实例(Material Instance) 指定给椅子。

  8. 打开 Matinee Actor(指定到椅子的 Matinee)并点击 ...Material ParamMaterial Parameter 轨迹)。

  9. 在右边的 Details 面板中点击 Add 图标。

  10. 返回 Content Browser 确认 M_Chair_Inst Material Instance 已高亮,然后在 Matinee 中点击 Arrow 图标。

    MHT6_AddInstanceToMatinee.png

  11. Param Name 框中输入 ColorSeats(这是步骤 3 中材质中的节点名),之后进行修改。

  12. 点击材质参数轨迹,按下 Enter 键在 0.00 处添加一个关键帧,然后将 时间条 移至 2.00 并添加另一个关键帧。

    MHT6_M1_KeysAdded.png

  13. 在结束标记上 单击右键 并选择 Move To Longest Track Endpoint,将 Matinee 长度缩减至 2 秒钟。

    MHT6_ReduceMatineeLength.png

  14. 在第一个关键帧上 单击右键 并选择 Set Color,然后在 Color Picker 菜单中选择顶部的条指定默认椅子颜色。

    MHT6_Key1Chair.png

  15. 在第二个关键帧上 单击右键 并选择 Set Color,在 Color Picker 菜单中选择默认颜色外的任何颜色,然后关闭 Matinee。

    MHT6_Key2Chair.png

    这是玩家角色靠近时椅子将会进行混合的颜色。

  16. 在 World Outliner 中选择 Matinee Actor,然后从工具栏选择 Blueprints - Open Level Blueprint

    MHT6_AddMatineeToBlueprint.png

  17. Level Blueprint Event Graph 窗口中,单击右键 并从快捷菜单中选择 Add Reference to MatineeActor

    MHT6_AddMatineeReference.png

  18. 最小化关卡蓝图,然后在 World Outliner 中选择 TriggerBox1 将其高亮。

  19. 重新打开关卡蓝图,在 事件图表单击右键 并选择 Add Event for TriggerBox1Collision、以及 Add OnActorBeginOverlap

    MHT6_AddOnOverlap.png

    Actor(在此例中为玩家角色)和触发框发生重叠时,该事件将执行。

  20. 重复前一步骤,选择 Add OnActorEndOverlap。

  21. 点击并拖动 MatineeActor 节点的输出引脚,然后释放;在快捷菜单中搜索 Play,然后从菜单中选择 Play。

    MHT6_PlayMatinee.png

  22. 重复前一步骤,搜索并选择 Reverse

    MHT6_PlayAndReverse.png

    Matinee 应该与 PlayReverse 节点衔接起来。

  23. 点击并拖动 OnActorBeginOverlap 节点的 执行 输出引脚,将其和 Play 节点的 执行 输入引脚连接起来。

    MHT6_HookUpPlay.png

  24. 重复前一步骤,拖动 OnActorEndOverlap 节点将其与 Reverse 节点连接起来。

    MHT6_BlueprintComplete.png

  25. 点击蓝图窗口左上角的 Compile 按钮。

    MHT6_Compile.png

  26. 关闭蓝图,然后在主工具栏中点击 Play 按钮即可在编辑器中进行游戏。

    椅子默认为橘色。玩家角色靠近时将进行颜色混合并变为所选颜色。

    玩家角色离开椅子后,它将变回默认颜色。

Float 材质参数 Matinee

在下列步骤中,我们将使用 Matinee 中的 Float 材质参数 轨迹创建应用在台阶阶梯上闪烁变化的 材质

  1. 在 Content Browser 的 Game/Materials 文件夹下,在 M_Basic_Wall Material单击右键,选择 Create Copy 并为其命名。

  2. 双击 材质 的副本将其在 材质编辑器(Material Editor) 中打卡,然后点击并删除 Color 节点。

    点击图片查看全图。

  3. 在图表窗口中 单击右键 并输入 scalar,然后从窗口中选择 ScalarParameter 选项。

    MHT6_ScalarParameter.png

  4. 将节点命名为 StepsColor,将其和 Material Attributes 节点的 Base Color 引脚 连接 起来。

    MHT6_StepsColor.png

  5. 按下 ApplySave 按钮,然后关闭 材质编辑器 窗口。

    MHT6_ApplyAndSave.png

  6. 选择关卡视口中的台阶将其高亮。

  7. 选择 Content Browser 中的 M_Basic_Wall Material 将其高亮。

  8. 在台阶 Details 面板的 Materials 下,点击 Element 1箭头 图标指定材质。

    MHT6_AssignBaseStairsMat.png

  9. 在 Content Browser 中选中 步骤 1 中创建的材质,将其高亮。

  10. 在台阶 Details 面板的 Materials 下,点击 Element 0箭头 图标指定材质。

    MHT6_StairsMaterials.png

  11. 在 World Outliner 中选择 MatineeActor1(与台阶相关的 Matinee),然后在 Details 面板中点击 Open Matinee 按钮。

  12. 点击 ...Material Param材质参数)轨迹,然后在 Details 面板中的 Target Materials 下点击 Add 图标。

  13. 返回 Content Browser 确认步骤 1 中的材质已高亮,然后在 Matinee 中点击 Arrow 图标。

    MHT6_ApplyFloatMaterial.png

  14. Param Name 框中 输入 StepsColor

  15. 在材质参数轨迹上的 0.000.501.00 处添加关键帧,并将结束标记 移至 1.00

    MHT6_M2_KeysAdded.png

  16. 在第二个关键帧上 单击右键,选择 Set Value 将值设为 1,然后 关闭 Matinee。

  17. 在 World Outliner 中选择 MatineeActor1,然后在 Details 面板中 Play 下勾选 Play on Level Load and Looping

    MHT6_FinishingMatinee2.png

  18. 在主编辑器中,点击 Play 按钮在编辑器中进行游戏。

    可以看到台阶阶梯在黑色和白色之间来回闪烁变化。

    如需加快闪烁速度,在 Matinee 中将关键帧之间的时间调短即可。