使用Matinee修改蓝图属性

概述

正如您可以在Matinee中使静态网格物体、骨架网格物体、光源及其他Actor产生动画一样,当这些对象是蓝图的组件时,您仍然可以使用Matinee使得它们产生动画。您可以通过给Matinee暴露某些特定类型的蓝图变量来控制蓝图组件及其他属性、使用Matinee的轨迹来随着时间修改这些变量、将这些变量同蓝图中的事件及参数结合使用。

您也可以在Matinee中创建事件,使用它们来在Matinee序列播放过程中的特定时间点处出发蓝图函数。

给Matinee暴露蓝图变量

您可以在蓝图中创建并暴露给Matinee的蓝图类型包括:

  • 布尔型

  • 浮点型

  • 向量型

  • LinearColor (可以在 Struct 类目中找到)

要想给Matinee暴露蓝图变量:

  1. 蓝图中创建一个 Bool、Float、Vector或LinearColor型变量。

  2. 在该变量的 详细信息 面板中选择 Expose to Matinee(暴露给Matinee) 选项。

    BP_ExposeToMatinee.png

关于蓝图变量的更多信息,请参照 蓝图用户指南:变量

随着时间修改变量

一般,当您想在Matinee序列中使用Blueprint变量时,都是因为您想随着时间修改那个变量的值。

要想在Matinee中修改变量的值:

  1. 在Matinee中打开该Matinee Actor。

  2. 在场景大纲视图或者视口中,选择包含该变量的蓝图Actor。

  3. 在Matinee中,创建一个Empty Group(空组) 赋予它一个相关名称,比如 "Blueprint Actor" 。

    Matinee_AddEmptyGroup.png

    关于在Matinee中创建组的更多信息,请参照应用组和轨迹 页面。

  4. 右击该新组,并从关联菜单中选择您需要的轨迹类型:

    • Bool Property Track(布尔型属性轨迹)

    • Float Property Track(浮点型属性轨迹)

    • Vector Property Track(向量型属性轨迹)

    • LinearColor Property Track(线性颜色属性轨迹)

    Matinee_AddVectorTrack.png

  5. 在出现的下拉菜单中,选择您想修改的变量的名称,然后点击 OK(确定)

    Matinee_ChooseVectorVariable.png

  6. 在您想修改该变量的值的时间点处,将关键帧添加到新轨迹中。(关于添加关键帧的更多信息,请参照工具条 )。

    Matinee_AddKeyframes.png

  7. 修改该变量的值。

    • 对于浮点型、向量型及线性颜色型变量,请点击轨迹名称旁边的切换图标 (curve_send_button.jpg)来在曲线编辑器中显示它的动画曲线。在曲线编辑器中修改该曲线。

      Matinee_CurveEditorIcon.png

      Matinee_Curves.png

      关于曲线编辑器的更多信息,请参照曲线编辑器

    • 对于布尔型变量,请右击关键帧,并根据该布尔型变量的当前值来点击 Set to True(设置为true)Set to False(设置为false)

      Matinee_BoolTrack.png

当您在Matinee中使得蓝图的组件产生动画时,您不能通过拖拉时间轴来预览它。您必须关闭Matinee,并使用‘在编辑器中运行(PIE)’或‘模拟’功能来预览该动画。

蓝图中使用已修改的变量

在您的蓝图中,您可以使用Matinee中修改的变量来随着时间产生特定的动画改变。要想完成这个处理,在图表模式中,给该变量创建一个getter节点。然后,您可以把那个变量节点连接到适当的函数上,并选择一个事件来触发它。

要想在蓝图中使用一个通过Matinee修改的变量:

  1. 打开该蓝图

  2. 在图表模式中,为该变量创建一个"getter" 节点,这可以通过按住 Ctrl 并将该变量拖拽到图表中,或者通过拖拽该变量到图表中从出现的关联菜单中选择 Get 来完成。

  3. 添加及连接适当的事件及函数。比如,要想使用一个向量变量来随着时间修改一个静态网格物体组件的比例大小,那么您可以将一个 Event Tick 事件节点链接到 Set Relative Scale 3D 函数节点上, 使用静态网格物体组件作为 Target ,并将那个变量连接到 New Scale 3D 引脚上。Tick 事件是每帧都调用的,所以一般情况下在使用Matinee控制变量值时,这里是更新蓝图的较好地方。

    BP_MatineeVariable.png

随着时间触发事件

Matinee中,可以为一个蓝图Actor创建一个Event Track,来计时以触发特定的事件。然后您可以在蓝图中暴露这些事件,并把它们连接到您想在指定时间触发的函数上。

要想使用Matinee事件在蓝图的特定时间点处触发动作:

  1. 在Matinee中,给和蓝图相关的组添加一个Event Track。

    Matinee_EventTrack.png

  2. 在Event Track的指定时间点处添加关键帧。您每次添加一个关键帧,就会提示您给该新事件提供一个名称。

    Matinee_AddEvent.png

    Matinee_Events.png

  3. 在关卡蓝图中,选中Matinee Actor,在图表中右击。其中有一个针对您的Matinee Actor的选项是添加一个MatineeController 。选择它来创建一个MatineeController节点,该节点列出了您在Matinee中为其创建关键帧的事件。

    Matinee_AddController.png

    Matinee_ControllerWithEvents.png

    现在您可以把MatineeController中的事件执行引脚连接到将要在播放Matinee序列时触发的函数节点上。

每个Matinee Actor仅能有一个 MatineeController 节点。如果您在关联菜单中没有看到MatineeController 选项,那么您可能在您的关卡蓝图中已经有一个MatineeController 节点。

在关卡蓝图中,如果您添加了MatineeController 节点后,给Matinee Event Track添加了一个事件,那么您可以通过右击该事件并选择Refresh(刷新)节点来更新该节点的事件列表。