关键帧与效果参数

来自Light Stream (CN)

关键帧(keyframe)是时间轴(Timeline)上的一个标记,标记处效果的某个参数具有指定的数值。只要没有关键帧,该参数在整个效果持续时间内都保持同一个值:速度始终一样,亮度始终一样。放置两个数值不同的关键帧后,Light Stream 会自动计算它们之间的过渡值,参数便会随时间平滑变化。

关键帧可以为效果的不透明度(Opacity)以及它的任何滑块参数制作动画:速度、大小、元素数量,以及颜色的 RGB 分量。利用关键帧可以做出平滑的淡入淡出、加速与停止,以及在精确的某一秒完成颜色变化。

效果参数在哪里

选中效果——单击它在时间轴(Timeline)上的色条,或单击它名称所在的行。参数会同时出现在两个地方。

属性(Properties)窗口——效果参数的完整集合:滑块、数值输入框、复选框、列表、颜色选择器。在这里凭眼睛调整数值很方便。参数名称位于其所在行的上方,行本身的排布是:数值输入框、滑块,右侧是L按钮和秒表图标。

时间轴(Timeline)窗口——效果按列表形式排列在时间刻度的左侧。效果所在的行,除了启用复选框和名称之外,还有一个混合模式(blend mode)列表,以及带有◀ ◆ ▶按钮的Opacity数值。名称左侧的三角形可以展开效果的参数列表——但并非全部参数:效果下方只以简单列表(不分组)的形式显示已开启关键帧模式的参数。只要还没有这样的参数,三角形就不可用。每一行对面、在时间刻度上,都有该参数自己的轨道——关键帧就存在于这条轨道上。

这其实是同一组数值以两种方式呈现:在一个窗口里改动的值,会立刻在另一个窗口里同步改变。在属性(Properties)中调整数值更方便,而在时间轴(Timeline)上安排它们随时间分布更方便。

参数的三种状态

效果的每个参数在任意时刻都处于三种状态之一,并且始终只有其中一种状态生效。

状态 工作方式
固定值 数值由滑块或输入框设定,不随时间变化。所有参数默认都是这种方式
关键帧 数值由参数轨道上的关键帧设定,并随时间变化。在关键帧之间,程序会计算过渡值
函数 数值按照公式计算——正弦、线性、脉冲或噪声——只要效果在播放,就会无限重复

开启关键帧

关键帧模式的开关是参数行末尾的秒表图标,位于L按钮右侧。它只存在于属性(Properties)窗口中:时间轴(Timeline)上没有秒表。关闭状态的秒表是灰色的,开启状态是蓝色的。

  1. 选中效果,在属性(Properties)窗口中找到所需的参数。
  2. 点击秒表——参数进入关键帧模式。

开启后,程序会立即在效果起始处放置第一个关键帧,数值就是参数之前的值。画面不会发生变化:只有一个关键帧仍然等同于固定值。不过,该参数现在会出现在时间轴(Timeline)上效果的下方(如果效果原本是折叠的,会自动展开),并拥有自己的轨道。

不透明度(Opacity)以及所有滑块参数都带有秒表。颜色是按分量制作动画的:它有三个滑块——RGB,每个都有自己的秒表。复选框、列表和文本框无法用关键帧制作动画。

放置关键帧

最简单的方法就是在不同的时间点直接设置参数的数值。

  1. 把播放光标放到时间轴(Timeline)上第一个数值应该出现的位置。
  2. 用滑块或数值输入框设置参数值。参数轨道上光标所在的位置会出现一个关键帧。
  3. 把光标移到后面,设置另一个数值——会出现第二个关键帧。
  4. 完成:在两个关键帧之间,参数会从第一个值平滑过渡到第二个值。

这也解释了关键帧模式的一个主要特点:滑块和输入框不再设置参数的“整体”数值,而是编辑光标所在位置的数值。如果该帧上没有关键帧,就会新建一个;如果已经有了,就会修改它的数值。

也可以用按钮在不改动数值的情况下放置关键帧。时间轴(Timeline)上参数所在的行里有三个小按钮——◀ ◆ ▶,后面是数值输入框和垃圾桶按钮。中间的菱形按钮会在当前帧上放置一个关键帧,数值就是参数当前的值;如果该帧上已经有关键帧,再次点击会将其删除。效果自身所在的行里也有同样的按钮,作用于它的不透明度(Opacity):Opacity关键帧直接落在效果的色条上。

第三种方法是直接在轨道上操作。双击参数的轨道:它会高亮显示,轨道上会出现菱形的关键帧标记——这就是编辑模式。此后每一次双击轨道,都会在该位置新建一个关键帧:水平位置决定时间,垂直位置决定数值——轨道底部对应参数的最小值,顶部对应最大值。

连接各关键帧的连线始终显示在轨道上,而菱形标记只在编辑模式下才可见。

关键帧属于效果,而不属于合成(Composition):关键帧的时间是从效果的起始点开始计算的。如果在时间轴上移动效果,它的整段动画都会跟着一起移动。

编辑关键帧

要处理已有的关键帧,需要进入轨道的编辑模式——双击轨道即可。退出编辑模式按EnterEsc键。

操作 方法
选中关键帧 单击轨道上的菱形标记。选中的关键帧变为红色,光标所在的关键帧变为白色
选中多个关键帧 按住CtrlShift单击各个关键帧
取消选中 单击轨道上的空白处
移动关键帧 拖动:水平方向改变时间,垂直方向改变数值。已选中的多个关键帧会一起移动
删除关键帧 DeleteBackspace键;或右键单击关键帧后选择Delete
撤销误操作 Ctrl+Z,重做用Ctrl+Shift+Z

关键帧总是精确落在合成的帧上,因此同一参数的两个关键帧不可能出现在同一个点上。相邻的关键帧互为边界:拖动时无法把一个关键帧越过相邻的关键帧、交换它们的位置。关键帧也不能超出效果的范围——靠近边缘时,拖动会吸附到色条的起点和终点。

第一个关键帧之前与最后一个关键帧之后

在最外侧关键帧之外,数值不会变化:在第一个关键帧之前,参数保持第一个关键帧的值;在最后一个关键帧之后,保持最后一个关键帧的值。动画不会自动回到初始状态。如果效果结束时应该和开始时一样,就在末尾再放置一个数值合适的关键帧。

在关键帧之间跳转

菱形两侧的箭头按钮,会把播放光标移动到该参数的上一个或下一个关键帧,同时选中它并打开轨道供编辑。

这样便于精确定位到某个关键帧:用箭头跳到它上面,再用滑块调整数值,不用担心不小心在旁边新建多余的关键帧。如果对应方向已经没有关键帧,按钮就不起作用。

关闭动画

再次点击秒表,它会熄灭,参数会恢复为开启关键帧之前的固定值。此时该参数所在的行会从时间轴(Timeline)上效果下方的列表中消失:那里只显示处于关键帧模式的参数。

时间轴(Timeline)上参数行末尾的垃圾桶按钮效果相同——它会把参数从时间轴上移除,并恢复为固定值。

这两种情况下,已经放置好的关键帧都不会丢失:重新开启秒表,动画会以原样恢复。要彻底去掉动画,需要从轨道上删除关键帧。

用函数代替关键帧

如果不需要按点精确编排的运动,而是需要无限循环的均匀波动——闪烁、平滑脉动、随机抖动——那么给参数指定一个函数会比用关键帧更简单。函数由程序自动计算,不需要关键帧,并且只要效果在播放就不会结束。

属性(Properties)窗口中,参数滑块旁边有一个L按钮。点击它,选择函数(Functions),然后从中选择需要的函数。

函数 作用
正弦(Sine) 让数值在最小值和最大值之间平滑往返变化。适合“呼吸感”、亮度或大小的平滑脉动
线性(Linear) 让数值从最小值均匀变化到最大值,然后重新开始。勾选往返(Back and Forth)后,数值会往返变化,而不是跳变回起点
脉冲(Pulses) 矩形式的开关变化:数值停留在最小值,然后跳变到最大值。可用于频闪和闪烁效果
噪声(Noise) 随机的平滑变化——抖动、“活火焰”效果、混乱的闪烁

同一菜单中的设置(Settings)项会打开所选函数的参数窗口。窗口中的字段取决于所选的函数;按EnterEsc键关闭窗口。

参数 作用
函数周期(秒) 正弦(Sine)线性(Linear)函数一个周期的长度
间隔(秒) 脉冲(Pulses)函数一个周期的长度
脉冲分布(%) 脉冲(Pulses)函数中,一个周期内关闭部分与开启部分的比例
频率 噪声(Noise)函数数值变化的速度
初始值 噪声(Noise)随机序列的种子。点击新建(New)按钮会更换一个种子,抖动的图案随之改变
最小值(%)最大值(%) 数值变化的边界,以参数完整范围的 0 到 1 之间的比例给出
时间偏移(%) 使函数产生相位偏移。当多个效果使用相同的函数、需要在时间上错开时很有用
往返 仅适用于线性(Linear):数值来回变化,不会跳回起点

只要参数由函数控制,滑块就不会改变它,同时该按钮上的文字会由L变为F并显示为橙色。要恢复手动控制,依次选择F函数(Functions)清除(Clear)

从外部控制参数

同样的L按钮可以把参数与外部信号源关联起来,让它可以在演出过程中实时控制,而不是提前设定好。

  • OSCMIDIDMX ——参数开始监听接收到的指令:消息、音符、通道。程序会打开一个窗口,你需要在其中指定该指令,或者直接从控制台发送它。
  • 虚拟控制器(Virtual Controller) ——参数会绑定到虚拟控制器(Virtual Controller)窗口中的某个滑块或调色板(设置(Settings)菜单 → 虚拟控制器(Virtual Controller);也可以直接从该子菜单中的打开虚拟控制器(Open Virtual Controller)项打开它)。滑块和调色板在该窗口中添加,一个滑块可以同时控制多个不同效果的参数——当需要用一个动作改变整个项目里相同的亮度或颜色时非常方便。

如果参数至少有一个绑定,按钮就会显示为橙色;将光标悬停在按钮上,可以看到列出所有绑定的提示信息。菜单末尾的清除(Clear)项会解除所有绑定,同时也会清除函数,但不会影响关键帧。

遇到问题时

滑块无法改变参数。 该参数已开启关键帧模式,或者已指定函数。在关键帧模式下,数值的修改会发生在光标所在的位置并写入关键帧;而在函数模式下则完全无法修改。关闭秒表或清除函数即可恢复正常状态。

时间轴上看不到需要的参数。 那里只显示已开启关键帧模式的参数。请在属性(Properties)窗口中找到该参数,点击它的秒表

效果不会回到初始状态。 最后一个关键帧之后,数值只是保持不变。请在动画应达到最终状态的位置再放置一个结束关键帧。

关键帧过多导致程序卡顿。 实时更新数值对电脑的负担很明显。请关闭播放时更新关键帧数据(Update Keyframe Data During Playback)设置——设置(Settings)菜单 → 属性(Properties)(Ctrl+P),常规(General)选项卡,其他(Other)分组。动画本身依旧照常计算,只是数值输入框不再实时刷新。

另请参阅