跳转至

Decomate: Leveraging Generative Models for Co-Creative SVG Animation

会议: NeurIPS 2025 (GenProAI Workshop)
arXiv: 2511.06297
代码: HuggingFace Demo
领域: 人机协作 / 创意计算 / SVG 动画
关键词: SVG animation, semantic decomposition, MLLM, co-creative design, natural language interaction

一句话总结

提出 Decomate 交互系统,利用多模态大语言模型 (MLLM) 将非结构化 SVG 图形自动分解为语义组件,设计师通过自然语言为各组件指定动画行为,系统生成可生产的 HTML/CSS/JS 动画代码,支持迭代协作创作。

研究背景与动机

  1. 领域现状:SVG 动画是 UI/UX 设计中重要但门槛高的技能。设计师需在多个平台间切换、手动编辑代码或依赖开发者实现动效,工作流缺乏灵活性和精细控制。

  2. 现有痛点(来自对 11 位专业设计师的访谈):

  3. (a) 时间限制:动画常因排期紧张被降优先级,许多设计师没有机会探索和集成动效
  4. (b) 精细调控依赖开发者:调整 timing、easing 等细节需开发者配合,创意意图与最终效果脱节
  5. (c) AI 工具缺席:全部受访者对 AI 辅助动画有兴趣,但无人使用过——缺乏面向设计师的直觉化工具

  6. 现有工作不足:Keyframer 等工具虽然支持自然语言生成 SVG 动画,但假设输入 SVG 有良好的结构(explicit class labels 和 groupings)——而真实设计资产通常是扁平的、无组织的。

  7. 核心矛盾:设计师的创意意图("让翅膀缓慢拍动")与底层技术实现(如何拆分 SVG 路径、编写 keyframe 动画)之间存在巨大鸿沟。

方法详解

整体管线(6 步交互流程)

Step 1: SVG 输入 - 用户上传 SVG 文件或粘贴 SVG 代码 - 系统接受从完全扁平到有组织的各种结构,无需预处理 - 用户提供高层对象名(如"dog"),引导语义分解

Step 2: 语义分解 + 动画建议 - 使用 MLLM(Claude Sonnet 4)同时分析 SVG 代码和渲染图像 - 将 SVG 重构为语义有意义的组件组(如"ears"、"nose"、"legs") - 优先视觉解释而非句法层级 - 为每个组生成自然语言动画建议

Step 3: 预览 + 结构调整 - 可视化展示分组方案 - 若分组不符合创意意图,用户用自然语言反馈调整(如"把左脚和右脚分开") - 系统根据反馈迭代修正分组

Step 4: Prompt 驱动的动画创作 - 用户以系统建议为基础,用自然语言描述动画行为 - 如:"make the wings flap slowly with elastic easing" - 无需了解 CSS animation 语法

Step 5: 代码生成与渲染 - LLM(Claude Sonnet 4)将最终分组结构 + 动画 prompt 翻译为 HTML/CSS/JS 代码 - 输出即可部署的动画 SVG + 源代码

Step 6: 交互预览与迭代 - 实时预览动画效果 - 用户检查 timing、easing、空间行为 - 通过追加 prompt 进一步调整(如"increase the bounce on landing") - 每次修改触发代码重新生成 + 预览更新

技术核心

  • 语义分解:不依赖 SVG 原有的 <g> 标签或 class 名——MLLM 理解视觉语义来重新分组 SVG 元素
  • 双模型架构:MLLM (视觉+代码理解) 做分解 + LLM 做代码生成,分工明确
  • 迭代共创循环:人-AI 在语义结构和动画行为两个层面上交替迭代

实验关键数据

形成性访谈(11 位专业设计师)

受访者 经验 动画工具 对 AI 辅助动画的态度
P1-P4 1-10年 Figma, After Effects, Code 有兴趣但未使用
P5-P8 3-10年 Figma, Lottie, After Effects 有兴趣但未使用
P9-P11 1-10年 Figma, Lottie 有兴趣但未使用

100% 的受访者对 AI 辅助动画有兴趣,但 0% 有使用经验。

用户研究(6 位参与者的定性反馈)

维度 正面反馈 主要问题
语义分解 对扁平/无组织 SVG 效果好,最小人工干预 部分元素分组不完整(如鲸鱼眼睛脱离身体)
自然语言动画 意图-动画对齐基本合理 用户不确定如何措辞 prompt,有学习曲线
视觉质量 方向正确、基本效果可接受 精细控制不足(如运动强度、层级 timing)
交互迭代 自然语言迭代优化有效 部分动作线性化,不够自然(如 swing vs linear)

代表性用户直接反馈

  • P2:"对象分解很好,但动画行为出乎意料(鲸鱼眼睛脱离了)"
  • P5:"从文本直接生成 SVG 动画很方便,但没有 AI 建议时动效会很生硬"
  • P6:"直接的 UI 控件(曲线、时长)比纯文本输入更好用"

亮点与洞察

  • 解决了 Keyframer 等工具的核心假设缺陷:不要求 SVG 有预定义结构,通过 MLLM 视觉理解自动分解
  • 人-AI 共创的两层迭代:在"语义结构"和"动画行为"两个层面都支持自然语言驱动的迭代——比单层迭代更灵活
  • 需求来源充分:11 人访谈 → 系统设计 → 6 人用户研究的闭环验证
  • 实际可用:HuggingFace 上有 live demo,输出是可部署的 HTML/CSS/JS

局限性 / 可改进方向

  • Prompt 表达困难:用户不确定如何措辞动画 prompt——需要模板/示例/自动补全机制
  • 精细控制不足:纯自然语言难以精确描述微妙的运动参数(如 easing 曲线、具体时长)——需要结合 slider/toggle 等结构化控件
  • 语义分解偶尔出错:MLLM 可能错误分组(如身体部分应联动但被拆分),需要更强的全局一致性约束
  • 仅 Workshop paper,评估以定性反馈为主,缺少定量对比实验(如 vs Keyframer 的控制实验)
  • 依赖特定 LLM (Claude Sonnet 4):模型替换后效果未知,prompt engineering 与模型绑定

相关工作对比

  • vs Keyframer:Keyframer 假设 SVG 结构良好,Decomate 增加了语义分解步骤处理非结构化 SVG
  • vs Kolthoff et al. (零样本 GUI 原型):聚焦 GUI 生成而非 SVG 动画,无语义分解
  • vs Xing et al. (SVG 理解/生成):提供数据集增强 LLM 的 SVG 能力,但不针对动画创作流程
  • vs 传统工具 (Figma + Lottie + After Effects):传统工具需要手动操作和技术专长,Decomate 降低门槛但精细度不足

评分

  • 新颖性: ⭐⭐⭐ 语义分解 + prompt 动画的组合是增量式创新,核心依赖 LLM 能力
  • 实验充分度: ⭐⭐⭐ 有需求调研+用户研究,但仅定性评估、小样本(6人)、无定量对比
  • 写作质量: ⭐⭐⭐⭐ 问题动机清晰、流程图和界面截图详细、用户反馈原汁原味
  • 价值: ⭐⭐⭐ 作为 workshop demo 有展示意义,但离可靠的设计工具仍有距离