在蓝图中使用嵌入的 Sequencer 动画

说明如何使用 Actor 序列组件在 Actor 蓝图中嵌入序列。

Windows
MacOS
Linux
本页面的内容

这是尚处于开发阶段的实验性功能。一些方面可能无法正常使用,或会在未来版本中被修改。

使用并创建 序列 时,有时可能需要在其他地方或实例中重复使用序列的功能。 借助 Actor 序列插件Actor 序列组件 便可将序列直接嵌入 Actor 蓝图。 将动画绑定到蓝图实例并自动触发或通过蓝图的 事件图表 触发,即可重复使用序列。 此外还可为世界场景中的任意 Actor 添加 Actor 序列组件,将动画添加到 Actor 的单一实例。

在此指南中,我们将创建一个带嵌入序列的蓝图,随时间设置聚光源颜色的动画并对其进行变更。

EndResult.png

蓝图即可放置在让任意关卡中或进行复制,嵌入的序列则会在调用时自动播放。

步骤

在此指南中,我们使用的是启用了 Starter ContentBlueprint Third Person Template 项目。

  1. 项目打开后,从 Edit 菜单中选择 Plugins

    ActorSequence01.png

  2. Plugins 菜单的 Built-in 下启用 Actor Sequence Editor 选项,并在弹出提示后重启编辑器。

    ActorSequence02.png

    启用 Actor 序列编辑器时可能出现 Experimental 确认对话窗口,点击 Yes 继续。

  3. 创建一个 Actor 类的新 蓝图,将其命名为 Light_BP

    ActorSequence03.png

  4. Light_BP 中点击 Add Component 并添加一个 Spot Light

    ActorSequence04.png

  5. Spot LightDetails 面板中将 Y 轴的 Rotation 值改为 -60

    ActorSequence05.png

    这将使光线在视口中旋转,角度稍微朝下。

  6. 添加另一个 Static Mesh 类型的 组件,然后在 Details 面板中将网格体设为 Floor_400x400Location 设为 -180 (X), -180 (Y), -100 (Z)

    ActorSequence06.png

    我们将用这个地板网格体使光线在地面上反射,并看到 Sequencer 驱动参数变化的效果。

  7. 添加另一个 Actor Sequence 类型的 组件

    ActorSequence07.png

  8. Actor SequenceDetails 面板中,设置 Loop IndefinitelyRandom Start TimeAuto Play,然后点击 Open in Tab

    ActorSequence08.png

    点击 Open in Tab 后,Sequencer 编辑器 将在蓝图中打开。

    SequencerWindow.png

    在此例中将自动触发并播放序列,也可从 事件图表 中进行调用播放。

  9. Sequencer 标签中,点击 Add,然后在 Component 下选择 SpotLight

    ActorSequence09.png

  10. SpotLight 轨迹上点击 Track 按钮并选择 Transform

    ActorSequence10.png

  11. 再次点击 SpotLight 轨迹的 Track 按钮并添加 Light Color 轨迹。

    ActorSequence11.png

  12. Transform 轨迹的 Rotation 下,点击 Z 轴值的 + 图表在第 0 帧处添加一个 0 键。

    ActorSequence12.png

  13. 选中添加的键,然后按下 4 键将内插类型改为 线性

    ActorSequence13.png

    可通过数字键修改内插类型,也可右键点击关键帧选择内插方法。

  14. 2.00 处添加一个键,将 RotationZ 轴值设为 -180.0,并在键上按下 4 将内插改为 线性

    ActorSequence14.png

  15. 4.00 处添加一个键,将 RotationZ 轴值设为 -360.0,并在键上按下 4 将内插改为 线性

    ActorSequence15.png

    也可将红色 结束标记 移回 4.00,使序列在其开始处结束。

  16. Light Color 轨迹上点击 + 按钮在第 0 帧处添加一个键。

    ActorSequence16.png

  17. Red1.00 处添加一个键,值设为 0.0

    ActorSequence17.png

  18. Green2.00 处添加一个键,值设为 0.0

    ActorSequence18.png

  19. Blue3.00 处添加一个键,值设为 0.0RedGreen 的值则设为 1.0

    ActorSequence19.png

  20. Blue4.00 处添加一个键,值设为 1.0

    ActorSequence20.png

    这会使光线从白色变为各种颜色,然后在序列末尾重新变为白色。

  21. Components 窗口中,选择并 删除 StaticMesh 地面。

    ActorSequence21.png

    光照设置完成后,我们便不再需要这个网格体作为一种在视口中预览光照的方式。

  22. 在主关卡编辑器视口中,选择地面,然后长按 Alt 拖起一个地面的副本,创建出封闭关卡的屋顶。

    ActorSequence22.png

  23. Content Browser 中,在关卡中拖动并放置 Light_BP 实例(如有需要可以按下 E 并进行旋转)。

    ActorSequence23.png

  24. Build 下拉菜单中选择 Build Lighting Only 重新构建关卡中的光照。

    ActorSequence24.png

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

最终结果

在关卡中进行游戏时,您将看到播放嵌入的序列时放置的光照会开始旋转并变换色彩。

因为序列嵌入在 Actor 蓝图中,它并不存在依赖性,因此可在任意关卡中播放,或毫无障碍地进行复制。

在我们的实例中序列已设为 Auto Play,然而您也可以使用 事件图表 编写脚本,设定序列播放的时机。

EventGraphPlayScript.png

上图中,我们已根据 Event BeginPlay 允许 Actor 从 Player Controller 获取输入。 P 键按下时,我们接收 Actor 序列组件 并获得 Sequence Player(它将调用函数 Play 开始播放序列)。 如果不希望序列在关卡加载时自动播放,可使用任意方法调用 Play 函数。

标签
Select Skin
Light
Dark

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

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

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

发表反馈意见