关于 animate
animate 是一项将自然语言描述转为动画视频和动态图形的技能,输出独立的 Vite + React + Framer Motion 项目。它会规划场景,并按视觉需求选择动画技术栈,随后搭建项目并在浏览器中预览。
主要功能
- 01根据描述规划场景
- 02选择动画技术栈
- 03生成 React 场景组件
- 04定制颜色与字体
- 05在浏览器中构建和预览
适用场景
- 01制作产品介绍动画
- 02构建演示或营销动态图形
- 03生成粒子或图案视觉效果
- 04制作 3D 场景或标志动画
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ onewave-ai/ claude-skills --skill animate安装后在 Claude Code 中输入/animate确认已加载。
详细介绍
动画生成器
通过自然语言描述创建动画视频和动态图形。输出可在浏览器中播放的独立 Vite + React + Framer Motion 项目。
工作流
步骤 1:解析请求
将用户的描述拆解为场景规划:
- 3-7 个场景,每个场景时长为 3-5 秒
- 确定故事走向:主角/开场、问题、解决方案、功能、行动号召/结尾
- 选择符合品牌/氛围的配色方案和字体
- 使用
$ARGUMENTS作为用户的动画描述
步骤 2:选择动画技术栈
根据请求自动选择最佳方案:
| 请求类型 | 技术栈 | 适用场景 |
|---|---|---|
| 产品介绍、演示、营销 | Framer Motion(默认) | 基于场景,包含文本、图标和转场 |
| 生成艺术、粒子、图案 | p5.js | 创意/算法视觉效果 |
| 3D 对象、环境、产品渲染 | Three.js + react-three-fiber | 需要 3D 场景 |
| 简单的文本/Logo 动画 | 仅 CSS 动画 | 极简,无需繁重依赖 |
除非请求明确需要其他方案,否则默认使用 Framer Motion。
步骤 3:搭建项目脚手架
- 创建目录:
~/animations/[project-name]/ - 运行脚手架脚本:
bash ~/.claude/skills/animate/scripts/scaffold.sh [project-name] [stack] - 将模板文件从
~/.claude/skills/animate/assets/template-files/复制到项目中
步骤 4:生成场景组件
阅读动画预设和场景模式参考文档:
references/animation-presets.md— 所有可用的转场、弹簧动画和缓动效果references/scene-patterns.md— 场景代码模式示例
为每个场景在 client/src/components/video/video_scenes/ 中创建一个 React 组件:
- 使用
motion.div和场景转场预设(fadeBlur、scaleFade、slideLeft、splitHorizontal、morphExpand 等) - 使用
containerVariants和itemVariants实现内容的交错显示 - 使用
vw单位进行响应式尺寸设置(适用于任意分辨率) - 使用 CSS 变量设置主题(
var(--color-accent)、var(--color-bg-dark)等) - 使用 Lucide 图标作为视觉元素
- 使用
.glass-panel类制作磨砂玻璃卡片 - 使用
.text-gradient和.text-gradient-accent制作渐变文本
步骤 5:生成 VideoTemplate
创建 client/src/components/video/VideoTemplate.tsx:
- 导入所有场景组件
- 定义
SCENE_DURATIONS对象(场景名称 -> 毫秒) - 使用
useVideoPlayerHook 管理场景切换 - 使用
AnimatePresence mode="wait"包裹场景,实现平滑转场 - 根据
currentScene索引有条件地渲染每个场景
步骤 6:自定义主题
更新 client/src/index.css,设置合适的颜色:
- 如果用户指定了品牌颜色,更新 CSS 变量
- 选择符合氛围的字体(科技风格可用 Space Grotesk,优雅风格可用 Playfair Display 等)
- 更新渐变和光晕样式,使其符合配色方案
步骤 7:Gemini 3.1 Pro 增强(可选)
如果 GEMINI_API_KEY 环境变量可用:
- 阅读
references/gemini-integration.md了解 API 详情 - 将用户的描述发送给 Gemini 3.1 Pro,请其提供:
- 场景拆解、场景描述和建议的转场
- CSS 变量形式的配色方案
- 每个场景的文案/标题
- 适用时提供 SVG 图形
- 使用 Gemini 的输出辅助生成场景
- 如果没有 API 密钥,则跳过此步骤 — 由 Claude 直接处理所有创意决策
步骤 8:构建并预览
cd ~/animations/[project-name]
npm install
npm run dev
告知用户动画正在 http://localhost:5173 运行,并在浏览器中打开。
场景转场参考(速查)
选择与故事节拍相符的转场:
- fadeBlur — 柔和的开场/结尾、梦幻般的揭示效果
- scaleFade — 自信的揭示效果、产品展示
- slideLeft/slideRight — 顺序推进、时间线流动
- splitHorizontal/splitVertical — 戏剧化揭示、前后对比
- morphExpand — 盛大收尾、CTA 屏幕
- clipCircle — 聚焦注意力、聚光灯效果
- perspectiveFlip — 卡片翻转、视角变化
- wipe — 干净利落的转场、方向性流动
- zoomThrough — 沉浸式体验、向前推进的动感
- crossDissolve — 柔和、富有情感的转场
元素动画参考(速查)
- popIn — 用于图标/徽章的弹跳式缩放入场
- fadeUp/fadeDown — 微妙的内容显现效果
- slideInLeft/slideInRight — 方向性内容
- blurIn — 柔和的聚焦显现效果
- elasticScale — 活泼、有活力的入场效果
- perspectiveRotateIn — 3D 卡片显现效果
- pulse — 循环吸引注意力
- float — 轻柔的悬浮效果
重要规则
- 调整尺寸时始终使用
vw单位,确保动画在任何分辨率下都效果良好 - 每个场景控制在 3-5 秒,总视频时长为 15-30 秒
- 使用
AnimatePresence mode="wait",确保一个场景退出后下一个场景再进入 - 每个场景都必须有背景处理(渐变、图片或动画形状)
- 为列表和网格使用交错动画(staggerChildren: 0.1-0.2)
- 如果资源较大,请添加加载状态
- 项目必须完全自包含,除 npm 包外不得依赖外部内容
- 生成的代码或内容中不得使用表情符号
评论
支持 Markdown