一张精美的二次元立绘,画师交稿后往往就静止了:想让它眨眼、转头、换装,得靠资深画师手工拆上数周。清华大学、南洋理工大学与SparcAI的研究团队提出Bunraku,首次实现从单张插图端到端生成可编辑的Live2D角色——有序图层、变形网格、关键姿势一次生成完毕。
Live2D是虚拟主播和手游行业主流的2D角色动画格式,一个全身模型通常包含30到100个RGBA图层,靠逐层网格形变驱动,既保留手绘笔触,又不需要3D骨骼。但手工制作要经历分层、补遮挡、画网格、打关键帧三道结构性工序,资深画师耗时四到八周、成本约一千美元,绝大多数插画因此永远停留在静态。
两阶段流水线:先拆图层,再让图层一起动
Bunraku得名于日本文乐木偶戏——多名操作者共同操纵一具木偶。整套系统分两步走。第一阶段把分层分解做成一个"懂Live2D"的分层扩散过程:扩散模型在器官级分类体系下生成有序的RGBA图层堆叠,头发、五官、躯干、配饰各归其位,并把被遮挡的区域脑补完整。图层集合必须完整且次序正确,而不只是切得干净——少了一截袖子,后面的动画模型再强也补不回来。第二阶段仅凭每层的alpha通道沿轮廓构建贴合内容的三角网格,网格顶点全部放进同一个角色坐标系,让跨层的几何邻近关系在输入中天然存在;随后由一个510万参数的Transformer一次性预测所有图层在关键姿势下的顶点位移。
图1:Bunraku的两阶段流水线——分层扩散分解输出有序RGBA图层,网格构建与联合位移预测让角色动起来。
图2:一张插图被分解为有序的RGBA图层堆叠,被遮挡区域同时补全,而非一张扁平的分割蒙版。
最大增益来自"联合预测",而不是把网络堆大
让角色读起来像一个整体,靠的不是每层各自形变合理,而是所有层彼此一致——单独看很合理的瞳孔,一旦滑出眼白就会穿帮。研究团队把每个图层的每个顶点都当作同一个序列里的一个token,自注意力跨越图层边界,每个顶点的位移都能"看到"角色身上其他所有顶点;位移还被分解为有界方向乘以对数幅度,以适应Live2D运动幅度差异悬殊的特点。
在50个与训练集零重叠的留出角色上、无教师强制的真实生成设定下,第二阶段取得每顶点方向余弦0.768、中位数0.828,其中31个角色超过0.80。作为对照,逐图层独立预测只有0.693,恰好产生联合模型所消除的撕裂;而把网络从510万参数扩大到5.716亿、约112倍,精度毫无提升,十亿参数规模的实验甚至发散。作者据此判断,剩余差距在于任务歧义、分解质量与绑定数据多样性,而非模型容量。
图3:在从未做成Live2D的野外插画上,Bunraku依然能驱动角色做出转头、眯眼等姿态。
图4:与图生视频等基线相比,Bunraku输出的是可驱动、可编辑的资产,形变更贴合画师原意。
换装只改纹理,网格与动画逐字节复用
正因为网格完全由图层的alpha通道导出,纹理与运动被彻底解耦:给一句自然语言指令,服装层就能重新纹理化、换上新装,而原有网格和预测出的动画逐字节复用,完全不必重新绑定。研究团队还把驱动参数从8个扩展到24个,角色的表情与姿态控制空间更细。配套的流水线也能跑在从未制作成Live2D的野外插画上,让画师多年沉淀的静态立绘有机会直接"活"过来。
图5:按自然语言指令为服装层重新纹理,换装后网格与动画原样复用。
从五十个角色走向更大的应用舞台
研究团队同时发布了首个标准化基准Live2D-Bench,以及包含8884个模型、带图层与动画监督的Live2D语料库,把"单张插图生成可编辑Live2D"第一次变成可学习、可评测的任务。需要客观看待的是,动画主指标目前仅在50个留出角色上报告,样本规模仍然有限;端到端错误也主要来自第一阶段的分层分解——少画一截袖子,后续动画模型无从修补。方向之外,幅度仍是较弱的一环:小动作容易做过、大转动容易不足。下一步提升分解完整度、扩充绑定数据的多样性,显然比继续堆参数更值得期待。
参考资料
https://arxiv.org/abs/2607.27348