这部片子里的秋天,一笔也没画过
这条山谷里的每片叶子都画成了绿色。把它变成金色的,是一条曲线、一个蒙版和八秒钟。
只有一幅夏天的画
盛夏的山谷,满山绿树。秋色从山脊开始,顺着山坡一路往下,一直走到脚边的树,整幅画也跟着暖起来。这部片子里没有第二张秋天的山谷,也没有哪一帧被修过。
这件事靠调色就能做到,但真正决定成败的环节在调色之前:这幅画从一开始就得为调色而画。下面讲这对画提出了什么要求,曲线和蒙版怎么配合,以及调色到哪一步就无能为力了。
由 Keyframe 编辑器直接导出,未做后期。十二秒,无声。
为什么不再画一张秋天
换季最直接的办法是两张画加一个转场。可是划变要想看起来像季节变化,两张画就得一棵树一棵树地对上;叠化呢,看起来就只是叠化。再画一条和夏天逐叶对齐的山谷,是最慢的办法,得到的还是一个看得出来的剪辑点。
调色正好相反。它动不了任何一笔,所以夏天和秋天天然严丝合缝。而且它只是一组数字,每棵树什么时候变色都可以不一样,想改就在时间轴上改,不用碰画。
色相曲线动的是颜色,不是颜料
用到的工具是色相与色相曲线(Hue vs Hue)。Adobe 在 Premiere 的帮助文档里对这条曲线的说法是选中一段色相,把它换成另一种色相 (外部网站,在新标签页打开),其他颜色原地不动。Keyframe 的 Lumetri 颜色 (在新标签页打开)里就有这条曲线,所以每一笔的明暗都留着,只有色相在走。
这里它放在调整图层 (在新标签页打开)上,不放在森林上,一次调色就能盖住叠在下面的每一棵树。一共两条曲线:第一条把绿色带到金色和橙色,同时提高饱和度和亮度,因为同样深浅的颜料,绿色显得浓郁,换成暖色就发脏发褐;第二条再把其中一部分金色往红色推。
下面这张图就是全部的窍门,数据是从这幅画本身量出来的。森林的色相是一个大包,远山和天空是另一个大包,中间隔着三十度左右。曲线可以在第一个包上抬起来,到第二个包之前落回去。所以调整图层盖着整个画面,秋天也染不到天上。
- 画里的色相在哪,又去了哪

调色在下单出图时就定了
森林和天空之间的那段空隙不是碰巧。它就写在出图要求里:所有树叶的色相都在 110° 到 195° 之间,不要黄叶,不要任何已经像秋天的东西,冷杉要明显比阔叶树深。夏天的画里只要有一棵泛黄的树,它就落在曲线之外,等满山红透了,它还是那个黄绿色。
要求里还写了光线要平,是没有方向的阴天漫射光。画进树叶的阳光,受光面偏黄,背光面偏蓝,这是两种色相,曲线会把它们送到不同的地方,同一棵树的亮面和暗面就会变成两种颜色。
要求归要求,画归画,所以画到手后还要量一遍。这幅画的山坡上有一些浅色小笔触落在 90° 到 99° 左右,如果曲线从这之上才开始,它们就会在秋色里留下细细的绿条。曲线的起点因此放在 68°,这个位置离树干的褐色还有距离。如果你要调的不是自己定制的画,同样先量色相,示波器会告诉你有没有余地。
曲线拉得太开,山坡就成了条纹
想要秋色丰富,很自然会把森林的绿色拉开,铺满金、橙、红。这对近处的树有效,对山坡却不行。这幅画的山坡是一排排小树,而暗部的色相比亮部偏蓝不少,大约是 170° 对 140°。曲线把色相拉得太开,每一排就各得一种颜色,整面山坡变成红金相间的横条。这些横条来自笔法,不是森林该有的样子。
- 拉得很开的曲线

- 收窄的曲线加成片的红

所以这件事要分成两半。第一条曲线收窄,让各排树落到相近的金色和橙色里,不再互相打架。红色则另找一个比一棵树更大的依据:第二个调整图层透过柔和的分形杂色 (在新标签页打开)决定强度,噪波的尺度有好几棵树那么大,红色便一片片地落在山坡上,也会落在单棵树冠的一侧,就像真实的山坡那样成片变色。那些排还看得出来,只是现在看着像树,不再像条纹。
沿着山脊往下走的色线
每个调整图层上都有一个蒙版 (在新标签页打开),蒙版之内就是秋天。它的下边缘从山脊上方出发,用关键帧在八秒内走到画面底部。这条边不是手画的:构建脚本从画的透明通道逐列读出森林的顶边,平滑后再加一点随下降变化的起伏,所以它顺着山势走,不像水平划变那样横切过去。边缘羽化了 44 像素,划变能看成季节,靠的就是这一点。
红色那层的蒙版走同样的路,晚四十帧,所以一棵树先绿,再金,再红。等山谷转完,盖在最上面的第三个调整图层把白平衡从冷推到暖,灰色的天和岩石这才跟着变。
- 第 2 秒

- 第 4 秒

- 第 7 秒

冷杉能留住绿色,是因为遮罩跟着它动
冷杉不会变色,山谷里没有常绿树就像染过色一样。可它的绿色和其他树在同一段色相里,曲线分不开。这件事交给亮度轨道遮罩 (在新标签页打开):调整图层只在遮罩亮的地方起作用,而遮罩是另一个合成,里面把整片森林又放了一遍,冷杉设成黑色,其余设成白色。
这个合成里的树和真正的树动作完全相同。否则风一吹,冷杉的保护区就从冷杉身上滑开了。中景树丛里的冷杉和邻居画在同一层,只能按它有多暗来挑。代价是每棵会动的树都多存一份,换来的是一笔颜料都不用动。
树要自己倾斜,不能让像素滑动
颜色在变、画面不动,看起来就像幻灯片,所以树得动。最省事的办法是把滚动的噪波通过置换映射 (在新标签页打开)作用在整片森林上。单看每一帧都没问题,连起来细看却像果冻:像素在滑,树冠之间永远不会互相遮挡,每棵树都在原地晃,而不是顺风倾斜。
所以近处的树要有自己的图层:14 棵近树和 4 丛中景各占一层,后面是完整画好的山坡。每棵近树都有带手柄的网格 (在新标签页打开),树根固定。它的倾斜来自一个阻尼弹簧,弹簧把它拉向风力和树的刚度平衡的角度,所以阵风一来,树先倾斜,过冲一次,再稳下来,树冠比树干晚几帧,上面再叠一点细小的颤动。阵风从左往右穿过画面,左边的树先动,右边的大约晚一秒。
- 山坡

- 站在上面的树

远处也不能完全不动:前面的树在摇,后面的山坡纹丝不动,看起来就像后半个世界冻住了。那里的树多到没法逐棵绑定,所以山坡适合用置换映射,只是要把幅度压到最多约 11 像素,并由一张权重图放开每个树冠的顶部、按住根部。游戏处理远处的植物由来已久,《孤岛危机》团队在 GPU Gems 3 里的那一章就把这件事分成整体弯曲和细节摆动 (外部网站,在新标签页打开),还提醒弯得太多就穿帮了。它仍然是扭曲,能成立是因为远处没有一样东西大到足以露馅。
调色做不到的事
它改变不了光。真实的秋天太阳更低,影子更长,而这条山谷从头到尾都是平淡的阴天,曲线能起作用正是因为这一点。它也改变不了画里有什么:没有叶子落下,树冠不会变稀,枝干也不会露出来。凑近看,那些树一开始就是穿了金衣服的绿树,看一会儿才习惯。
山坡上的树排仍然看得出来,要去掉只能重新出图。遮罩里的第二片森林让工程变得很重,约一百兆,大部分是风的关键帧。有一两棵浅色的树更接近肉粉而不是橙色,因为颜料本身颜色少的地方,色相曲线没什么可推的。远坡的摆动是左右微颤而不是倾斜,和前面的树并不完全一致。
在颜料里留出余地
调色通常被当作一幅画最后才经历的事。对这种变化来说它是第一步:先想好哪些色相要动、哪些必须不动,然后在画的时候就把它们分开。做到这一点,季节就是一条曲线和一个蒙版,拖一下鼠标就能改。
讲会动的光的那篇文章押的是同一件事,只是换了个对象:一张平面的画,光是在它上面算出来的。
