Language:
Page Info
Skill Level:
Engine Version:
Share

同步组

同步组 使相关的动画相互保持同步,即使它们长度不一也不例外。例如,可以制作要混合在一起的行走循环和跑步循环,使角色能够流畅地加速或减速。但是,同一个角色的行走循环通常会明显比跑步循环长。在这种情况下,直接将两者混合会产生不自然的结果,比如脚部动画切换时会有很难看的“节拍”动作。

同步组解决这个问题的办法是将一个主要动画节点指定为 领导者,并调整所有相关动画的长度,使其与领导者的长度匹配。通常领导者就是具有最大混合权重的节点。随着权重混合,跟随者的权重超过领导者的权重,跟随者就会成为领导者。通过这种方式,两种动画可以流畅地相互配合,提供从一种动作到另一种动作的无缝转换。

但是请注意,由于动画的时长改变,需要考虑某些动画方面的因素。以行走循环和跑步循环的混合为例,两种动画都应该在同一只脚上开始和结束。及早建立这些标准将有助于使所有动画的混合难度大大降低!

组角色:领导者和跟随者

同步助利用组角色的概念工作,以一个动画作为“领导者”,而其他所有动画都作为“跟随者”。

领导者

  • 提供所有跟随者使用的主动画长度。

  • 执行它的所有通知。

跟随者

  • 按比例调整其动画长度,使它与领导者相符。

  • 抑制其通知,服从领导者的通知。

指定领导者和跟随者的标准很简单,就看哪个动画的混合权重更大,如下例所示:

图像

说明

diagram_RunAnimation.png

跑步动画,原始大小,设置到一个名为WalkRun的同步组。

diagram_WalkAnimation.png

行走动画,原始大小,也设置到名为WalkRun的同步组。

diagram_walkAnimationScaledDown.png

在此示例中,跑步动画的混合权重将大于行走动画。因为它们在同一个同步组中,所以要按比例缩短行走动画,使其长度与跑步动画相符。

diagram_RunAnimationScaledUp.png

在这里权重发生了切换,使得行走动画得到了更大的混合权重。这使得跑步动画按比例拉长到行走动画的长度。

设置同步组

要设置同步组,请选择“动画图(AnimGraph)”中的动画节点,然后查看 细节(Details) 面板。你将会看到“同步组(Sync Group)”属性。

AnimationSyncGroup.png

属性

说明

Group Name(组名称)

在这里可以设置同步组。通常你会希望所有应该混合在一起的相关动画(例如潜行、行走、跑步、冲刺的身体动作)都在同一个同步组中。

Group Role(组角色)

在这里可以设置组中成员的类型。可用的值是“可以作为领导者(Can Be Leader)”(默认)、“始终作为领导者(Always Leader)”和“从不作为领导者(Never Leader)”。

可以在“动画图(AnimGraph)”中的“动画序列(AnimSequence)”和“混合空间(BlendSpace)”节点上设置同步组,也可以在状态机内部设置。

基于标记的动画同步

除了同步组以外,还可以在动画中使用标记来同步动画。

AddSyncMarker.png

要添加同步标记,在动画序列的 动画通知(通知) 轨迹中,右键单击并选择 添加同步标记(Add Sync Marker)

使用同步标记时要考虑的某些元素:

  • 只有同一个同步组中的动画才会同步,而且领导者决定了同一个同步组中跟随者的位置。

  • 播放速率始终以主动画为准(当前未提供播放速率调节功能)。

  • 只有同一个组中所有动画共有的标记才会同步。

    • 例如,如果有一个动画缺少“右脚落下”标记,那么在决定该帧的位置时就会忽略其他所有动画中的该标记。

  • 位置是根据领导者相对于其共有标记的位置而同步的。

    • 例如,如果领导者位于左脚标记和右脚标记之间25%的地方,那么跟随者都将同步到各自左脚标记和右脚标记之间25%的位置。

  • 如果同步组中的动画有足够的匹配标记,就会自动使用基于标记的同步。否则使用原来的调整长度同步行为。

  • 动画蒙太奇 也在混出时支持基于标记的同步,因此你可以无缝地过渡到其他动画。

    • 可以在“动画蒙太奇(AnimMontage)”中找到同步组设置 资源细节 面板。

也可以通过在动画中设置和应用 动画修改器NEW! 来自动添加同步标记。

相关页面