角色动画创作是现代影视游戏行业中艺术张力的基石。然而,创作角色动画并非易事。现有动画创作流程中,动作捕捉系统需要专门的设备和演出团队,导致成本高昂;3D 动画软件则需要专业动画师来操作,因为在 2D 屏幕内编辑 3D 骨骼运动并不符合人类直觉,此类软件往往学习曲线陡峭、经验要求极高。实践中,一段动画从设计到交付的周期较长,一段 15 秒的角色动画往往需要迭代数天才能完工。
为了简化动作创作流程,部分研究者们提出 “数字木偶戏” 问题:希望通过直观操作物理代理,如玩偶、手机、物理传感器、手指等,将物理世界中直观演绎的动作转化为虚拟世界中角色的骨骼动画。然而,现有系统往往采用基于小样本的、特定规则的、手工设计的传统机器学习算法,只能够针对特定的输入物体,产出特定预设的有限几种角色动画。这一技术路线不具有泛化能力,极大限制了此类系统的实际应用价值。
针对这一现状,一个来自爱丁堡大学、蔚蓝海岸大学、清华大学的联合研究团队提出了DancingBox,并获得了人机交互(Human-Computer Interaction)领域顶会 ACM CHI 2026 的最佳论文提名。
- 项目主页:https://yyyyyhc.github.io/DancingBox-project-page
- 论文链接:https://arxiv.org/html/2603.17704v1
- 代码链接:https://github.com/YYYYYHC/DancingBox
DancingBox 第一次实现了仅需 RGB 相机,对任意物体生效,产出高质量角色动画的能力。下表 1 给出了其与现有工作的对比。
表 1:DancingBox 与现有工作的对比
该团队重新思考了大模型时代的数字木偶戏问题与动作捕捉系统。
他们发现,将现有的几个视觉大模型结合,已经可以实现对任意物体的粗略动作捕捉(包围盒运动序列)。考虑到视觉大模型空间精度有限,且木偶戏类的演出往往缺失细节,本研究进一步利用动作生成模型,将粗略动捕结果 “翻译” 成对应的、精细的角色骨骼动画。
图 1:系统概览。本文展示的带模型角色动画使用默认 mesh 模型,并由 Blender 插件自动重定向。
如图 1,DancingBox 系统仅需一台普通相机(如手机),地面标定(如本文使用的视觉标定板等任意平坦物体),及任意演出物体即可工作。能够将粗略的物体演出通过包围盒做中介,转化为对应的真实感角色动画。
系统实现
DancingBox 系统分为两个模块:基于视觉基础模型的粗略动作捕捉(MoCap)与基于扩散模型的精细动作生成(MoGen)。
粗略动作捕捉(MoCap)
图 2:MoCap 系统。
如图 2,给定一段用户操作的物体视频,该团队的做法是结合三个视觉基础模型(SAM2, CoTracker3,π3),从 2D 输入中估计出 3D 包围盒运动序列。
具体而言,先使用 π3,将视频逐帧转化为 3D 单目点云。而后为了定位感兴趣的物体和抽象层次,用户与 SAM2-video 交互,将感兴趣物体的各个部分在第一帧内分割出来。
结合这二者,能够获取各个运动部位的逐帧 3D 点云。
此后,为了估计出时空中连续的包围盒序列,从起始帧估计 PCA 包围盒作为初始化,并用 CoTracker3 提取出像素级别的追踪关系,这一关系通过 π3 提供的像素-点云对应,转化为空间中点与点间的帧间对应关系。通过 SVD 分解,便可以解出完整的包围盒运动序列。
读者也许会疑惑计算包围盒的动机:既然 π3 和 SAM2 已经能够给出每帧的空间信号(粗略点云),似乎可以直接将这些点云作为后续精细动作生成的输入,从而省略掉 CoTracker3 模块。
图 3:通过包围盒桥接动作估计模块与动作生成模块,解除数据稀缺的限制。
如图 3,使用包围盒的核心考虑是数据问题:为了训练由空间信号(点云/包围盒序列)约束的动作生成模型,需要该空间信号和真实动作(来自动捕数据集)的数据对。
然而,由于视觉重建方案得出的点云是表面(而非骨骼)的部分采样,仅从动作捕捉数据集的骨骼无法构造出合理的数据对,即无法估计骨骼的 “粗细” 和观测时的 “正反面”。
包围盒序列就是为了解决这一问题:一方面,给定点云的视觉跟踪信号(CoTracker3),包围盒运动信息能够从粗略点云中估计出来;另一方面,从动捕数据集的骨骼运动数据中,可以直接算出对应包围盒序列。只要约定好包围盒大小范围,这一中间表示就能够完美桥接两个系统。
精细动作生成(MoGen)
承接上文,现在我们需要训练以包围盒序列为条件的精细动作生成模型。基于动作捕捉数据集 HumanML3D,先从数据集中真实采集的人体骨骼动画中,按照图 4 所示的包围盒合并策略,计算同一段骨骼运动在各种排布方式下产生的包围盒运动序列。
为了模拟真实场景中估计不准确的问题,再随机放大/缩小/丢弃掉部分包围盒,并向包围盒运动中加入随机速度/位置噪声。
图 4:初始包围盒生成逻辑。
接着再训练一个 ControlNet,向预训练好的文本生成动作模型 (Human-Motion-Diffusion-Model,简称 MDM)注入额外的包围盒控制信号。
图 5:MoGen 系统。
特别地,考虑到包围盒内部的顶点顺序、同一时刻包围盒之间的排列顺序不应该影响该时刻提取出的特征,如图 5 所示,该团队参考 PointNet,用平均与最大值运算保证特征的顺序无关性。
用户调研
本文进行了广泛的用户调研。在用户反馈中,DancingBox 符合直觉,易于使用,即使是新手也可以在短时间内使用系统自由创作。部分问卷结果如图 6。
图 6:部分问卷结果。
特别地,从用户调研中,该团队发现:
- 用户希望有更灵活自由的物体,实现精细的多样演出。
- 用户认为双手控制多关节物体运动存在困难。同时物体是否容易站立很大程度上影响操作便利性。
该团队表示:「自由度与交互简易度构成了一组 trade-off,我们希望这能够启发后续研究,进一步探索可交互设备的更多可能。」
视频结果展示
更多视频结果,包括正文中各个图片的对应案例,请见项目主页。
作者信息
本文的第一作者袁浩程是爱丁堡大学三年级的博士生,他的研究兴趣是用户友好的计算机辅助设计(CAD),指导老师为爱丁堡大学李昌健助理教授。
DancingBox 系统处于持续研究升级中,欢迎感兴趣的研究人员与动画/游戏行业人员联系作者团队。
热门跟贴