bbsolver: A Unified Error-Bounded Spatiotemporal Optimization Solver for Key Timing and Topology-Consistent Vector Paths
作者: Ilya Gusinski
分类: cs.GR
发布日期: 2026-06-08
备注: 18 pages, 11 figures; source code and reproducibility artifact at https://github.com/ivg-design/bbsolver
💡 一句话要点
提出bbsolver以解决动画路径优化中的时空一致性问题
🎯 匹配领域: 支柱一:机器人控制 (Robot Control) 支柱八:物理动画 (Physics-based Animation)
关键词: 动画优化 时空简化 关键帧选择 路径表示 误差控制
📋 核心要点
- 现有动画路径优化方法在处理时间和几何时常常分开,导致关键帧和路径表示不一致,影响动画质量。
- bbsolver通过将时空简化任务框架化为容忍度限制问题,提供了一种统一的解决方案,能够同时优化时间和形状。
- 实验表明,bbsolver在After Effects中将一个人形走路循环的样本数量从12684减少到540,减少幅度达到23.5倍,且最大误差低于1像素。
📝 摘要(中文)
密集采样记录了动画系统的实际评估,但最终表现不佳:每个采样帧可能成为关键帧,编辑句柄变得嘈杂,动画向量路径难以调整。现有的简化方法通常分别处理时间和几何两个方面,导致在独立应用时可能破坏帧间点的身份,或无法提供覆盖时间和形状的单一误差预算。bbsolver将任务框架化为容忍度限制的时空简化,支持多种应用程序,能够在保持误差在可接受范围内的情况下选择稀疏关键帧、插值元数据和路径表示。实验结果显示,bbsolver在After Effects和Blender中显著减少了关键帧数量,同时保持了高精度。
🔬 方法详解
问题定义:论文旨在解决动画路径优化中的时空一致性问题,现有方法在处理时间和几何时常常分开,导致关键帧和路径表示不一致,影响动画质量。
核心思路:bbsolver将时空简化任务框架化为容忍度限制问题,能够同时优化时间和形状,确保在重放样本时误差保持在可接受范围内。
技术框架:整体架构包括一个主机应用(如After Effects或Blender),该应用将时间和空间动画采样为JSON格式的文档包;独立求解器选择稀疏关键帧、插值元数据和路径表示。
关键创新:bbsolver的主要创新在于其统一的时空简化方法,能够在保持关键帧和路径一致性的同时,提供一个单一的误差预算,避免了现有方法的局限性。
关键设计:关键参数设置包括误差容忍度(epsilon),在After Effects中,实验显示在epsilon=1时,能够将样本数量大幅减少,同时保持最大误差低于1像素和1度。
📊 实验亮点
在After Effects中,bbsolver将人形走路循环的样本数量从12684减少到540,减少幅度达到23.5倍;在Blender中,将FBX动作捕捉重定向的样本数量从13455减少到214,显示出显著的性能提升,且最大误差保持在可接受范围内。
🎯 应用场景
bbsolver在动画制作、游戏开发和虚拟现实等领域具有广泛的应用潜力。通过优化动画路径,能够显著提高动画的表现质量和制作效率,降低存储和计算成本,推动相关技术的发展。
📄 摘要(原文)
Dense sampling records what an animation system actually evaluated, but it produces a poor final representation: every sampled frame can become a key, edit handles become noisy, and animated vector paths remain hard to adjust. Existing reducers usually treat the two axes separately: animation-curve reducers reduce key timing, while curve and path simplifiers reduce geometry. When applied independently to animated paths, these methods can break point identity across frames, change vertex structure over time, or provide no single error budget that covers both timing and shape. bbsolver frames the task as tolerance-bounded spatiotemporal reduction. A host application, such as After Effects or Blender, samples temporal and spatial animation into a documented JSON bundle; the standalone solver chooses sparse keys, interpolation metadata, and path representation; and the output is accepted only if replayed samples remain within the requested worst-case error. The same solver core can be used by any application that can export samples and write back returned keys or paths. In After Effects validation, solved keys written back into AE and re-sampled from AE playback reduce a DUIK humanoid walk cycle from 12,684 samples to 540 keys at epsilon=1, a 23.5x reduction, and an ant rig from 11,956 samples to 653 keys, an 18.3x reduction, with maximum errors below 1 px and 1 degree. A Blender-sampled FBX mocap retarget reaches 214 keys from 13,455 samples at epsilon=3; baselines tuned to matched measured accuracy require 4.5x to 27.5x more scalar key entries. For vector paths, bbsolver supports reduction when vertex identity/order is constant over time and diagnostics for variable-vertex-count streams, including a 6.7x After Effects-compatible procedural-path compression and exact transition-timing recovery in a diagnostic case.