原文页面:https://animallogic.com/technology/publications/scalable-blendshape-system/
PDF:https://animallogic.com/wp-content/uploads/2023/06/Scalable-Blendshape-System-for-Texture-Based-Facial-Animation.pdf
本文为 SIGGRAPH 2017 Talks 论文《Scalable Blendshape System for Texture Based Facial Animation》的中文译文与整理。
作者:
- Aloys Baillet(Animal Logic,aloys.baillet@al.com.au)
- Josh Murtack(Animal Logic,josh.murtack@al.com.au)
- Michael Qandt(Animal Logic,michael.quandt@al.com.au)

摘要
为支撑《乐高蝙蝠侠大电影》不断增长的动画需求,Animal Logic 团队开发了一套用于动画化 LEGO 面部的独特 blendshape 系统。动画师可以获得实时的纹理预览,并能通过高效地修改顶点与切线,快速“雕刻”轮廓曲线(contour-curves)的形状。该专有动画系统能够在每一个新的姿势(pose)出现时,按需即时生成新的 blendshape。
1 需要一种新策略
团队此前的做法,是直接对曲线控制顶点与切线的二维坐标(XY)进行动画化。这一方式会暴露出数量过多的函数曲线(function curves),导致在复杂角色面部(例如 UniKity)上,关键帧编辑耗时可高达 20 秒。显然,随着《乐高蝙蝠侠大电影》的复杂度提升,团队必须设计一套全新的动画策略。
最终形成的方案是:将动画存储为每条曲线控制顶点(CV, control vertex)与切线(tangent)相对于原始形状的增量(delta)。每个 delta 与一个 blend 权重(blend weight)关联;当镜头中出现新的关键姿势(key pose)时,专有动画系统会按需“即时”(on-the-fly)创建新的 blendshape。
说明:这里的“delta + blend weight”思想,本质上是在保持曲线编辑工作流的同时,把“曲线形状变化”转写为可组合、可插值的 blendshape 权重空间,从而避免在每个控制点层面暴露大量可动画对象。
2 可扩展性问题
旧版动画系统会为每个角色的面部暴露如下数量的动画曲线:
Nac = Ncu * Ncv * Nco
其中:
Nac:动画曲线(animation curves)的数量Ncu:曲线(curves)的数量Ncv:每条曲线的控制顶点(CV)与切线(tangent)的平均数量Nco:使用的坐标维度数(仅用 XY 来表示二维曲线,因此为 2)
以一个“平均镜头”为例:该镜头包含 50 个关键姿势(其中 25 个为不重复的独特姿势),角色面部包含 50 条曲线,每条曲线平均有 30 个 CV 与切线。此时动画师需要动画化 3000 条函数曲线(function-curves),并且每条曲线最多可包含 50 个关键帧(keyframes)。这类规模在制作中会迅速失控,并直接反映为交互性能问题与制作复杂度上升。
为解决该问题,团队将策略修改为:每个 blendshape 只对应一条动画曲线,同时把每个 CV 与切线的位置记录为相对于原始形状的 delta。这样系统暴露的动画曲线数量变为:
Nac = Ncu * Nup,并且 Nup < Nkp
其中:
Nup:镜头中独特关键姿势(unique key poses)的数量Nkp:镜头中关键姿势(key poses)的数量
在同样的“平均镜头”中,新系统仅会暴露 1250 条动画曲线,但每条曲线会有 75 个关键帧。换言之,系统从“控制点级别的海量曲线”转向“blendshape 级别的有限曲线”,从而把复杂度集中到更符合动画师思维的层级,并为后续的清理与复用创造条件。
3 挑战
团队面临的首要挑战,是在提升系统能力的同时,仍然保持动画师的易用性——尤其是对那些并不习惯在每个关键姿势上创建 blendshape 的动画师。为此,工具需要贴合《乐高大电影》时期形成的特定工作流与动画风格。
即便采用新系统,较长的独白镜头仍然会导致 shape 数量显著增加。为了解决这一点,团队实现了清理(cleanup)工具,用于删除未使用的 shapes,并确保这些“极端镜头”(exceptional shots)依然处于可管理的规模之内。
4 结论与未来工作
借助 Animal Logic Animation Library 的新进展,团队已经能够以前所未有的速度为数百个角色制作动画,同时仍然维持极高质量。这使得 LEGO 面部的视觉复杂度得以大幅提升——而这类提升也会带来新的“构建挑战”(construction challenges),并需要 LEGO Corporation 在其制作与设计侧进行相应配合。
在性能方面,系统仍存在进一步优化空间:例如引入对单个 shapes 的哈希(hash),以提升复用的一致性与效率。此外,这种“动态生成”的动画系统不仅适用于实时纹理生成(realtime texture generation),也可被推广到其他上下文中。
参考文献
- Aloys Baillet, Josh Murtack, Michael Qandt. 2017. Scalable Blendshape System for Texture Based Facial Animation. SIGGRAPH 2017 Talks, Los Angeles, CA, USA. Animal Logic. 原文页面:https://animallogic.com/technology/publications/scalable-blendshape-system/,PDF:https://animallogic.com/wp-content/uploads/2023/06/Scalable-Blendshape-System-for-Texture-Based-Facial-Animation.pdf