用Sequencer在蓝图中重新绑定Actor

此例说明如何在运行时将序列应用到动态对象(此对象与序列中原始拥有的对象不同)。

Windows
MacOS
Linux
本页面的内容

创建游戏进程过场动画时,有时需要在Sequencer中对运行时动态生成的对象设置动画。 举例而言,用户可创建一个带动画的对象,使其在Sequencer中沿路径移动,而该对象可由玩家(玩家在游戏进程中生成)进行定义。 在蓝图 - 可视化脚本的协助下,用户可使用 Get Sequence Bindings 节点从关卡序列公开绑定辨识符,并使用自有设置覆盖这些绑定。

在此例中,我们对一个空白Actor设置动画,使其沿一条路径移动,而玩家按下按键即可将对象修改为不同的效果。

EndResult.png

在此指南中,我们使用的是启用了 初学者内容包蓝图第三人称模板 项目。

步骤

  1. 基础 下的 模式 面板中将一个 空白Actor 拖入关卡。

    DynamicAnim_01.png

    我们将在Sequencer中对此空白actor设置动画,并覆盖序列绑定,将actor改为不同的粒子特效。

  2. 在主工具栏中点击 过场动画(Cinematics) 按钮,然后选择 添加关卡序列(Add Level Sequence),为序列指定任意命名。

    DynamicAnim_02.png

  3. 选择关卡中的空白actor,然后将空白actor添加到Sequencer。

    DynamicAnim_03.png

  4. 点击空白actor上的 轨迹 按钮,选择 变换

    DynamicAnim_04.png

  5. 变换 轨迹添加一个关键帧,初始化空白actor在关卡中的当前位置。

    DynamicAnim_05.png

  6. 将时间轴前移至第 75 帧,然后在关卡中移动空白actor,并在其新位置添加一个新的关键帧。

    DynamicAnim_06.png

  7. 点击右键并复制Sequencer中的首帧,然后移动至第 150 帧,点击右键 粘贴 变换 关键帧。

    DynamicAnim_07.png

    复制首个关键帧并将其粘贴到末尾后将获得能够循环的平顺序列。

  8. 在关卡序列的 细节 面板中启用 自动播放(Auto Play),并将 循环(Loop) 设为 无限循环(Loop Indefinitely)

    DynamicAnim_08.png

  9. 点击主工具栏的 蓝图(Blueprints) 按钮,然后选择 打开关卡蓝图(Open Level Blueprint)

    DynamicAnim_09.png

  10. 关卡蓝图 中点击右键添加一个连接到 Flip Flop 节点的 F 键盘事件。

    DynamicAnim_10.png

  11. 添加2个 Spawn Actor from Class 节点(一个使用 Blueprint Effect Fire,另一个使用 Blueprint Effect Sparks),并如下所示连接到 Make Transform 节点。

    DynamicAnim_11.png

  12. SpawnActor Blueprint Effect Fire 节点的 返回值 上点击右键,选择 提升为变量(Promote to Variable),将其命名为 Fire BP

    DynamicAnim_12.png

  13. SpawnActor Blueprint Effect Sparks返回值 提升为 Sparks BP

  14. 为关卡序列添加一个引用,在其后方使用 Add Binding 节点。

    DynamicAnim_13.png

  15. 创建另一个 Add Binding 节点,如下图所示进行连接,将 Fire BPSparks BP 填入为 Actor

    DynamicAnim_14.png

  16. 点击右键并使用 Get Sequence Binding 节点(设置下方高亮的选项),并连接到两个 Add Binding 节点。

    DynamicAnim_15.png

    可在 Get Sequence Binding 节点上指定要针对的关卡序列,以及希望覆盖的 绑定。 在此例中,关卡序列(空白actor)中只列出了一个能覆盖的轨迹。 添加到关卡序列的可覆盖对象将显示在下拉菜单中。

  17. 引入 Sparks BPFire BP 变量。使用 IsValid 节点,如对象有效,则 销毁Actor

    Click image for full view.

    脚本现已完成,将生成火焰或火花特效、覆盖关卡序列中的空白actor,然后销毁其他的粒子效果(如其有效)。

  18. 在编辑器中运行,然后按下 F 键在生成的Actor之间进行切换。

最终结果

在编辑器中运行时按下 F 键,空白actor将被生成的火焰或火花特效所替换,并使用应用到空白actor的动画。

除添加绑定之外还可进行以下操作:

  • 移除绑定,从指定的绑定移除指定的actor。

  • 重设绑定,将指定的绑定重设回默认设置。

  • 重设多项绑定,将所有覆盖的绑定重设回默认设置。

  • 设置绑定,用指定的actor覆盖指定的绑定。

AdditionalFunctions.png

标签

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

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

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

发表反馈意见