BACK TO ARCHIVE
rigging deformation animation sculpting workflow bond siggraph maya rendering pipeline

强化绑定变形:在《DC 超级宠物联盟》上的镜头雕刻(Shot Sculpting)

08.08.2022 ADUCG RESEARCH

原文页面 https://animallogic.com/technology/publications/powering-up-rig-deformation/
PDF https://animallogic.com/wp-content/uploads/2023/04/shotSculpting.pdf

强化绑定变形:在《DC 超级宠物联盟》上的镜头雕刻(Shot Sculpting)

Figure 1

图 1:a)在超人战衣上进行镜头雕刻的过程;b)肌肉被雕刻后的最终镜头。

摘要

在镜头制作中,尤其是“超能力”角色经常出现的那类情况里,动画会遇到各种临时性的创意挑战:既要快速实现夸张或非常规的形变,又不希望因此把问题回流到资产部门反复迭代。制作团队尤其希望:所有角色轮廓(silhouette)仍然由动画部门掌控。这意味着工具必须完整融入既有的动画工作流;而不是像某些面向角色特效(character effects)的镜头雕刻工具 [Somasundaram et al. 2021] 那样,工作方式与动画侧既有流程存在割裂。

从制作实践看,镜头雕刻(shot sculpting)主要落在两类用法上:

  • 表演驱动(performance-driven):例如雕刻鼓起的肌肉、把一只巨大化的猪挤进狭小空间、或为刚性道具补充动画(例如桌面抽屉的开合)。
  • 轮廓驱动(silhouette-driven):根据 draw-over 对轮廓线进行修正,确保线条干净、清晰。

由于从制作早期就将镜头雕刻纳入生产流程,动画师能够在绑定仍在开发时就尽早把镜头打到“可交付”的质量,甚至可以把他们期望的变形原型直接展示给绑定 TD,帮助对齐需求。

本文介绍我们在《DC 超级宠物联盟》(DC League of Super-Pets)中使用的镜头雕刻工具集:它用于增强绑定变形,以满足动画镜头的创意目标。该工具集复用绑定工具,核心是 Animal Logic 的自研变形系统 Bond(Bond deformation system)[Baillet et al. 2020],为动画师提供直观且灵活的方式,在镜头中扩展绑定的变形堆栈(deformation stack),并把绑定推到其原本设计活动范围之外。工具集已与我们的管线深度集成,并以尽量减少回放速度(playback speed)损失为目标设计,为艺术家提供更“无缝”的使用体验。

1 引言

《DC 超级宠物联盟》是一部具有强烈 squash and stretch 风格的超级英雄动画电影。制作团队在项目早期就决定:他们需要一种方式来应对各种临时出现的创意需求——特别是超级英雄角色在镜头中的形变挑战——并且不需要为此反复回到资产部门。更重要的是,团队希望所有角色的轮廓仍由动画可控,因此镜头雕刻必须是动画工作流的一部分,而不是偏向角色特效部门的独立流程。

2 工具集概览(Overview of Toolset)

工具集的主界面在 Autodesk Maya® 中实现,如图 1 所示。它允许用户按“绑定(rig)”与“几何(geometry)”维度管理变形器(deformers),并提供便捷选项用于:绘制权重(paint weights)、编辑 blendshape 目标(targets)以及切换激活状态(toggle active states)。

2.1 变形器(Deformers)

我们从绑定部门可用的变形器集合中,筛选出一部分供动画使用,筛选标准主要来自创意需求与技术可用性。

最常用的是 blendshapes。在整个工具集中,blendshape 是唯一需要“字面意义上的雕刻(literal sculpting)”的部分,它常用于实现非常具体的设计细节。

此外,工具集还提供了 softmodpushsmoothcluster 变形器,它们可用于:

  • 增加或减少体积(volume)
  • 抹平(buff out)过于“脆/硬(crunchy)”或“凹凸(lumpy)”的区域
  • 移动相对刚性的对象(如纽扣或首饰)

最后,lattice 变形器在增加 squash and stretch 效果、以及制作 smear frames 时非常有用。lattice 还包含一个 collision mode,它被大量用于解决我们“主角猪”快速变大这一超能力带来的形变挑战。

2.2 权重贴图(Weight maps)

该工具集在所有权重贴图绘制功能上,都复用了 Bond 的绘制工具(Bond paint tool)。不过,为了降低动画师的学习成本,我们支持在创建变形器时,直接从“顶点或面的软选择(vertex/face soft selection)”初始化权重贴图;这样通常不需要手动绘制,除非确实需要一张非常特定的权重图。

2.3 分组(Grouping)

lattice 与 softmod 支持几何分组(geometry grouping):也就是说,可以通过共享控制器(shared control),向某个变形器添加或移除受影响的 shape。该能力在处理角色面部(face)尤为实用,因为面部往往由多份几何共同构成。

2.4 导入/导出(Import/Export)

我们将管线的 IO 流程直接暴露给用户,以便变形设置可以共享与复用。工具集中提供了专门的 IO 工具,用于处理变形器重名冲突(deformer name conflicts),并在发现拓扑不兼容(topology incompatibility)时给出提示,如图 2 所示。

Figure 2
图 2:镜头雕刻的导入对话框。

3 在镜头中编辑绑定(Editing rigs in shots)

我们的镜头雕刻工具集构建在 Bond 之上:Bond 是一个与 Pixar™ Universal Scene Description(USD)集成的 CPU/GPU 混合变形系统(hybrid CPU/GPU deformation system)[Baillet et al. 2020];同时我们也依赖 Beast——Animal Logic 以数据为中心(data-centric)的绑定框架(rigging framework)。

在 Animal Logic 的绑定中,**控制绑定(control rig)变形堆栈(deformation stack)**有非常明确的分离:控制绑定以 Maya reference 形式加载到场景;而变形堆栈在 Beast 中称为 binding data。binding data 由一组 Bond 节点构成,它们在绑定加载时创建,用来把 UsdStage 中的几何与被引用的控制绑定进行绑定(bind)。

这种结构的直接结果是:变形堆栈可以在镜头上下文中被编辑,从而叠加额外变形,形成分层(layering)的镜头级形变。Beast 中的所有 binding data 都带有 USD 数据,用于存储 blendshapes、权重贴图、skin 数据等内容,这些通过 Animal Logic 的自定义 USD schemas 实现。

在动画上下文中,为了提供更灵活的 authoring,有一部分 binding data 会通过 Bond 的 binding generators 在运行时从场景节点动态生成。例如,blendshape 目标会直接在 Maya 场景中的 mesh 上雕刻,而 Bond 的评估链(evaluation chain)会在运行时计算 offset。由于该工作流是“以变形为驱动(deformation-driven)”的,因此我们不依赖控制绑定;唯一的例外是:变形设置需要做局部化(localisation)时,会与控制绑定发生关联。

4 无循环的铆接控制器(Cycle-free riveted controls)

该工具集“易用性”的一个关键点,是允许控制器(controls)附着到几何上(attached to the geometry):这样动画师在创建之后仍能很容易地找到它们并进行移动。

但如果直接在同一条计算链上“既算变形、又取附着点(rivet positions)”,很容易引入评估循环(evaluation cycles),并导致回放速度不可控。为避免这种情况并保证稳定的回放性能,我们把 Bond 的计算链复制成两条:

  • 主链(principal chain):包含完整的变形堆栈,用于最终的几何变形。
  • 次链(secondary chain):负责在变形堆栈的某个指定层级(defined level of the deformation stack)上评估铆接点位置(rivet positions),如图 3 所示。

这种设计会导致我们对绑定变形进行冗余计算(redundantly compute the rig deformation)。不过性能分析(profiling)显示:Bond 的 GPU 评估目前足够快,这部分额外计算的开销可以忽略不计。

Figure 3

图 3:Softmod 的铆接(riveted)控制器节点网络,使用主/次评估链(primary/secondary evaluation chain)。

5 结果与未来工作(Results and Future Work)

镜头雕刻工具集在 1800 个动画镜头中有 945 个镜头使用过,同时也被用于各种原型(prototyping)用途。我们记录到:在单个绑定上、使用 GPU 评估的前提下,每增加“几十个变形器”,回放速度(fps)最高会损失约 10%。但在实际制作中,我们通常看到每个绑定只会使用两到三个变形器,因此对用户的回放几乎没有影响。

基于该工具集在动画中的成功实践,Bond 的次链(secondary chains)与生成器(generators)目前也已在绑定部门被广泛使用。变形器 IO 流程同样已集成进我们的动画库(animation library),以便更容易共享与复用。此外,铆接(riveting)相关的工具也被整合进一个新工具:用户可以在视窗中点击绑定或几何缓存(geometry caches),来附着用于约束(constraints)的控制器。

未来工作包括:

  • 在导入流程中集成绑定的变形传递(deformation transfer)过程,以支持跨不同拓扑导入变形器。
  • 增加对曲线(curves)的支持(目前只支持 mesh)。
  • 研究把变形器插入绑定堆栈(rig stack)的能力,特别是面向笼形变(caged deformations)的插入支持。

参考文献(References)

说明:为便于检索,以下条目保留作者、题名、年份以及 DOI/URL 等关键信息(条目内容本身保持英文/可检索形式)。

  • Aloys Baillet, Josh Murtack, Hongbin Hu, Haoliang Jiang, and Michael Quandt. 2020. Bond: USD-Integrated Hybrid CPU, GPU Deformation System. In ACM SIGGRAPH 2020 Talks (SIGGRAPH ’20). https://doi.org/10.1145/3388767.3407324
  • Arunachalam Somasundaram, Felege Gebru, William Sokoloski, and Nate Yellig. 2021. DreamWorks Art-Driven Shot Sculpting Toolset. In ACM SIGGRAPH 2021 Talks (SIGGRAPH ’21). https://doi.org/10.1145/3450623.3464649

本文采用 Creative Commons BY-NC-ND 4.0 协议进行授权。

BY-NC-ND: 署名-非商业性使用-禁止演绎

End of Article