动画层模式

主要有两种动画层模式会影响结果动画的计算方式:“相加”(Additive)“覆盖”(Override)。以下各节分别介绍了每种模式。另请参见设置动画层模式

动画层编辑器(Animation Layer Editor):A.覆盖层,B.相加层,C.层的“权重”(Weight)

“相加”(Additive)模式

当处于“相加”(Additive)模式时,动画层会将其动画“添加”到堆栈中位于它前面且影响相同属性的层中。

例如,如果 AnimLayer1 和 AnimLayer2 都包含球体的 translateX 属性,生成的球体 translateX 值将是这两个层的 translateX 值的和。

注:

布尔属性(例如“可见性”(Visibility))和枚举类型属性始终以“覆盖”(Override)模式计算,即使在“相加”(Additive)模式下将其添加到动画层也是如此。

“覆盖”(Override)模式

当处于“覆盖”(Override)模式时,动画层将覆盖具有相同属性且在堆栈中位于它前面的任何层的动画。

例如:AnimLayer1 和 AnimLayer2 均处于“覆盖”(Override)模式。AnimLayer1 上球体的 translateX 值为 10,AnimLayer2 上同一属性的值为 15。在结果动画中,球体的 translateX 值将为 15。

当动画层处于“覆盖”(Override)模式时,其名称以粗体形式显示在“动画层编辑器”(Animation Layer Editor)中。

可以通过启用“通过”(Passthrough)选项并设置“权重”(Weight)值动画,来修改“覆盖”(Override)层的不透明度。下面一节介绍了“覆盖-通过”(Override-Passthrough)模式。

“覆盖-通过”(Override-Passthrough)模式

当动画层处于“覆盖”(Override)模式时,您还可以启用“通过”(Passthrough)选项。通过“通过”(Passthrough),您可以打开和关闭“覆盖”(Override)层的不透明度。

“通过”(Passthrough)处于禁用状态时,层始终完全不透明,将阻塞具有共享属性的前面层中的所有动画。当“通过”(Passthrough)处于启用状态时,您可以修改层的不透明度,以控制允许在结果中播放的前面层中的动画量。

如果将“覆盖”(Override)层视为动画层堆栈中的一道门,那么“通过”(Passthrough)选项就用于控制这道门是锁定还是解除锁定。当“通过”(Passthrough)处于禁用状态时,这道门将被锁闭,不允许前面层中的任何动画通过。当“通过”(Passthrough)处于启用状态时,这道门可以打开,其他动画可以通过。

启用“通过”(Passthrough)后,您可以通过设置层的“权重”(Weight)值来控制层的不透明度。这道门处于解除锁定状态,并且“权重”(Weight)值确定门将旋转打开的距离。

下图阐释了当“权重”(Weight)值随着“通过”(Passthrough)模式的启用和禁用而变化时覆盖动画层不透明度的变化。

“通过”(Passthrough)处于启用状态并且“权重”(Weight)值设置为 1 时,层完全不透明,并且其完整动画会在结果中播放。当“权重”(Weight)设置为 0.5 时,层中一半的动画会在结果中播放,另一半的动画来自前面层。如果“权重”(Weight)为 0,层完全透明。它的任何动画都不会在结果中播放,而是播放前面层中的完整动画。

“通过”(Passthrough)处于禁用状态时,层完全不透明,并阻塞前面层中的所有动画。设置“权重”(Weight)值动画仍将控制层中将有多少动画在结果中播放。

相关主题