


本文翻译自《化伪猫》的作者lolligerjoj的独家教程。
自从大叔解密了60帧的AMV制作手法后,国内涌现出了一大批优秀的补帧作者,也产出了许多很优秀的作品。但是平心而论,60帧的AMV在某种程度上已经泛滥了,而且其中大部分的作品质量并不尽如人意,画面多有瑕疵,严重影响了作品的视觉效果,包括但不限于大家口中所说的“果冻”等。
除此之外,还有一种把番剧进行补帧的视频也很流行,需要声明的是此补帧非彼补帧,本教程着重讲的是如何在AMV和MAD中进行补帧这个操作
关于补帧的制作手法,其实网上的信息并不多。往往只是简单介绍了插件该如何使用,但是理论上的东西却鲜有人提及——如何判断镜头是否合适?怎么避免果冻?扭曲了之后应该怎么办?大家往往都是靠着“试误”,且缺乏一个系统的引导。正值B站开放了新的码率限制,以后可以直接上传高码率的原生60帧视频而不会被二压,想必又会迎来一波60帧AMV的小高潮,于是我决定翻译一下这篇文章,以期为各位作者提供一些参考。
译者:一般有趣
协力:黑白Kun,JF·下弦
首先,译者给各位初次接触补帧的朋友们整理了一些经典的教程和作品,在看完本文后各位可以去欣赏一下这些作品,以起到举一反三,融会贯通之效。
JF下弦的补帧教程

最经典的传统补帧教程


国人的优秀补帧作品


国外的优秀补帧作品


超高码率的原生60fps作品

基础理论部分
0 什么是运动插值
1 什么样的场景补帧效果好?
2 动画的帧率vs素材的帧率(Animation framerate vs. footage framerate)
3 关于插值的更多要点:小数帧(Fraction of frames)
实战操作部分
4 如何使用Twixtor来制作AMV
5 一些常见的误解
6 补好帧之后我们还可以做些什么?
观前须知:
【译注】:译者的提醒和一些个人思考,不敢保证完全正确。
(motion layer):对文中的一些名词翻译附上原文,仅供参考,每个名词只会出现一次。
我:指作者lolligerjoj本人。
主体、物体、人物:object,一个意思,指的是你在补帧时希望呈现的那个东西。
插值计算、运动追踪、变化追踪、补帧:interpolation,也是一个意思,指的是电脑进行“补帧”这个操作的过程,由于语境不同而进行了不同的翻译。
遮罩与蒙版:前者为matte,后者为mask。
基本准备
你需要用到的软件:Adobe After Effects,最好是CC2014及以上,强烈建议各位使用英文版。
你需要用到的插件:Twixtor或者Twixtor Pro,注意插件与软件的版本是否对应,建议6.2.5以上。
你需要掌握的概念有:预合成、嵌套、帧、整数帧、小数帧、时间重映射、蒙版、遮罩等。
【译注:阅读本文需要对AE有一定的了解】

原文中的快捷键和概念解释,都比较基础我就不翻了
2013年以来,经常有人问我关于如何补帧的问题,我曾经写过一个答案但是很多人还是在问我,这搞得我很不爽。此外,现在youtube上出现了许多很热门的补帧教程,但是大部分都有很多错误,并且忽视了很多细节。除此之外,还有人拿这种糟糕的补帧教程来进行售卖,这让我无法忍受。
所以,欢迎点进本文,我将在文章中解释补帧的基本理论,技法,一些细枝末节,以及在AE中使用twixtor的基本工作流程。希望各位能通过我的讲解,实验出适合自己的一套工作流程。
Warning:这个教程并不是最完美的,只是我自己的个人经验。这个教程不会收费,但如果你想表达感谢的话,欢迎打赏【译注:如果你想对翻译表达感谢的话,麻烦收藏点赞投币充电一条龙XD】。
运动插值是一个能让你在Youtube和Vine上出名的黑科技XD【译注:Vine是一个小视频分享网站,在AMV中类似的作品被称为快餐系或者IG风,可以去看看站内的@NEW-editors】
在视频剪辑中,我们往往都在用一个设置好的帧率,比如常见的24fps,但有时你会需要把视频放慢。这就会导致一个问题——慢放后的视频帧率变低,看起来很卡。
现在想象这样一个画面:如果我们可以创造更多的“帧”,并且是通过两个相邻帧的像素变化来进行自动计算,以此来“猜测”这个新的中间帧应该有哪些内容【译注:中间帧即自动计算生成的新的帧】。这就是我们所说的“运动插值”,它的基础概念是“计算两个帧中间应该是什么“。因此可以简单的理解为利用两个帧之间,物体的实际运动去计算出更多的帧,以此来完成一个更流畅的慢放效果。就如下面这两个GIF。

没用twixtor

用了twixtor
除此之外,运动插值还可以让你以任意帧率输出视频,比如把24fps的转制成60fps,或者450fps,或者10492fps……当然AE最高只支持99fps,真可惜。
现在你们应该了解了这个技术的基本概念,接下来就进入正式环节吧。
先告诉你们一个残酷的事实——twixtor不适用于绝大部分的动画片段中。这是由于在动画制作中一般会采用较低的帧率【译注:即有限动画,我们所说的一拍一,一拍二,一拍三】,还有一些片段画得很糟糕,或者变化的太快。所以,常见的插值算法很难在动画素材中起到好作用。如果你想给整个视频都补帧的话,那你对于素材的选择就会受到极大的限制。
所以,如果你经常使用twixtor的话,应该要对镜头产生一种感觉,对可以使用的以及不可以使用的镜头非常敏感。接下来,我将举几个例子来让你理解在什么情况下twixtor的效果会比较糟糕,提供一些普遍规则来让各位明白什么样的镜头能满足你们心中所想的效果。各位在选镜的过程中,可以利用这些笼统的规则来预先估计最终效果,我还将讲解如何处理一些难以避免的情况。
1.1 物体运动得太快
必须指出的是,两个帧之间物体间隔的越大,twixtor的效果就越差。如果一个物体从屏幕的一边移动到了另一边,twixtor就没法跟踪它了。
然而,运动幅度大的物体,可以使用twixtor pro中的蒙版引导(Mask Guide)来进行追踪,这可以一定程度上增强效果,我将在4.3.4中介绍这个方法【译注:这就是我们常见的一个误解,“抠出来补“的真相】。
1.2 物体的形状或者颜色发生了改变
如果物体在两个帧中间难以被清楚地识别,那效果就会变得很糟糕。这种情况往往发生在角色转身、闭眼或者物体的形变上。
大部分时候,这些问题可以用twixtor pro的运动层(motion layer)和蒙版引导(guidence masks)来弥补,我将在4.3.3和4.3.4中进行介绍。不过很遗憾的是,在很多糟糕的案例中,你的一切操作都是没有用的,这种时候你只能抛弃这个镜头,除非你头很铁【译注:译者认为这个未知性正是补帧难以入门的原因之一】。
1.3 物体在另一个物体的前面运动/移出了画面框架
如果一个物体运动的部分看起来像是覆盖在另一个运动的物体上,那么补帧的效果会变得很糟糕。在制作过程中你会经常遇到这样的镜头:比如走路、奔跑、角色互动以及在风中飘动的美丽长发等。
同样,利用twixtor pro中的运动层可以有效缓解问题,但如果物体交错太过复杂的话,神仙也救不了了,你只能放弃这个镜头,或者将其简化【译注:这里可能是指利用抠图或者别的手段把画面范围缩小】。
1.4 图案(Patterns,可能翻译成模式?)
如果一个物体在空间中分布的范围很广, twixtor就会对物体的运动产生混乱,导致补帧效果变差。对于这种情况我没有做太多实验,但是解决方法应该是共通的。
1.5 总则
一般来说,twixtor最适合用于帧数高且主体单一的镜头中【译注:此处的帧数高是指作画张数多,即一拍一或者一拍二】。逐帧之间物体的变化越小、越慢,补帧的效果越好。明确点说的话,本身运动慢的画面补帧的效果会更好。
同理,如果一个镜头画得很烂,且作画张数低,那你最好一开始就放弃它。
我给你讲,动画就是一泡污(Anime are a mess, I tell you)。
可能你之前做过AMV,所以我认为你对动画素材已经比较熟悉了。那现在我们就来仔细看看动画素材到底是什么样子的。
第一个注意点是,绝大多数动画都是23.976帧的,我几乎没有遇到过其他帧数的动画【译注:23.976是NTSC制下,为了把信号和载波区分开而将交流电频率降低了千分之一,和PAL制不同。这些都是历史遗留问题,不需要过分关注】。
然而,这并不是我们唯一需要了解的帧率,为了制作补帧动画,我们也得了解对应的目标帧率。要知道,动画师都真TMD懒,他们居然不把每一帧都画满,而是一秒只有8张或者12张画,真是难-以-置-信(un-be-lie-va-ble)【译注:这里是指日式有限动画和美式全动画的区别。战后日本人为了节省成本,从美国反迪士尼的一批动画师中学来了有限动画,然后逐渐把有限动画发展出了自己的特色,导致美日各自的动画走上了完全不同的两条路(东浩纪,动物化的后现代)】。
【译注:下文中,我将把8fps译为一拍三,12fps称为一拍二,满fps称为一拍一】
按理说,当我们实际对插件进行设置时,确定素材的帧率是最重要的一步。在输入帧率那一栏中我们必须得输入正确的数字,如果不对的话效果就会出错。
注意:一个场景中动画的帧率并不总是一致的,会发生变化,即一段是一拍二,另一段是一拍三。这是一个非常重要的潜在问题,之后我们会学习如何处理这个问题。
【译注:这段比较烧脑,看不懂的可以略过】
接下来我们来谈谈AE到底是如何工作的,顺便一提这些都是基于我自己的经验,我无法保证是完全正确的,但这个部分可以让你对twixtor有一个更透彻的了解。
可能你已经对AE中的合成嵌套关系有所了解了。比如,在Comp A中你可以堆叠很多图层,然后他们又可以预合成,变成Comp B【译注:Comp A中包含着Comp B,即为嵌套关系】。为了在Comp A中渲染一帧,AE需要从Comp B中寻找对应的内容来进行渲染。我把这个过程描述为AE从Comp B中提取出一帧的画面【译注:原文用的是request,我将其翻译成提取】。

基础的嵌套关系,按TAB键可以看到树状图
AE能从合成中提取小数帧,而twixtor则可以输出小数帧。我将其称为“小数的帧号“(the fraction of frame-numbers),如第0.5帧,相反”整数的帧号“则是指第1帧。这是一个时间坐标,可以指代合成或者素材中的一个画面。我们不仅可以指定一个整数帧为坐标,也可以指定一个小数,即两个连续帧中间的画面为坐标。
换句话说,对于小数帧的支持意味着时间分辨率会比合成的帧率要高【译注:原文中的时间分辨率是指我们可以从每一秒中找出有多少变化的帧,比如动画中的一拍三,我们能从每秒中找出8帧】。第2.5帧代表第2帧和第3帧的中间。事实上,提取一个小数帧是没有意义的,因为其本身并不存在。但是如果这个合成上加了twixtor插件的话,小数帧就会被渲染出来【译注:这应该就是twixtor的插值计算的本质】。
这么看来,这个概念对于普通的AE用户来说可能是与常识相反的,因为时间指示器只能放到整数帧上。这是由于当我们实际输出视频的时候,只能呈现整数帧,因此小数帧的概念只能在制作过程中,在AE中才能感受到【译注:其实不感受到也无所谓啦XD】。
下面是一个例子:
假设我们有一个合成叫合成1(c-nested),外面套了一个总合成(c-main)。如果我们把合成1降速一半的话,AE并不会简单地开始复制每一帧,而是去提取小数帧。根本上来讲,在总合成中AE提取帧的顺序如下图所示:

第一行为总合成,第二行为合成1
如果放慢为三分之一的话:

在另一种情况下也会发生提取小数帧的情况——嵌套合成之间的帧率不同,产生了矛盾。比如总合成的帧率是60,而合成1是30,那么AE并不会简单的按总合成的帧率去提取,而是会得到和降速一半一样的结果【译注:有一种补帧方法是两层插件嵌套,其中里层的插件将帧数修改为7或者12,就是利用了这个原理】。
需要注意的是,提取帧和输出帧(request frame and output frame)是有所不同的。如果一个素材并没有进行插值处理的话,即使我们提取了一个小数帧,在实际渲染这一个小数帧的过程中,AE会自动将其变成整数帧来进行渲染。因此,对一个未进行过插值处理的素材进行降速的话,就会导致重复帧的出现。
如果你对素材做了些动画,如位移、缩放等用到了“关键帧“的操作,不要担心,这些并不是基于合成自身的帧率,其中的小数帧会被正确的渲染出来【译注:只要知道随便怎么玩都ok就行了】。
现在,你已经了解了补帧的必要概念和技术,接下来可以进入实战环节了。不过首先,在第一节中我只会介绍项目工程的基本结构【译注:重点部分来了,嵌套关系一定要搞清楚,然后再去研究怎么补帧,磨刀不误砍柴工】。
4.1 基本结构
为了在一个巨大的工程中更好地使用twixtor,我们需要一个合适的工程结构,这样可以有效避免插件合成太多而造成的混乱。接下来我会提供一下我自己的结构,这并不是最好的,但是是最适合我的。希望各位也能找到适合自己的方法。

这张图展示了这种结构的基本概念。蓝色的c-nested合成全部包含于c-main总合成中,代表的是经过补帧处理的合成,这些合成就是作品的组成部分。你可以在总合成里进行剪辑调速等操作,最后输出总合成即可。在蓝色合成里面包了一个黄色合成,插件就加在这个合成上面。
【译注:这张图请务必牢记在心,不然后面可能会看得一脸懵逼】

来看一个案例吧。
先从总合成来讲起,如图所示的comp 1就是我的总合成。在总合成中你可以像正常剪片子一样操作,包括但不限于调色、特效等,想多骚就可以多骚。大部分的效果都是加在总合成中的【译注:这一部分每个人的习惯都天差地别,仅供参考】。总合成的帧率可以任意设置为你想输出的帧率,就像我们在第三部分中所说的那样,twixtor可以完美地处理此变化。
所有经过twixtor处理的素材都被打入了一个合成中,我称其为嵌套层(c-nested)。
每一个嵌套层里都包含了twixtor插件,对于twixtor来说,每个嵌套层都是独立的,所以你不需要在总合成里面使用它。嵌套层往往采用和原始素材相同的帧率,比如23.976(尽管这不是必要的,但对于使用twixtor pro来说却可以提供很大帮助)。这些嵌套层是能够输出小数帧的,比如说,当你需要第1.5帧的时候,嵌套层可以正确地输出经过了插值处理的中间帧,这样你就可以在嵌套层上使用AE自带的速度工具进行处理了。我们可以把这个合成放得贼慢,然后它就会进行相应地插值运算。在这里可以使用时间重映射【译注:ctrl+alt+t】,这种方法产生的速度变化是最平滑的。
嵌套层中还包含了别的图层,我称其为抽帧层(c-frame_collapse),因为有时你需要去抽掉素材片段中的重复帧,让所有素材的帧率保持相同,以此来避免变化的帧率所带来的问题。
【译注:这段就是讲了个层层嵌套,非常容易蒙逼,大家可以多进行尝试。关于抽帧的作用,可以看到原文中的表述和我们平常所流传的作用不太一样,值得我们学习一个】。
4.2 Twixtor的处理,终于进入正题啦!【译注:插件部分我不会翻译,建议大家养成使用英文版的习惯,中文版的玩家请对照图片和字典】
就像上文所说的,里面加了twixtor的合成被称为“嵌套层”,现在我们开始学习具体怎么做。
Step1:创建这个合成
首先,在总合成中应该有很多你已经预先剪好的素材,接下来你需要把这些素材替换成“嵌套层”。就像4.1中所述的那样,形成树形的嵌套结构。
我们从总合成的时间线上选择那些我们想要进行补帧处理的片段,然后按ctrl+shift+c对其进行预合成,输入你想要的名字,不过我建议你和我一样选择容易识别的名字。接下来在预合成时选择第一项“leave all attributes in c-main”

接下来,打开这个新合成,这个合成就会和素材有一样的帧率了,一般来说就是23.976fps。因为你选择了第一项,所以这个合成会和源素材一样长。
Step2:决定动画帧率
接下来,我们需要去确定素材实际的帧率了。首先我们把时间指示器移动到开头素材出现的地方。
然后需要注意的是画面中的主体,这也是插件会去注意的东西。我们可以用快捷键ctrl+左箭头或者右箭头,逐帧移动时间指示器。找出画面中的重复帧。一般来说,AE时间轴上的1-4个帧中会有1个变化帧。一般来说这个数字是不变的,但偶尔也会在半途发生改变。【译注:这里作者应该是按照动画的分镜来分开进行处理的。一般来说一个分镜中只会有一个主体进行一个事件,作画的拍数也是相同的,比如下图中的猪。但有时在一个分镜中可能也会采用不同的拍数来进行作画以适应不同的画面表现要求,这正是有限动画的魅力所在】。所以,这段素材的实际帧率就是其原始帧率(23.976)除以作画的拍数,如一拍三的话,帧率就是23.976/3=7.992。

例如此图,画面每3帧变化一次,就是一拍三。
有时,画面上的其他部分会以不同的帧率进行运动,例如背景或者其他角色【译注:典型的例子是京紫的CM1,A层和B层拍数不同,所以看起来非常流畅】。确保你不会被它们所混淆,把你的注意力放在你的主体上。
衷心地希望你的动画素材一直维持着一个相同的拍数,不过建议你还是提前检查一遍,如果帧率不同的话就得去调整他,比如物语系列中就经常出现这种情况。
Step3a:帧率不变的情况下。
如果你的素材帧率不变的话,那你真是贼幸运。你可以直接给源素材套上插件。不过如果你计划要用一些高级技巧的话,请使用twixtor pro。
现在有一个最重要的设置要改:”Input: Frame Rate”。将其设置为在上一步中你确定下来的帧率,你可以在此键入公式,如“23.976/3”,然后AE会自动计算出结果。【译注:这一步其实和timeremap表达式抽帧是一个意思,两者的本质都是通过给视频加速来去除重复帧。大叔选择加速2.5倍也是考虑到了素材拍数的变化,作者这里选择了一拍三和一拍二分开处理,本质上是一样的】。

额外操作:有一种很少见的情况是你需要把同一个画面中的不同物体都进行补帧处理,但是他们各自的帧率是不一样的。此时你可以复制一层素材,两层分别使用插件,输入不同的帧率,然后分别进行预合成,选择第二项“move all attributes to the new comps”。最后在预合成上把目标物体抠出来。这个方法很麻烦但是效果却很好。至于为什么我们要分开预合成,是因为加了twixtor的图层是不会识别蒙版的,但是在twixtor pro中可以使用蒙版,这部分我们放到后面去讲。
Step3b:在帧率变化的情况下。
如果帧率变化的分界线很明显的话,你可以直接把它在变化处切开,然后按照Step3a中所说的那样分开进行处理。

注意:这样处理素材的话可能会导致画面在分界处产生跳帧的现象。我不确定到底为什么会发生这种现象,大部分时候这不会对画面产生什么影响,但是有的时候就会毁了你的心血,喔!我真想踢他那该死的屁股!在这种情况下,请看Step3c,我把这个方法称为“暴力攻击法“。
除此之外,如果帧率变化得太频繁或者没有规律可循的话,也请看Step3c【译注:再举个例子,我在玩京紫CM2的时候发现开头的头发飘是三拍二拍循环的,这种情况下也只能用下面的暴力抽帧法处理,然而最糟糕的是画面上有许多飘舞的花瓣,单套的效果并不好,因此不得不用下文所说的引导层来分层处理,抖M到爆炸】。

太抖了,我没做完
Step3c:暴力攻击法【译注:喜闻乐见的手动抽帧】
如果你的努力都以失败告终,我们只好使用最暴力的方法来使帧率保持恒定。
先回顾一下前文。我们把总合成中的素材打入了一个名为c-nested的嵌套层中,一般情况下直接在嵌套层中的素材上加入插件即可,但在这里我们需要把嵌套层中的素材再嵌套一次,打入一个叫c-frame_collapse的合成中【译注:之后称其为抽帧层】。注意这里是两层嵌套,千万不要搞晕了。

还是选择第一项
打开这个抽帧层,选中素材,打开时间重映射,这时素材的头尾会出现两个关键帧,删掉最后一帧,
然后跳至合成的开头,把时间重映射的数值调整到你想要的那帧画面上。接下来按ctrl+alt+h定个关键帧,这样就可以取消关键帧的插值了【译注:关于这个部分,请右键关键帧,选择关键帧插值这个选项进去试试看,在此不详细解释了】。需要注意的是一定要把最后一帧删掉,不然会出现大问题。
接下来,我们使用时间重映射来抽去所有的重复帧。
我的操作流程是这样的:按住ctrl,用右箭头移动到下一帧,然后按住ctrl不放并拖动时间重映射的数值,直到画面发生了改变,换句话来讲就是把最近的一个变化帧拉了过来,这样两个帧中间的重复帧就没了【译注:时间重映射的概念就是一个关键帧对应一个画面帧】。然后重复这个操作即可,需要注意的是一定要按下ctrl+alt+h定格关键帧。


此为值图表,而不是速度图表
在关键帧图表中你可以清楚地看到我什么我要将关键帧定格。因为帧象周期是不规则的,但我必须得跳过不同数量的关键帧来让画面保持每帧一动。
现在我们就获得了一个抽完重复帧的新素材了。这就表示动画的帧率变得一致了。
所以最后我们可以回到嵌套层里,在抽帧层外加上插件,此时”Input: Frame Rate”设置为23.976即可。
【译注:这段看不懂的话可以配合下面这个视频观看。两个方法本质是一样的,只是操作习惯不同罢了。一般来说我们抽帧的时候都是按照这个视频的方法来抽的,其实可以结合一下loll的方法,把关键帧定格】

请注意:这个方法有一个不好之处。
对于3a和3b两种方法来说,它们可以保存动画素材的原生速度,但在3c这个方法里,它会将其破坏掉,并导致速度跟随帧率而变化。由于我们把所有不同的帧都统一了帧率,而忽视了其本身的持续时间【译注:这段贼难翻,我理解的应该是指手动抽帧的方法会破坏掉原画的踩点】。
【译注2:事实上二维动画本身就是一张张静态手绘画面拼接而成的,本身并不需要搞所谓的60帧,也做不到,自动插值生成的中割做不到这么精细,会导致最终结果看起来很怪。而且动画的“作画张数”和“帧数”并不能完全等同,如果有分层作画,不同的作画层的拍数并不一定完全等同,有可能第一层是一拍三(每秒8张画),第二层特效层是一拍二(每秒12张),强行补帧搞所谓的60帧反而破坏了作画。所以其实站内的很多把XX新番补到60帧的视频,要不是用SVP,要不就是twixtor单套,甚至还有直接重新压成60帧的,这种视频其实意义不大。然而在AMV中,补帧的作用就凸显出来了,那就是营造一个特殊的视觉效果。比如loll本人就利用补帧去做一些很psyche,很吓人的东西,又比如JF下弦则喜欢用补帧去搭配慢歌做一些空灵治愈的东西。补帧本身只是一种手段,补帧作品的核心也不是补帧,这一点需要充分注意,千万不要“为了补帧而补帧。】
这个问题的解决方法是回到总合成,然后时间重映射嵌套层,这样就能让速度重新变得自然。接着将其预合成,选择move all attributes to the new comp,以使时间重映射的效果重新作用在顶层。
Step4:检查结果
现在补帧应该已经起作用了。作为最后一个步骤,你还可以去检查一下是否有物体移动到画面外,并在这种情况下启用twixtor中的smart blend属性。
现在你可以回到总合成中,然后检查最终效果了。你可以尝试一些不同的变速,当然也可能会遇到扭曲果冻等糟糕的情况,关于这块我会在下一个部分进行讲解。
必须得确保你已经把重复帧抽干净了,素材中的画面应该是每帧一变,如果明明抽干净了却还是感觉插值计算有问题的话,这可能是你输入的帧率不正确(Input: Frame Rate),千万不要让这个选项在中途发生改变。
EXTRA1:使用twixtor脚本【译注:下载地址附在文末,投币可见(笑)】
Ceddic制作的这个脚本可以自动完成Step1到Step3a。你只需要输入动画的帧率,即Step2中的数据即可。这个脚本没法应用在帧率变化的情况中,所以我并不常用它,一般情况下我会去用下面的这个预设。
EXTRA2:使用预设
这里其实就是手动设置好了几个预设,然后在不同情况下使用。除了设定不同输入帧率的情况外,我还会把“motion sensitivity”调到100,打开GPU加速。
【译注:作者这里使用的名词是twixtor artifacts,字面意思是……人工产物?滑稽】
Twixtor插件并不是特别完美,在计算插值这方面经常会出现各种问题。比如,当插值同时向前(从第一帧到第二帧)和向后(从第二帧到第一帧)计算时,这两个插值会分别使用不同的计算方式来进行混合,然后就会发生肉眼可见的错误——扭曲和果冻,这是因为插件自动计算的中间帧就是扭曲这个结果本身。

为了避免这种情况,首先你可以只选择合适的画面,或者试着去调节一下插件中的参数,比如“motion sensitivity”,但是在大多情况下并没有什么效果,所以我一般都直接拉到100了。你还可以把“Image prep”这个选项设置为”contrast enhance”,当然效果也不尽如人意就是了。所以,大家还是老老实实地用twixtor pro吧。

not pro

pro
因为twixtor pro的官方帮助手册已经把每个选项都解释清楚了,所以我不会把每个地方都给你解释一遍,只是会指出一些需要注意的地方,特别是在处理这些艹蛋的动画素材时。
4.3.1 改变运动源
Pro有一个选项,可以让你指定其他图层作为运动源。这意味着插件可以从这个指定的图层中追踪画面运动,但是把插值应用在本图层中。

Alt Motion Source
这个方法主要有两个作用:
一,画面的对比度不高、看起来难以辨别的时候。你可以复制一层素材,然后对其进行调色,让画面变得更容易辨别。千万不要忘记先预合成,选择第二项,再加twixtor,此为新的运动源。最后,在原图层上把”Alt motion source”指定为那个调了色的合成。

第二个作用是,在有的情况下,你反而得去降低画面的对比度以更好地进行运动跟踪。比如说在主体表面有不规则的影子在运动,这可能会影响到插件的效果。因此你可以像上面一样进行操作,只不过反其道而行之——降低对比度,直到阴影的变化几乎无法识别,且主体的运动依然很明显。此时twixtor就不会被影子的运动所混淆,进行正确的插值运算。当然,这个操作的代价是影子的插值会出现错误,但是为了人物,牺牲掉一点小影子又何尝不可呢?

进行调色,使面部阴影难以被识别

你可以看到人物的脸看起来扭曲变少了,而且阴影的变化也顺利完成了。
这个例子并不完美,天空看起来扭曲的原因是我用了运动追踪蒙版来跟踪了头发,由于天空和头发靠得很近,所以才会产生扭曲。当然要处理这个问题也很简单,你可以把人物抠出来,哈哈哈哈。
4.3.2 帧的不同的混合模式以及扭曲模式
每一个内插帧都是基于两个计算帧而合成的。Twixtor会去计算相邻两个帧之间的像素变化来生成新的帧。那么twixtor在跟踪物体时是从什么方向进行跟踪的?又是哪个帧导致了画面的扭曲呢?答案是都有,我们可以改变帧的混合模式和扭曲模式,来让画面效果变得更好。

如图,“Frame Interp”和”Warping“两个选项
默认的Frame Interp选项就只是blend。这只是简单地在两个方向间做了个交叉【译注:请看4.3部分,运动插值是双向的,且两个方向各自的计算方法不同】。动画距前一帧的距离越远,基于该帧的插值影响就越小,基于后一帧的权重越大。【译注:这块我也看不懂,只能机翻了,望大佬赐教】
为了让混合变得更自然,这里还有一个选项,叫”Motion Weighted Blend”,字面意思就是根据运动权重进行混合,但是讲道理我没感觉有啥效果。
一个比较好的选择是“Nearest“,这个方法的意思是插件只会利用单方向的插值计算,并且决定这个方向的原则是离哪个帧近【译注:如第1.4帧就是利用第1帧,第1.6帧就是利用第2帧】。这个方法的好处是一次只采用了一个方向的插值,不会导致画面出现复数重影,坏处是两个帧之间的间断点太明显了。所以大家还是都试试看,挑个最好的用吧。

Motion Weighted Blend

Nearest,可以看到确实没有重影了,但是发生了卡顿
另一个可以考虑的选择是把“Warping“选项改成forward。特别是在你用蒙版跟踪的时候,请务必把它改成forward。
4.3.3 运动层(Motion Layers)【划重点】
【译注:这个地方比较抽象,我先做个总结方便大家理解——运动层和引导蒙版,都是使用钢笔工具来对画面进行引导,以限制画面扭曲。比如我们把腿圈了出来,那腿的部分就会单独进行插值计算,而不会和腿四周的背景混在一起。换句话说,就相当于你把物体的运动逐帧抠出来一样】
可能twixtor pro最牛逼的特点就是运动层这玩意了。在画面上有多个物体进行复杂运动的情况下非常有用。Pro支持将他们分为最多3个运动层和一个背景层,如下图中所示的“Main_BG Layer Settings"、”FG1 Settings“。
首先你要创建一个运动遮罩层(Motion Mattes)【译注:Mattes译为遮罩,比如大家熟悉的alpha轨道遮罩。masks译为蒙版】,通过其来指定画面中的某个部分应该属于哪个运动层。千万记得要把遮罩放到预合成里(move all attributes to the new comp),然后在插件中选择这个预合成,如图所示我把FG1 Matte设置成了FG1 Komp1这个合成。
另一件需要注意的事情是,运动遮罩并不会受到图层叠放顺序的影响。这是指如果你指定为“FG2“的一个图层在画面中被”FG1“的部分给挡住了,两者并不会互相影响,所以你不需要在意图层的叠放顺序,当然有一个良好的工程习惯就坠吼啦。

这张图展示了如何使用运动层。注意,画面中这些蒙版实际上并不是运动层,因为我选中的是素材的图层,这些钢笔路径之所以能被看到是因为我把他们从运动遮罩上复制到了素材层上,并把它们作为一个引导蒙版,这我之后会讲。这些蒙版实际上只是我用来创建遮罩的那些钢笔路径的复制。原始的蒙版被我加在了固态层上,并且被打入了一个预合成中。在这个例子里,FG2的蒙版就被包在了一个名叫“FG2 Komp1“的合成里【译注:即用钢笔在固态层上抠出个运动遮罩,然后把这个钢笔路径复制到原图层上】。
注意:一个遮罩上的钢笔路径必须得建立在一个蒙版中,锚点的变化必须得用蒙版路径来完成,就是按一下快捷键M会跳出来的那个,在那上面打关键帧,然后修改即可,绝对不可以切开或者新建蒙版。TWIXTOR只能通过“在一个蒙版中路径的变化”来识别画面运动。
为了检查运动层的问题,你可以在“Display“面板中改变预览方式。

绿色:FG1
注意,在这段动画中,实际的运动层就是填充了颜色的这部分。我们用来创建遮罩的蒙版也被用来当作引导蒙版,因此我才让他们显示。千万记得在最后输出的时候要把它们隐藏掉喔。

接下来这个例子很重要。请看这位新娘的双腿,实际上两腿的运动遮罩的覆盖关系是随着她的步伐而改变的。迈左腿的时候,黄色的遮罩在蓝色的遮罩上面,反之亦然。在这个场景中,我把加了twixtor的图层分开了,在不同的图层中以不同的顺序指定FG1和FG2.

绿色:左脚的黄色遮罩在右脚的蓝色遮罩上面;红色:反之。FG1和FG2随着人物步伐互相交替变化。
关于四周观众们手上的那些蒙版,我并没有使用运动遮罩,他们只是引导蒙版罢了,这个我会在4.3.4中讲。
虽然运动层很牛逼,但缺点也很明显——只能设置3个,请看下面的这个例子。

注意,在这第一张截图中,FG2(蓝色的图层)是在FG1(绿色的图层)下面,重叠的这部分中,男子的手掌盖在女子的身上。然而如果你仔细观察的话,就会发现女子的右手理论上也应该覆盖在男子的胸膛上。但由于已经把FG1盖在了FG2上面,所以导致发生了冲突。

这张截图也体现了这个问题。男子的右手(FG3,红色的部分)从女子的后面环抱住了她,而且男子的手指最后伸到了另一边,因此手指理论上应该盖在FG2的上面,但是实际情况中手指还是属于FG3【译注:在下语死早,各位意会一下这个透视关系….或者找个人抱一下】。
事实上我并没有解决这个问题,在此也只是举个例子提一下罢了,因为在应用过程中这个问题其实是微不足道的,但有的场景确实会比你想象得要复杂得多。
涉及到运动层的内容有很多,所以我建议你还是仔细的看下twixtor pro的帮助手册。这个确实还是很花功夫的,因为你的运动遮罩得尽量精确,甚至就像在抠图一样。接下来的这个操作可能就比较省事了,它允许你不用那么精细的进行抠图。
4.3.4 动作引导蒙版(Motion guidance masks)【划重点】

动作引导蒙版可以对补帧的质量产生巨大的影响,虽然还是比运动层差了点。不过我之前还是太低估这个方法了,直到2016年我才开始好好地挖掘其潜能。这个方法最爽的地方就是蒙版并不需要画得特别精确!

这个图比较难理解。首先蓝色的蒙版是FG1的引导蒙版,因为只有一个,所以first mask和last mask都选蓝色的蒙版即可,红色的同理。而橙色的蒙版则有很多,因此在FG2 Settings中需要把first mask指定为Mask 2,last mask指定为Mask 8,这样2~8中间的蒙版都会被FG2所识别
引导蒙版需要在运动层中指出,你需要指定first mask和last mask,这其中的其他蒙版都会被包含进去。【译注:引导蒙版还是基于运动层来发挥作用的,所以上文中作者说他把运动层的蒙版复制到素材上作为引导蒙版,可以理解为起到了1+1>2的效果,需要注意的是蒙版的顺序千万别乱套了】
下面有一些重点需要注意。
1、引导蒙版必须得用AE自带的工具画,而且得画在一个蒙版里。我知道有些AMV作者喜欢玩骚的,比如每一帧新建一个蒙版,这招对twixtor可行不通。因为插件需要通过相邻关键帧之间蒙版锚点的变化来提取画面像素的变化信息。
2、所有的蒙版锚点应该放置在物体的固定点上,比如一个锚点在下巴上,那不管人物怎么运动这个锚点还是得放在下巴上,这对于最终效果有巨大的影响。
3、通过蒙版的透明度来启用或关闭引导。在后面的案例中你会发现有的蒙版停止变化了,但还是显示在画面中,这是因为我把他的透明度调到0了。
4、锚点不需要打得太精确,有时粗略的几个点就能让twixtor理解,起到很好的引导效果了。特别是在画面带有运动模糊的情况下,我强烈建议各位不要像抠图一样去打锚点。
5、在物体运动得很快的时候也有用。
6、如果你已经用运动层把场景分开了,你可以直接把运动层的蒙版复制过来当作引导蒙版,效果顶呱呱。

为了阻止头发和手部的引导蒙版在其前面的垫子上弯曲,将垫子和孩子的手放在单独分离的运动层上。 把引导蒙版(除了坐垫和手的)都应用在背景层上。

这张图也是一样,把右侧的台阶用一个运动层单独引导,然后把波纹和水面的引导蒙版放到背景层上【译注:其实插件的英文名称也正是代表了区分前景和背景的意思,即foreground和background。

这个场景很难去掉所有的扭曲。但由于这个画面中运动速度非常的快,所以你只需要去引导一些必要的动作,不需要特别的精细,就比如我这里只给手画了引导。尤其是在画面上有很大的运动模糊时,因为运动模糊本身就是依赖于插值而产生的,所以你只需要引导最关键的部分即可。

这些飘散的小点都是在跟踪引导飞舞的樱花花瓣,K帧真的很花时间啊。

你可以看到,随着飞溅的浪花逐渐放大,蒙版也在放大。就想上文所说的,要保持蒙版的锚点位置固定,让每个锚点都跟踪其在物体上的初始位置,这一点至关重要。
5.1 改变twixtor的输出速度
我看到很多人说有一种用法是把twixtor的speed属性降低,第一帧设为100%,第二帧再降低。这是因为他们认为twixtor只有这样才能生成经过插值处理的帧,他们假设如果输出速度是100的话,再在嵌套层外面降速会导致画面变得断断续续的。
但是这其实不会发生,关于这点可以回到第三节讲小数帧的部分看看。由于twixtor可以输出每一个小数帧,所以AE也可以充分识别。因此,如果你准备用时间重映射调速的话,就不需要去改变插件的输出速度。切记:速度的变化只在总合成中发生。【译注:这段仁者见仁吧,我觉得两种方法没有对错之分】
5.2 改变合成的长度,或者在预合成时选择第二项
如题。
5.3 有一种插件设定可以完美补帧
那你很棒棒哦,这当然不存在了。
6.1 极致降速或者加速
当你获得了一个里面包了twixtor的嵌套合成之后,你就可以随便玩了。
举个例子,如果我们把一段素材加速到120%的话,补帧与否会产生什么区别呢?
如果该素材未经过插值处理,那么AE就会自动从5帧中跳过1帧,而如果经过处理的话,AE就能输出正确的小数帧了,如图所示。

6.2 使用自带插件CC Force Motion Blur
我看到很多教程都说让大家使用第三方的插件,比如RSMB。然而我并不建议大家这么做,如果你直接在没有完成插值处理的素材上使用第三方的模糊插件,那你就相当于浪费了宝贵的插值作业啊,这是因为模糊插件自己也会去进行插值计算,而这和twixtor的插值计算是不同的。
CC Force Motion Blur则可以利用小数帧来形成运动模糊。它被广泛的应用在手绘动画中。由于twixtor可以正确输出小数帧,所以这个插件和它很搭。除此之外,和第三方插件相比它有一个明显的优点。你在进行补帧处理时做的那些操作,包括蒙版引导抽帧等,它们能让twixtor进行更好的插值计算,也能让模糊插件进行更好的插值计算,这也是上文所说的“第三方插件相当于浪费了宝贵的插值作业”这句话的意思。

我把这两个红色数值连到了一个表达式上,这样改起来方便。
操作步骤是这样的。在嵌套层上添加CC Force Motion Blur效果,Samples属性的参数代表了AE需要在总合成中渲染几次twixtor生成的插值帧。如图,数值为8,那么AE就会每帧渲染twixtor8次【译注:怕不是要卡死……】
接下来你需要确保其他的效果都得放在模糊效果的下面,就是说不管什么时候模糊效果都是第一个被应用的。否则其他的效果也会被渲染8次,到时候你的电脑就会变得香喷喷的。
这个效果可以很好地掩盖掉画面的扭曲,你可以调整Shutter angle的值来进行尝试。

没加模糊

加了模糊
6.3 以任意帧速率进行输出
在总合成中确定你的最终帧率,从心所欲不逾矩。
【译注:在这里额外提一下,其实对于AMV来说48帧(47.952)的效果已经很好了】

6.4 调色!闪!RBG!湍流!
有的时候扭曲又何尝不是一种酷炫的画面效果呢?大家完全可以多加利用。当然跟多的时候是用特效来掩盖就是了。
比如这个

6.5 补图,修图
这是 @27libra 告诉我的,更抖M。
直接在原素材里找一帧合适的补,没有的话复制一层,单独修改插件参数,直到相对满意,然后只留这一帧或者复制一层,把扭曲的部分ps修正
翻了三天,终于是把这个教程翻完了,40页的word,一万五千多字,虽然很累但是也学到了很多东西。
lolligerjoj确实是一个牛人,把一个本来并不是给动画素材用的插件强行用到了动画中,效果还特别好。他全部的心血都集中在这里了,希望大家不要只收藏不看哦hhh。
其实纵观他的作品,可以发现他自己也是在不断进步,研究新的补帧方法。一开始可能就是简单的用twixtor抽帧,后面换成pro,还研究出了分层引导等骚操作。希望这个教程能让我们也一起学习、进步,未来产出更好的作品吧。
原文中理论和描述性的内容比较多,实际操作较少,大家可能还是觉得云里雾里的吧。除了参考以前的经典教程举一反三之外,@黑白Kun 正基于本教程录制视频操作教程,大家随后可以关注一下他哦。
原文地址:https://lolligerjoj.wordpress.com/2016/10/22/twixtor-on-anime-footage-and-ae-workflow-using-twixtor/
作者的Discord:(Lolli#9143)
作者的推特:https://twitter.com/lolligerjoj
JF·下弦的空间:网页链接
黑白Kun的空间:网页链接
感谢两位的大力支持
希望大家随手投币随手转发,一起来拯救mad圈啊!
最好随手充个电点个关注啊对吧~
所有的插件、脚本以及GIF:https://pan.baidu.com/s/1jJgDJIe 密码:1kgb

JF老哥这标题起的真不错