关键帧与效果参数

来自Light Stream (CN)
LumiBot讨论 | 贡献2026年9月2日 (三) 18:51的版本 (Перевод с русской вики (задача №963, LS Dev Hub))
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

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

关键帧几乎可以为效果的所有属性设置动画:不透明度、速度、大小、旋转角度、元素数量、颜色。借助关键帧可以实现平滑的淡入淡出、加速与停止,以及在精确的某一秒完成颜色切换。

效果参数的位置

选中效果——点击时间线(Timeline)上它的色条,或点击带有它名称的那一行。参数会同时显示在两个地方。

属性(Properties)窗口——效果参数的完整集合:滑块、数值输入框、复选框、下拉列表、颜色选择器。在这里凭肉眼调整数值很方便。

时间线(Timeline)窗口——在时间刻度左侧以列表形式列出各个效果。点击效果名称左侧的三角形,其下会展开同样的参数,并按组分类。在时间刻度上,每个参数对应位置都有它自己的轨道——关键帧就存放在这条轨道上。

这是同一组参数以两种不同方式显示:在一个窗口中修改的数值会立即在另一个窗口中同步变化。在属性中挑选数值更方便,在时间线上按时间排布则更方便。

参数的三种状态

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

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

启用关键帧

关键帧模式开关是参数旁边的秒表图标:在属性窗口中它位于滑块右侧,在时间线中它位于参数名称左侧。关闭状态的秒表是灰色的,启用后会变为橙色。

  1. 选中效果,找到所需的参数。
  2. 点击秒表——参数即切换到关键帧模式。

启用之后不会立即产生变化:只要参数还没有任何关键帧,它就会保持原来的数值。

设置关键帧

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

  1. 把播放光标放到时间线上第一个数值应在的位置。
  2. 设置参数的数值——用滑块、数值输入框或颜色选择器均可。光标所在位置的参数轨道上会出现一个关键帧。
  3. 把光标移到后面,设置另一个数值——会出现第二个关键帧。
  4. 完成:在这两个关键帧之间,参数会从第一个值平滑过渡到第二个值。

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

也可以用按钮在不改动数值的情况下放置关键帧。在时间线上参数所在的行里有三个小按钮——◀ ◆ ▶。中间的菱形按钮会在当前帧上放置一个关键帧,其值为参数当前的数值;如果该帧上已经有关键帧,再次点击会将其删除。

第三种方法是直接在轨道上操作。双击参数的轨道:它会切换到关键帧编辑模式。之后每次双击轨道都会在该位置新建一个关键帧——水平方向决定时间,垂直方向决定数值:轨道底部对应参数的最小值,顶部对应最大值。

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

编辑关键帧

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

操作 方法
选中一个关键帧 点击轨道上的菱形
选中多个关键帧 按住CtrlShift点击;或从轨道空白处开始拖拽,用选框框选关键帧
移动关键帧 拖动它:水平方向改变时间,垂直方向改变数值。被选中的多个关键帧会一起移动
删除关键帧 DeleteBackspace;或右键点击关键帧→Delete
撤销误操作 Ctrl+Z,重做则用Ctrl+Shift+Z

关键帧会精确对齐到合成的帧上,因此同一个参数的两个关键帧不可能出现在同一个位置。

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

在最外侧的关键帧范围之外,数值不会变化:第一个关键帧之前,参数保持第一个关键帧的数值;最后一个关键帧之后,保持最后一个关键帧的数值。动画不会自动回到初始状态。如果效果结束时应恢复到开始时的样子,就在末尾再放一个具有所需数值的关键帧。

在关键帧之间跳转

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

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

关闭动画

再次点击秒表——它会熄灭,参数会恢复到启用关键帧之前的固定数值。

已经设置好的关键帧并不会因此消失:重新打开秒表,动画会以原样恢复。要彻底去掉动画,需要删除轨道上的关键帧。

用函数代替关键帧

如果需要的不是逐点精确控制的动作,而是无限循环的均匀振荡——例如闪烁、平滑的明暗脉动、随机抖动——那么为参数指定一个函数(Function)会比使用关键帧更简单。函数由程序自行计算,不需要关键帧,并且只要效果还在播放就不会停止。

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

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

同一菜单中的设置(Settings)项会打开所选函数的参数窗口。

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

当参数由函数控制时,滑块不会再改变它,L按钮会显示为橙色。要恢复手动控制,选择L函数清除(Clear)

从外部控制参数

同样的L按钮可以把参数与外部信号源关联起来,以便在演出过程中实时调节,而不是事先设定好。

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

如果参数至少有一个绑定,L按钮就会显示为橙色;把光标悬停在它上面可以看到列出所有绑定的提示信息。菜单末尾的清除(Clear)项会解除所有绑定。

常见问题

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

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

关键帧数量较多时程序运行卡顿。 实时更新数值会明显加重电脑的负担。请关闭播放时更新关键帧数据(Update keyframe data during playback)这一设置——位于设置(Settings)菜单→属性(Properties)常规(General)选项卡,其他(Miscellaneous)分组。动画的计算依旧照常进行,只是数值输入框不再实时刷新。

参见