动画蒙太奇综述

描述了动画蒙太奇资源的运作原理及作用。

Windows
MacOS
Linux

动画蒙太奇(Animation Montage)(简称 蒙太奇)提供了一种直接通过蓝图或C++代码控制动画资源的途径。 你可以使用动画蒙太奇将多个不同动画序列 组合成一个资源。你可以将该资源分成若干 片段(Sections),选择播放其中的个别片段,或者选择播放所有片段。 你可以触发蒙太奇中的 事件(Events) 以执行各种本地或复制任务,例如播放Sound Cue或粒子效果,更改玩家数值(如弹药数量)等,甚至在动画启用“根运动”时复制联网游戏中的根运动

蒙太奇示例

以下角色给散弹枪装弹的动画序列是蒙太奇的一个实际用例:

在上面的视频中,角色拿起弹夹,开始装弹,然后返回闲散姿势。 它作为装弹动画是没有问题的,但使用蒙太奇可以更精细地控制。 例如,假设你希望角色不是每次装入相同数量的子弹,而是每次装入不同数量的子弹。 你可以将该动画分成三部分(拿起弹夹、开始装弹,返回闲散姿势),并将它们组合在蒙太奇中。你可以将它们分段,然后选择播放其中的个别片段,或者播放所有片段。

以下是一个给散弹枪装弹的蒙太奇示例,分为_开始(Start)循环(Loop)结束(End)_ 三个部分。

Montage Example

借助蓝图或C++,我们可以定义当玩家按下按钮时,动画从 开始 片段开始播放。 名为 循环 的循环中间片段紧跟在 开始 片段之后,在蒙太奇中设置为永久循环。 如下面的视频所示,如果玩家松开装弹按钮,或已给散弹枪装满子弹,动画将停止循环,并跳转到 结束 片段以退出动画。

装弹动作比烘焙序列略快。但是,我们可以根据需要调整循环动画的播放速度。这样你就可以控制何时中断装弹动作并让角色返回到闲散姿势。 有一个类似的用例是,角色在空中跳跃的动画,循环播放在空中或掉落的动画,然后再播放着陆序列。在空中的时间可以变化,以便随时从蒙太奇的某个部分中断。

蒙太奇的部分其他用途包括:

  • 可以在 动画蓝图(Animation Blueprint)事件图(Event Graph) 中播放动画。

  • 可将复杂的动画序列串联起来,让它们成为一个动画。

  • 可根据代码或蓝图脚本仅循环一个或多个动画中的特定部分。

  • 可根据代码或蓝图脚本处理多个动画的基于事件的切换。

  • 可将复杂的动画序列分配到可在代码或蓝图脚本中切换的指定槽中。

  • 可根据代码或蓝图脚本在各种动画序列之间精确切换。

蒙太奇UI

创建蒙太奇 并在动画编辑器 中将其打开。你可以使用 资源编辑器(Asset Editor) 面板来定义蒙太奇的工作方式。

Montage Window

蒙太奇的“资源编辑器”面板分为以下几个主要区域:

  1. 蒙太奇(Montage)

  2. 片段(Sections)

  3. 元素计时(Element Timing)

  4. 通知(Notifies)

  5. 曲线(Curves)

蒙太奇区域

面板的 蒙太奇 区域的组成如下:

Montage Area

  1. 片段(Sections) - 显示在蒙太奇中创建的任何片段。

  2. 插槽(Slot) - 显示添加到当前插槽的动画。

  3. 组/插槽(Group/Slot) - 显示当前选定的动画组和插槽。

片段

通过创建 片段(Sections),可将一个插槽分解为多个动画部分。每个片段都有一个名称,并且在槽的时间轴中有自己的位置。 你可以使用该名称直接跳转到某个特定片段,或将某个片段安排为接在当前片段结束时播放。 在 蓝图(Blueprint) 中,你可以查询当前片段,跳转到某个片段,或设置将要播放的下一个片段。

你可以把片段想象成音乐播放列表中的歌曲,而插槽就是音乐专辑。 你正在播放某个片段(歌曲)时,可以排队或在当前片段结束后跳转到插槽(专辑)中的另一片段,或者直接跳转到想要立即播放的片段。

插槽

在蒙太奇中,一个 插槽(Slot) 就是一条轨迹,其中可容纳任意数量的动画。你可以任意命名插槽,并使用该名称混合到其中的动画中。 回到装弹蒙太奇的例子,我们可以针对角色站立时或匍匐时创建不同的装弹版本。 在这种情况下,我们将每个版本的角色姿势单独放置到蒙太奇(如下)中的各个插槽,并使用 动画蓝图(Animation Blueprint)动画图(AnimGraph) 中的 插槽(Slot) 节点来决定使用哪个动画集,具体取决于角色是站着还是匍匐。

Multiple Slots

在上图中,我们在角色站立装弹时使用 DefaultProne 插槽,在角色匍匐装弹时使用 Prone 插槽。

如果指定了多个插槽,可单击要在编辑器中预览的插槽的 预览 按钮进行预览。

为了在使用多个插槽时获得最佳效果,请确保所涉及的多个动画的时间从头到尾长度相同。

组/插槽

动画组(Anim Groups) 是一系列的插槽(Slots),每组只能播放一个蒙太奇。如果要同时播放另一个蒙太奇,可以为其创建一个新的组。 动画组和插槽集中在 Anim Slot Manager 选项卡中。要打开它,请单击 AnimSlot Manager放大镜)图标。使用下拉菜单从可用插槽中进行选择。 在创建新的蒙太奇时,插槽节点在最初有一条 默认槽(Default Slot),这样它们就能立即发挥作用。

片段

片段(Sections) 区域中,你可以为在蒙太奇区域中定义的片段建立相互关系。

Sections UI

  1. 创建默认/清除(Create Default/Clear) - 点击 创建默认 在所有片段之间创建默认关联,并点击 清除 按钮将所有关联清除时将它们逐一串联起来。

  2. 片段按钮(Section Buttons) - 在此区域中,显示“蒙太奇”(Montage)区域中定义的每个片段对应的按钮。你可以将其分配给片段关联。

  3. 片段关联轨迹(Section Association Tracks) - 在这里,单击 预览所有片段(Preview All Sections) 可将动画片段之间的关系可视化,单击每个轨迹的 预览(Preview) 查看单个轨迹。

循环播放

可以将片段设置为无限循环播放,这对于任何需要重复的动作极为有用。 在一条片段关联轨迹中多次关联同一片段就可以使该关联轨迹循环运行。 这会将片段变成蓝色。

例如,一个角色正在为散弹枪装弹的动画,每次只能装填一颗子弹。你可以循环播放角色装入子弹的片段。然后使用 Notifies 在蓝图中创建 Notify 事件,没播放一次动画就增加一次弹药数。一旦数量达到设定值(代表装弹已满),就可以切换到角色关闭弹药并恢复闲散姿态的动画。

元素计时

元素计时(Element Timing) 轨迹从 蒙太奇通知 区域提取信息,以帮助设定不同片段的时间。

Element Timing Track

轨迹中的每个节点都有一个号码,表示该对象在蒙太奇中的触发顺序,并按以下规则显示颜色:

  • 红色 - 表示通知、通知状态和通知状态结束标记。

  • 浅蓝色 - 表示分支点。

  • 绿色 - 表示蒙太奇片段。

单击元素计时轨迹上的下拉按钮,将出现显示/隐藏其他信息的选项。

通知区域

Notifies Area

动画通知 (简称 通知(Notifies))可以将事件设置为在动画中的特定点发生。 例如,在上图中,我们将通知设置为每次播放装弹动画时,在装弹蒙太奇中播放拿起弹夹的声音。 我们还调用了一个名为 SpawnClip 的自定义事件。它可以用来生成代表弹药夹场景的网格体。 最后,在循环部分中使用 分支 事件,决定是否退出循环并前进到动画的结束片段。角色在结束片段会返回闲散姿态。

曲线

Curves Area

动画曲线 可以在动画播放期间更改材质参数或变形目标值的方法。 这样便可指定要更改的资源(材质或变形目标),相应地命名曲线,并在动画持续时间内调整关键帧值。

播放蒙太奇

蒙太奇资源可以根据需要以各种不同的方式播放。 如果希望骨架网格体自动播放蒙太奇,可将其指定为骨架网格体的 要播放的动画(Anim to Play)。 但是,如果只想在满足某些特定条件时播放蒙太奇,可创建 蓝图(Blueprint) 脚本,使用 播放蒙太奇(Play Montage) 节点调用蒙太奇或蒙太奇中的片段。 你还可以使用C++代码让蒙太奇根据指定的条件播放。

有关更多信息,请参阅使用动画蒙太奇 页面。

子蒙太奇

子蒙太奇(Child Montages) 可以创建千变万化的动画,而且不会影响Gameplay,也无需为多个资源重新创建或维护通知(或其他细节)。 例如,在实时策略(RTS)游戏中,你可以为单位制作各种自动攻击动画;或者在角色扮演游戏(RPG)或动作游戏中,根据角色手持的武器或佩戴的盔甲,更改角色的闲散动画。 在 内容浏览器(Content Browser) 中右键单击动画蒙太奇并选择 创建子蒙太奇(Create Child Montage) 选项,就可从现有动画蒙太奇创建子动画蒙太奇。

Child Montage Option

新蒙太奇与原蒙太奇的名称相同,但最后添加了“_Child”。

New Child Montage

当打开子蒙太奇时,蒙太奇中的所有元素都将显示为灰色,并在顶部显示说明其为子蒙太奇的文本。

Text Grayed Out

右键单击 插槽轨迹(Slot Track) 中的 动画片段(Anim Segment),可使用新动画将其覆盖。

Right-click to Change Anim Segment

你可以使用其他动画替换 插槽轨迹(Slot Track) 中的任何动画,即使长度不同也无妨。 虚幻引擎会自动调整替换动画的播放速率、开始时间和结束时间,这样它就可使用与原始动画同样的部分,按照原始动画的播放时间进行播放。 与父级相同的动画显示为绿色,被覆盖的动画显示为黄色。

Replaced Animations in Montage

在上图中,我们用另一个攻击动画替换了原来的攻击动画。

子蒙太奇不能用作其他子蒙太奇的父级。

Select Skin
Light
Dark
欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消

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

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

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

发表反馈意见