SuperAPI AI 工具集

remotion-interactivity

通用与其它

查看项目

更新于 10-16 01:11

技能介绍

用途:本技能说明如何按特定方式编写 Remotion 标记,使 Remotion Studio 能识别代码结构并使其可交互,包括点击选中元素、拖拽/缩放/旋转、编辑 CSS 样式,以及编辑关键帧与缓动值。若标记过于复杂,相关值会变灰不可编辑。

主要能力与用法:

  1. 交互组件:对填满父级的组件使用 Interactive.withSchema({wrapInSequence: true, layout: 'absolute-fill'}),由包装器提供视觉根与时间轴项并默认裁剪溢出,内部组件可返回 fragment;时间、尺寸与实例样式放在导出组件上。
  2. schema 字段:每个键是 Studio 可读写的 prop,支持 string、number、boolean、color、enum、array、asset、font-family、font-weight、translate、scale、rotation-css、rotation-degrees、transform-origin、uv-coordinate、svg-path、remotion-captions、hidden 等类型;每字段需 default 与 description,可用 keyframable: false 设为静态。可展开 Interactive.textSchema、backgroundSchema、borderRadiusSchema、borderSchema、captionsSchema、childrenSchema 等片段。
  3. 连接式合成:将可复用场景注册为独立 Composition,使用与父级相同的导出组件引用(如 component={Scene}),wrapInSequence: true 时无需额外 Sequence。
  4. 时间属性:内置交互组件与 wrapInSequence 组件可直接接收 name、from、durationInFrames、trimBefore、playbackRate,避免多余 Sequence。
  5. 独立可编辑项:每个应单独编辑的 clip、scene、layer、sequence 写成独立 JSX 节点;.map() 循环适合作为整体模板控制的重复输出。
  6. 元素交互:用 Interactive.Div 等让 HTML/SVG 元素可交互(Img 已默认交互);文本尽量内联,元素加描述性 name,CSS 样式保持内联,避免常量、展开与数学运算。
  7. 动画:用内联 interpolate() 写在变化的属性上,输出范围、缓动、外推与输出属性用硬编码值;输入范围可用 useVideoConfig() 解构的 durationInFrames、fps、width、height。
  8. SVG:用 Interactive.Path 替代 path,安装 @remotion/paths(bunx remotion add @remotion/paths),用内联 interpolatePaths() 做路径变形,避免 interpolatePath() 或提取变量。
  9. 变换:优先使用 scale、translate、rotate,避免 transform。

限制:非内联样式、展开、常量引用与数学运算不被支持;嵌套标记与计算子节点目前只读;text-content 是 string 字段类型的已弃用别名;注册默认值不会自动复制父实例 props。资料未提供收费、价格与平台信息。