首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

动画师苦寻的趁手兵器,前所未见的新绑定技术来了!

身为动画师兼技术指导的拉夫·安佐文始终在重新思考绑定流程,最终开发了 “临时绑定”。它可以置身于 Maya 节点图之外,因此我们在制作动画时也可以重新配置绑定。

相较之下,如果使用当前流行的绑定方法,角色绑定必须体现角色特征,而且这些特征无法在绑定完成后再次修改。

最近,拉夫上传了一段视频,展示了临时绑定的概念和具体作用。

拉夫特别提出:“视频中有一个‘快速动画’测试,十倍速的播放了我在这个测试里,用临时绑定制作的一段动画过程,但动画没有使用插值,所以里面只有绑定的直接控制,没有任何曲线编辑器或通道面板。”接着,拉夫阐述了这种方法和传统绑定的具体区别。

以下内容,动画手册在译成中文的过程中尽力了,如读到难以理解的生僻词,还请多意会。也欢迎您自荐,成为我们的金牌翻译官。

什么是临时绑定?

传统绑定对动画师来说就像一套机器,它有自己的层级、约束和其它节点联接,按照事先构造的单一方式运作。传统绑定与动画师的互动关系只有一种,但动画师却需要更加灵活多变地运用绑定。

the rig only exists while the animator is interacting with it–hence it’s “ephemeral”

- Anzovin

举个最简单的例子,为了给人物四肢摆 Pose,有时需要用 IK,有时又要用 FK。传统绑定的解决办法是切换或混合 IK 和 FK,但这种方法局限性很强。

如此一来,动画师不仅需要给人物摆 Pose,还要找到合适的切换方法和切换时间,同时顾及切换对插值的影响。

动画师和绑定之间的互动越多,动画师需要关注的元素就越多,从而给动画制作增加很多与动画制作本身(即赋予人物生动的表演)无关的冗杂工作。

“机器化”的绑定也会限制控制器的随时调用。例如,在制作动画时,IK 控制器和 FK 控制器可能需要互相跟随来实现无缝切换。那么问题来了:这是个死循环。

但是,临时绑定中不存在这个问题,因为它不以层级关系和约束为前提。临时控制器没有层级,控制器本身没有空间,且不与其它控制发生关联,因此它们也没有 IK/FK 的转换空间。只有在动画师使用绑定时绑定才存在,因此称之为“临时”绑定。

与传统绑定相反,临时绑定给动画师提供的是一套使用绑定的工具和不同模式。这些工具即可以像传统的 FK 和 IK 一样运作,也可以完全不同。

例如,视频中,你可以看见我在 FK 和“反向动力学”(不同于 IK)之间随意切换。这种传统绑定中的循环现象在临时绑定中完全不成问题。

临时绑定对动画师来说简便很多,因为他们只需要考虑此时此刻应该使用什么工具来操控绑定,而工具本身对插值不产生影响(其实,插值可能存在,也可能不存在,但这是另一个话题了)。

这也给绑定师带来很多便利,因为他们只需让手里的工具发挥作用,不需要为了满足动画师的一切需求而创建一个庞大繁杂的机械系统。

"I had to write my own rigging system that sits on top of Maya”

- Anzovin

但是,Maya 的场景结构不能用于创建临时绑定。为了实现这个原型,我必须自己写能适配于 Maya、且能够与场景交互的绑定系统,但是这里会出现节点回调。

有了这样的系统,主要控制器就可以使用临时交互,次级控制器和变形器也可以使用 Maya 的场景结构。

需要注意的是临时绑定的概念并非空中楼阁,相反,此前已经有很多相关积累,尤其是拉斐尔·弗拉加潘在《极端绑定》中的探索。我觉得绑定的概念正在进行颠覆性更迭,《极端绑定》就是其推动者之一,许多传统观念将就此消亡。

是什么驱使你制作这样的绑定系统?

我跟很多从动画师做起的绑定师一样,因为对绑定不满而开始自己动手。不同的是,在做绑定的同时我还会继续做制作动画。不过我现在对绑定还是不怎么满意,哪怕是我自己的绑定也不太行。

如今,很多东西都变了。我刚开始绑定时,IK 还是一个新概念呢!但从另一方面 来说,这些东西又几乎没从未改变。

CG 动画制作依然是一个复杂漫长的过程, 其中很多不必要的麻烦依然存在。因此,一个制作精良的角色动画所花费的时间,往往超出它实际需要的时间,这也就增加了动画影片制作的复杂程度和成本。

作为绑定师,我希望能够从技术层面来处理问题。临时绑定系统其实就是用 Python 写的(矩阵和四元数除外,这些用了 Maya 里的 math classes)。当制作动画时,我首要考虑角色的感受,以及如何通过形状和动作表达这种感受。最后考虑的才是如何使用绑定。

TSM 有可能添加临时绑定吗?

The Setup Machine是一个自动绑定工具,它通过 Maya 节点来制作绑定。临时绑定系统跟这个工具几乎相悖,它甚至不使用 Maya 的场景结构,所以 TSM 没有添加这个绑定系统的理由。但是,如果这个样品版本在生产制作中得以通过检测,就有可能加入 Anzovin 绑定工具。

我想要说的一些话

我在这里主要想尝试解决 CG 动画制作过于困难的问题。动画本身已经是一个很不简单的艺术活了,所以 CG 工具真的不应该再来添乱了。

很多人都试图通过解算来解决这个问题,因为在解算动画和程序动画中,软件里的大部分运动通过解算设定。但我的方法背道而驰。我希望动画师只需要用最直接的方法制作角色动画,因此需要剔除其中的一切多余步骤。

若要如此,我就要斩除诸多根深蒂固的观念和习惯。例如,完全摒弃关键帧插值。

这对于一般的传统动画来说还实现不了,但在一些我很感兴趣的高度卡通化或风格化的影片中很有可能实现,因为大部分此类影片动作幅度大,可以用分解插件插入中间帧。

长远来看,我觉得其实会绝大多数人物动画都不需要插值,只是我们现在还没有好用的工具。(而且,除了个别特效镜头外,我也不赞成使用解算。没错,我会手动制作布料动画,而且手动更快。)

摒弃插值为角色绑定打开了新世界的大门,依赖插值的传统动画也会是其受益者。这里就说到了“临时绑定”的概念。临时绑定与传统绑定不同,它只在你使用时才存在。

因此,它会任你摆布而不受层级关系、FK/IK 切换、空间转换和分层控制等束缚,不受一切传统 CG 绑定问题的困扰。

临时绑定有什么用

你可以像切换工具一样切换不同的操控模式。

只需要“向前”和“向后”即可操控绑定,不受层级束缚。

顺便提一句,这种情况下足部的反向动作不再属于特殊动作,反而成为绑定系 统中的继承部分。

你可以给节点配对,然后从任意一端来操控整体。这种情况在 Maya 的节点图 里是循环,但在临时绑定的临时节点图里不会形成循环。

你可以从任意一点转动任何控制器。

你可以使用任何一种绑定交互模式来制作 Breakdown。

以上这些功能在 Maya 的节点图里都不可能实现。之前,我先用 Maya 的绑定节点来设计这套系统,但与此同时还要在节点图里插入脚本以满足各种绑定需求。那时,整个系统中只有一小部分是临时的。

几个月后,我清楚地意识到这种办法只会忙中添乱,而且我也得承认一件很重要的事:绑定即软件。要解决这个问题,就不能用绑定 TD 的思维去思考,而要从开发者的角度看问题。

最终,我设计了现在的临时绑定系统,它独立于 Maya,有自己的节点图,不依附于 Maya 的场景结构,Maya 和它毫无关联。我惊讶地发现,直接使用编码来创建功能比生成 Maya 节点、修改场景结构要容易得多。

现在,这个系统原型混合了身体的临时绑定和面部、手指、次级控制的传统绑定,只适用于无插值动画。但是,临时绑定完全可以覆盖在传统绑定上。

这样就可以在做 Blocking 及之后的阶段时使用临时绑定,即无插值绑定,再使用传统绑定和插值做 Polishing 阶段。关键是,运动设定好后可以用这种方法来选择空间和 FK/IK 切换点,而不用在设计形状时就创建空间和 FK/IK 切换点。

我觉得这有点像给 ZBrush 的雕刻模型重新拓扑,先拟定基本形状后再加网线,而不是一边定形状一边加线。我们通常会想要先完全排除像网线、UV(用于建模)、关键帧位置和切换/混合(用于动画)这样的技术问题,如此一来,即使技术决策无法完全独立于艺术决策,依然可以很有收获。

作者

Anzovin

翻译

小幺

版权

本文首发于动画手册

未经授权严禁转载

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190816A05GJ600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券