列表控制器

列表控制器将多个控制器合成为一个单独的效果。它是一个复合控制器,带有用于管理其组件控制器计算方式的工具。控制器按从上到下的顺序计算。另外,可以指定列表中每个控制器的权重设置,以确定它的相关影响。

当对一个参数指定列表控制器时,当前控制器在列表控制器中向下移动一级;此指定控制器将成为列表中的第一个控制器。将名为“可用”第二个参数添加于列表控制器的下面。这是为下一个要添加至列表的控制器准备的空占位符。

默认情况下,列出的每个控制器的“权重”设置都设置为 100.0。可以更改此设置来增加或减少控制器对对象的影响。

当指定了使用“动画”菜单的控制器时,默认设置自动指定一个列表控制器,列表中的第一项会放置选择的控制器。此行为与在“运动”面板或“轨迹视图”中指定控制器不同。此时,只分配指定控制器。

可以对列表控制器的权重设置动画来获得相当于非线性动画系统的效果。每个列表控制器轨迹都可以保留帧与帧间不同的值,可以启用或禁用它们,或者通过设置权重动画来在它们之间进行混合。

关联动画和基于表达式的动画

使用参数关联或表达式设置层次成员的动画时,“列表”控制器非常有用。如果对象只有一个控制器,则通过关联或表达式为它(或列表中的第一个控制器)设置动画将始终使用父对象的坐标系(如果对象没有父对象,则使用世界坐标系)。然而,在大多数这样的情况下,需要在对象的局部坐标系中设置动画。后者需要关联到控制器列表中的第二个控制器(或使用“表达式”控制器作为列表中的第二个控制器)。

提示: 您可以使用冻结变换命令将“列表”控制器同时应用于多个对象,这一点通过标准“指定控制器”功能是无法实现的。“冻结”对象的变换将创建一个双控制器列表,其中第二个控制器默认为用于该对象的变换,以便与第二个控制器关联。

过程

示例:要使用列表控制器来合成两个控制器,请执行以下操作:

  1. 创建一个长方体,然后启用 。(请参见自动关键点动画模式。)
  2. 创建一个包含三个位置关键点的简单动画。
  3. “运动”面板 “参数”“指定控制器”卷展栏上,单击位置轨迹以将其高亮显示。
  4. 单击 (指定控制器)。
  5. 单击“指定位置控制器”对话框上的“位置列表”。单击“确定”。
  6. 在“位置轨迹”上单击加号来展开轨迹。

    可以看到一个 XYZ 位置轨迹和一个带有“可用”标签的轨迹。

  7. 单击名为“可用”的轨迹,然后单击“指定控制器” 按钮。
  8. 在“指定控制器”对话框中选择“噪波位置”,然后单击“确定”。

    “噪波控制器”对话框将打开。

  9. 播放 动画。
    长方体沿着原始动画路径移动但是会随机产生摆动。

    为每个控制器试验不同的“权重”设置并观察结果。

界面

注: “位置列表”、“旋转列表”和“变换列表”卷展栏具有几乎相同的界面选项。本主题完整介绍了“位置列表”卷展栏,后面的部分仅包含额外的“旋转列表”和“变换列表”卷展栏选项。

“运动”面板 >“参数”>“位置列表”卷展栏

列表窗口
在一个列表中显示所有控制器,计算顺序为从上到下。首先计算列表顶端的控制器;下面的控制器会分层放入上面控制器的结果中。
  • 在表中双击列表名称以设置活动项或重命名。要添加到列表,请将控制器指定给“可用”的动画子项。
  • 双击控制器旁边的“权重”值以更改条目强度。提供给所选的权重方法。

    通过增加或降低权重值来扩大或缩小控制器的效果。默认值为 100.0。

附加
将新的默认控制器添加到列表的末尾。(通过在指定控制器列表中选择控制器并单击“设为默认值”按钮,可以设置新的默认控制器。)
指定
将选定控制器替换为新控制器。
单击“指定”可打开指定控制器列表。双击控制器以用它替换选定的“位置列表”控制器。
注: 替换控制器仍使用原始控制器的权重值。
设置激活

确定在视口中交互改变所影响的控制器。当前活动控制器在列表中用一个箭头来标记。

例如,一个使用位置列表的对象,在列表中有“噪波位置”和“Bezier 位置”。“Bezier 位置控制器”控制对象的常规运动路径,而“噪波位置控制器”对运动添加一个随机的晃动。
  • 如果激活“Bezier 位置”控制器,可以随意的在场景中移动对象。
  • 如果激活“噪波位置”控制器,将不能移动对象,因为噪波不是交互控制器。
删除

删除选中的控制器。

剪切

移除选中的控制器并将它保存到临时的剪贴板上。剪贴板内容仅保留在控制器本身中,直到粘贴控制器。

粘贴

将剪贴板的内容放到选定控制器上的位置。粘贴之后剪贴板被清空。

权重 > 规格化权重
选择“权重”选项以激活“权重”设置:

启用此项后,列表中的所有控制器的权重值被平均化。只适用于“变换列表”、“位置列表”和“缩放列表”控制器。默认设置为禁用。

索引
选择“索引”选项以激活“索引”设置:
设置 函数
索引 选择要使用的子控制器。
按名称 通过名称搜索选择子控制器索引。匹配不完整的名称。在表中双击以重命名。
可编辑名称字段

在控制器列表的列表窗口中选择一个控制器,并在此字段中输入一个具有说明性的名称。该字段允许对控制器进行重命名使之更易于识别。

“运动”面板 >“参数”>“旋转列表”卷展栏

注: “旋转列表”卷展栏界面与“位置列表”卷展栏相同,但“分位式”权重设置除外。有关所有其他设置,请参考本主题开头列出的“位置列表”卷展栏示例。
分位式

在列表上的控制器之间启用混合。只适用于“旋转列表”控制器。默认设置为禁用。

如果禁用此选项,则列表控制器将对每个旋转单独加权,然后合计加权的旋转,以获得最终效果。通过在层的顶部堆栈层,然后加权其内外的效果,您可以设置动画。这是默认设置。

启用时,每种姿势将与列表中以前的控制器中的效果混合。这种方法不能相加,但是却是真正的姿势到姿势混合。调整列表中控制器的权重可以混合到一个姿势(列表中的控制器)或从该姿势进行混合。如果最后的权重是 100.0,则调整列表中以前姿势的权重不会起任何作用,因为最后的姿势已经完整效果。这是一种基于堆栈的方法,最适用于非线性动画 (NLA) 效果。可以将运动剪辑甚至单帧姿势粘贴到新层中,并使用权重将姿势混合在一起。

“运动”面板 >“参数”>“变换列表”卷展栏

注: “变换列表”卷展栏界面与“位置列表”卷展栏相同,但“列表从属关系”和“权重”权重设置除外。有关所有其他设置,请参考本主题开头列出的“位置列表”卷展栏示例。
列表从属关系

使用“列表从属关系”选项将列表视为扇形或链:它是否与顺序相关、是否需要精确的父变换?

相关性 行为
扇形 将父变换传递到列表条目,然后使用权重方法将其混合在一起。当条目是独立的且顺序无关紧要时,此设置非常有用。
将前一个结果作为父变换传递到下一项,然后使用权重方法进行混合。当列表与顺序相关或需要精确的父变换(例如,带约束)时,此设置非常有用
权重
选择如何应用权重:
权重类型 行为
单独加权 单独对列表条目进行加权,然后进行组合。旋转分量权重钳制在 [-100%,100%] 之间。
注: 避免非均匀缩放
将前一项插值 将前一个列表条目插值到当前条目。旋转是分位式插值,例如 rotation_list(钳制在 [-100%,100%])。对来自前一项的倍增差值进行缩放加权。
注: 避免非均匀缩放

“列表控制器”上下文菜单

在“列表控制器列表”窗口中单击鼠标右键将打开一个上下文菜单,其中包含用于管理和指定控制器的基本功能。
指定控制器
打开指定控制器列表。
复制控制器
复制选定的控制器并将其存储在剪贴板上。
粘贴控制器(复制/实例/连线)
将剪贴板上的控制器插入“列表”窗口。在以下粘贴操作之间进行选择:
复制

将缓冲区中的动画控制器副本指定给右键单击的字段。

实例

将复制的动画控制器的实例指定给右键单击的字段。

连线

打开“参数关联”对话框,并选择所复制参数和粘贴目标参数。这相当于在两个参数之间的视口中创建连线参数。

重置为默认控制器
将选定的控制器恢复为默认控制器。
在轨迹视图中显示

打开“轨迹视图 - 曲线编辑器”窗口,该窗口的标题为“选定”,且已展开至显示选定参数的位置。这对于快速访问特定曲线或轨迹特别有用。

在参数连线对话框中显示

打开“参数关联”对话框,并将焦点放在选定参数上。

在参数连线对话框中显示连线
打开选定控制器上的焦点。