MediaStorm Motion Graphics
使用运动来清晰传达信息、引导注意力,并在稳定的帧网格上呈现变化。本技能涵盖四个相关但不同的任务:参数动画、点跟踪标签、数字闪烁以及计时器/包装构建。
使用时机
- 需要为推拉镜头、平移或构图变化添加缩放/位置关键帧和缓动。
- 标签需要跟随移动的特征,但不应继承不必要的缩放或透视。
- 数字、价格、计数器或计时器需要快速变化并保持可读性。
- 包装元素需要入场/出场动画、遮罩窗口或预设。
- 运动设计需要交付给 Remotion 或使用 TypeScript 实现。
请不要将此技能用于平面跟踪(请转向 mediastorm-compositing-tracking)、抠像/遮罩、色彩校正或故事顺序。
需要确定的输入
- 信息任务:观众应该注意到、阅读或理解什么?
- 开始/结束构图、精确的动作时间以及项目帧率。
- 目标:段内参数、跟踪标签、数字闪烁或计时器。
- 运动是装饰性的还是承载意义的;如果是装饰性的,为什么需要它?
- 交付帧率以及最终的运动效果是否将在正常速度下被评判。
工作流程
- 在添加关键帧之前,定义目的和精确的动作时间。推拉镜头应有一个目标构图,而不仅仅是“让它变大”。
- 将关键帧值视为段内局部。分割或替换媒体可能会重置看似共享的参数 [课程证据][08 01:00–02:40]。
- 对于推拉镜头,刻意结合缩放和位置。课程的手机推拉示例结束于缩放
286%、位置 X0、Y-2219;开始于缩放100%、位置0/0。354% 和 214% 的读数是拖动过程中的中间值,不是最终预设 [采样截图][08 05:58.5 / 06:22.5]。 - 打开关键帧速度曲线面板,检查所有三条曲线:缩放、位置 X 和位置 Y。面板范围是缩放
4.00–0.00、X768–-768、Y432–-2160;默认为线性 [采样截图][08 07:59.0 / 08:20.5]。 - 始终如一地应用缓动。课程的预设列表为
无 / 缓入 / 二次方缓入 / 三次方缓入 / 缓出 / 二次方缓出 / 三次方缓出 / 缓动 / 二次方缓动 / 三次方缓动 / 回弹展开 / 线性。演示为所有三条曲线选择了二次方缓入 [采样截图][08 09:18.5]。 - 对于点跟踪标签,选择一个稳定、高对比度且始终可见的特征。仅启用标签应继承的维度;课程在 08:26 关闭了
缩放/距离,以便文字仅跟随位置 [采样截图][12 08:24–08:26]。 - 在跟踪前修剪未使用的素材。跟踪整个片段会浪费计算资源,并使标签更难控制 [课程证据][12 09:19–10:57]。
- 对于数字闪烁,在帧网格上构建短文本段。课程的设计单元约为 2 帧/段,但完成的帧网格显示第一次运行中有 8 个值/15 帧(约 0.50 秒),第二次运行中有 6 个值/11 帧(约 0.37 秒),每个值保持 1-3 帧 [采样截图][12 12:48–14:35]。不要将“2 帧”作为字面结果重复;请验证完成的网格。
- 对于计时器/包装,明确构建结构:黑屏源、矩形遮罩、圆角半径、描边、阴影、不透明度、重复背景块、文本数字、阴影、入场动画和偏移阶梯。课程计时器使用
538×540的遮罩、半径 27、白色描边 2、阴影100/19/0/0、图像不透明度 45%、文本大小 15、文本缩放 134%、文本阴影45/16/0/0[采样截图][15 16:30–19:47]。 - 将入场和出场动画与一致的风格、位置配对,并且仅在包装受益时使用轻微重叠。课程将向上出场/入场配对,面板设置约为
0.4 秒;预览中的可见重叠约为 5 帧(约 0.17 秒)[采样截图][12 14:35–17:29]。 - 检查遮挡、安全区域、可读性、相邻动画,以及是否有转场或叠加使测试目标变得不纯粹。
- 在实际播放器中以正常速度验证。静止画面无法证明缓动感觉、数字可读性或跟踪稳定性。
决策规则
- 如果运动没有信息任务,请移除它;“看起来动态”不是一项任务。
- 如果缩放和位置一起动画,对齐它们的开始/结束时间并检查两条曲线;在位置线性移动的同时仅对缩放进行缓动,读起来像是两个事件。
- 如果关键帧标记在段上看起来是实心的,仍然检查参数行;课程 06:22.5 的视图显示了一个空心的缩放菱形和一个实心的位置菱形,这是一个需要验证的冲突,而不是预设 [待验证]。
- 对于跟踪标签,仅位置是默认值;仅在标签应继承深度时添加缩放/距离。
- 对于数字闪烁,使用整数帧计算,并使最终值保持足够长的时间以便阅读。
- 如果计时器/包装使用了预设,记录该预设和项目帧率;在不同尺寸下保存的预设可能不匹配。
- 如果运动效果只在代理预览中可见,请勿批准;请检查界面/导出。
CapCut 执行说明
capcut keyframe支持批量以及linear/ease-in/ease-out/ease-in-out/hold;缓动需要相同属性的相邻关键帧,而保持需要后续关键帧。- 在先前验证的 macOS 路径上,Alpha 关键帧不是可靠的淡入淡出机制;请酌情使用动画素材或
image-anim。 add-text、image-anim和text-anim有 CLI 约定,但最终视觉结果仍需 CapCut 接受。- 对于跟踪标签,课程使用文本/跟踪面板;不要假设 CLI 关键帧等同于 CapCut 跟踪求解器。
Remotion / TypeScript 适配器
- 使用
interpolate+Easing.bezier/Easing.spring驱动值;读取useCurrentFrame()和useVideoConfig().fps。 - 使用
@remotion/shapes处理矩形/圆形/星形,使用@remotion/layout-utils测量/适配文本,使用@remotion/motion-blur处理模糊。 - 数字闪烁:从
Math.floor(frame / framesPerValue)推导当前值,然后在帧网格上保持最终值。 - Remotion 没有点跟踪面板;将外部数据的跟踪坐标馈送到变换中。
失败条件
- 动作时间未知,关键帧凭感觉放置。
- 缩放和位置曲线不匹配。
- 跟踪标签意外继承了缩放或透视。
- 数字闪烁以毫秒为单位设计,并在编辑过程中漂移。
- 最终值保持时间不足以阅读。
- 计时器包装从预设构建,未检查尺寸/帧率。
- 运动效果从静态画面或代理预览中得到批准。
验收清单
- 运动有明确的信息任务。
- 开始/结束构图和动作时间已记录。
- 缩放/位置曲线对齐并始终如一地应用缓动。
- 跟踪标签仅使用预期的维度。
- 数字闪烁位于帧网格上;最终值保持。
- 计时器/包装的几何和文本在目标尺寸下已检查。
- 遮挡、安全区域和相邻动画已检查。
- 结果在 CapCut/导出中以正常速度观看。
输出约定
返回:运动任务、精确关键帧时间、参数值、缓动选择、跟踪维度、帧网格计算以及已验证与待验证的内容。不要将课程预设呈现为通用默认值。
阅读 references/motion-design.md 以获取课程衍生的模式、失败检查和时码。