Communitygithub.com

mediastorm-motion-graphics

设计CapCut参数动画、缓动、点跟踪标签、帧网格数字闪烁、计时器和信息包装。用于传达信息或引导注意力的动态效果,不用于平面透视替换、抠像或故事结构。

mediastorm-motion-graphics 是什么?

MediaStorm Motion Graphics 技能专注于通过运动设计来清晰传达信息、引导观众注意力,并在稳定的帧网格上呈现变化。它涵盖四个核心任务:参数动画(如推拉镜头中的缩放和位置关键帧)、点跟踪标签(使文字跟随画面中的移动特征)、数字闪烁(如价格、计数器等快速变化且可读的元素)以及计时器与包装构建(包含遮罩、描边、阴影等结构)。该技能详细指导用户从定义目的和精确动作时间开始,遵循检查帧网格、应用缓动曲线(如二次方缓入/缓出)等严格工作流程,并强调在CapCut中验证最终效果,避免仅凭代理预览或静止画面判断。此外,它还提供了将运动设计适配到Remotion/TypeScript的指南,通过 interpolate 和 Easing.bezier 驱动数值。决策规则强调运动必须具有信息价值,并确保缩放与位置曲线对齐、跟踪标签仅继承所需维度、数字闪烁使用整数帧逻辑。最终输出需包含运动任务、关键帧时间、参数值、缓动选择、跟踪维度、帧网格计算等详细信息,并参考 course-derived patterns 避免常见失败条件。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ariakage/mediastorm-capcut-skill/tree/main/skills/mediastorm-motion-graphics

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

MediaStorm Motion Graphics

使用运动来清晰传达信息、引导注意力,并在稳定的帧网格上呈现变化。本技能涵盖四个相关但不同的任务:参数动画、点跟踪标签、数字闪烁以及计时器/包装构建。

使用时机

  • 需要为推拉镜头、平移或构图变化添加缩放/位置关键帧和缓动。
  • 标签需要跟随移动的特征,但不应继承不必要的缩放或透视。
  • 数字、价格、计数器或计时器需要快速变化并保持可读性。
  • 包装元素需要入场/出场动画、遮罩窗口或预设。
  • 运动设计需要交付给 Remotion 或使用 TypeScript 实现。

请不要将此技能用于平面跟踪(请转向 mediastorm-compositing-tracking)、抠像/遮罩、色彩校正或故事顺序。

需要确定的输入

  • 信息任务:观众应该注意到、阅读或理解什么?
  • 开始/结束构图、精确的动作时间以及项目帧率。
  • 目标:段内参数、跟踪标签、数字闪烁或计时器。
  • 运动是装饰性的还是承载意义的;如果是装饰性的,为什么需要它?
  • 交付帧率以及最终的运动效果是否将在正常速度下被评判。

工作流程

  1. 在添加关键帧之前,定义目的和精确的动作时间。推拉镜头应有一个目标构图,而不仅仅是“让它变大”。
  2. 将关键帧值视为段内局部。分割或替换媒体可能会重置看似共享的参数 [课程证据][08 01:00–02:40]。
  3. 对于推拉镜头,刻意结合缩放和位置。课程的手机推拉示例结束于缩放 286%、位置 X 0、Y -2219;开始于缩放 100%、位置 0/0。354% 和 214% 的读数是拖动过程中的中间值,不是最终预设 [采样截图][08 05:58.5 / 06:22.5]。
  4. 打开关键帧速度曲线面板,检查所有三条曲线:缩放、位置 X 和位置 Y。面板范围是缩放 4.00–0.00、X 768–-768、Y 432–-2160;默认为线性 [采样截图][08 07:59.0 / 08:20.5]。
  5. 始终如一地应用缓动。课程的预设列表为 无 / 缓入 / 二次方缓入 / 三次方缓入 / 缓出 / 二次方缓出 / 三次方缓出 / 缓动 / 二次方缓动 / 三次方缓动 / 回弹展开 / 线性。演示为所有三条曲线选择了二次方缓入 [采样截图][08 09:18.5]。
  6. 对于点跟踪标签,选择一个稳定、高对比度且始终可见的特征。仅启用标签应继承的维度;课程在 08:26 关闭了 缩放/距离,以便文字仅跟随位置 [采样截图][12 08:24–08:26]。
  7. 在跟踪前修剪未使用的素材。跟踪整个片段会浪费计算资源,并使标签更难控制 [课程证据][12 09:19–10:57]。
  8. 对于数字闪烁,在帧网格上构建短文本段。课程的设计单元约为 2 帧/段,但完成的帧网格显示第一次运行中有 8 个值/15 帧(约 0.50 秒),第二次运行中有 6 个值/11 帧(约 0.37 秒),每个值保持 1-3 帧 [采样截图][12 12:48–14:35]。不要将“2 帧”作为字面结果重复;请验证完成的网格。
  9. 对于计时器/包装,明确构建结构:黑屏源、矩形遮罩、圆角半径、描边、阴影、不透明度、重复背景块、文本数字、阴影、入场动画和偏移阶梯。课程计时器使用 538×540 的遮罩、半径 27、白色描边 2、阴影 100/19/0/0、图像不透明度 45%、文本大小 15、文本缩放 134%、文本阴影 45/16/0/0 [采样截图][15 16:30–19:47]。
  10. 将入场和出场动画与一致的风格、位置配对,并且仅在包装受益时使用轻微重叠。课程将向上出场/入场配对,面板设置约为 0.4 秒;预览中的可见重叠约为 5 帧(约 0.17 秒)[采样截图][12 14:35–17:29]。
  11. 检查遮挡、安全区域、可读性、相邻动画,以及是否有转场或叠加使测试目标变得不纯粹。
  12. 在实际播放器中以正常速度验证。静止画面无法证明缓动感觉、数字可读性或跟踪稳定性。

决策规则

  • 如果运动没有信息任务,请移除它;“看起来动态”不是一项任务。
  • 如果缩放和位置一起动画,对齐它们的开始/结束时间并检查两条曲线;在位置线性移动的同时仅对缩放进行缓动,读起来像是两个事件。
  • 如果关键帧标记在段上看起来是实心的,仍然检查参数行;课程 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 以获取课程衍生的模式、失败检查和时码。

相关技能