AE图层混合模式详解笔记02-去亮组
之前的笔记:

上期补充 Adobe 官方解释:
1、正常:结果颜色是源颜色。此模式忽略底层颜色。正常是默认模式。
2、溶解:每个像素的结果颜色是源颜色或基础颜色。结果颜色是源颜色的概率取决于源的不透明度。如果源的不透明度为 100%,则结果颜色为源颜色。如果源的不透明度为 0%,则结果颜色为基础颜色。Dissolve 和 Dancing Dissolve 不适用于 3D 图层。
3、动态抖动溶解:与 Dissolve 相同,只是对每一帧重新计算概率函数,因此结果会随时间变化。

第二组——去亮组
在开始之前,我像改正我前面笔记的一个不太妥当的说法,就是我总是用上层和下层来说明图层之间的关系,但这样是不对的,因为图层的混合模式应该是在应用了该图层混合模式的图层之下的所有图层起作用,所以我在这里开始把上层改为顶层,下层改成背景。
另外还有一点非常重要,我们谈论的任何关于色彩的计算方法都是 RGB 数字图像处理(也就是所有的色彩都由 三原色光:红、绿、蓝 组成),因为还有很多其他的图像处理方法。

来,我们先认识一下第二组——去亮组的六个家族成员:

去亮,去亮,也是字面意思,也可以理解为“变暗”,但是啊,要注意,都是变暗,但是这六种模式的颜色计算方法却是不同的。
在了解这些图层混合模式之前,我们必须要明白,在 RGB 数字图像处理当中,亮度到底是用什么表示的?显然通过主观判断并不准确,而人也会收到各种各样的环境影响自己判断,对比就是这样一种影响因素,所以我们的色彩亮度是有表达的公式的!
变暗(Darken)
百度文库解释:以层颜色为准,比层颜色亮的像素被替换,而比层颜色暗的像素不改变。
Adobe 官方文档:每个结果颜色通道值是源颜色通道值和相应的基础颜色通道值中较低(较暗)的值。
这个说的简单点,就是比较顶层与背景的亮度,选取比较暗的像素。
这听起来很简单对吧,就是选取像素嘛,但是我可以负责的说这样理解,是错的!
这里会涉及到一些计算规则,但是请耐心看下去,理解了变暗,其他混合模式理解起来就非常顺手啦!
开头我已经介绍了色彩亮度 Y 的计算方法: Y = 0.299R + 0.587G + 0.114B,如果按照百度文库搜索到的说法,那就是谁的 Y 小选谁,但是事实并非如此。
现在我选取两种颜色:
1、顶层:一种中间绿色(100,200,100)
2、背景:一种中间洋红色(200,100,200)
根据百度文库的说法,顶层使用变暗的结果应该被上层遮罩的部分全部都是中间绿色,那么事实呢?


显然,结果并不是其中的任何一种颜色,而是一种混合的颜色,那么变暗混合模式究竟是怎么计算的呢,我再 WIKI 百科上找到了公式:

稍微有些看不懂没关系,我解释一下,每种元素有三原色 R、G、B 组成,亮度由它们的数值进行计算,但是并不是直接比较两种颜色 Y 的值进行选取像素,而是将两种颜色的 R、G、B 分别进行比较选取较低的那个数值,再将数值代入 Y 的公式中进行计算。
所以结果应该是,

从公式上看,亮度是变小了。
而显示的颜色则是一种灰色,

最后,3D 开关打开看一看,

嗯,是奏效的,所有的去亮组成员 3D 都是生效的,接下来不做展示了。
相乘(Multily)
百度文库解释:将底色与层颜色相乘,形成一种光线透过两张叠在一起的幻灯片效果,结果呈现一种较暗的效果。任何颜色与黑色相乘得到黑色,与白色相乘则保持不变。
Adobe 官方文档:对于每个颜色通道,将源颜色通道值与基础颜色通道值相乘,然后除以 8-bpc、16-bpc 或 32-bpc 像素的最大值,具体取决于项目的颜色深度。结果颜色永远不会比原始颜色更亮。如果任一输入颜色为黑色,则结果颜色为黑色。如果任一输入颜色为白色,则结果颜色为另一种输入颜色。这种混合模式模拟在纸上使用多个记号笔进行绘图或将多个凝胶放在灯前。与黑色或白色以外的颜色混合时,使用此混合模式的每个图层或笔画都会产生较暗的颜色。
相乘,正如他的名字所说的那样,是需要通过乘法运算来实现的,这里我想说一下我们的百度文库的解释,这玩意儿根本看不懂嘛。
相信我,不要被这个名字吓到,它其实非常的简单。
它同变暗是一样的,也需要对 RGB 的数值进行运算,不过在此之前,我们需要对 RGB 的数值进行一些处理,把 0~255 压缩到 0~1,这很简单,你只需要把原来的数值都除以255就好啦!

为什么要这么做呢?
我又需要摆出 WIKI 百科的公式啦!WIKI 真是个好东西,不是吗?

没错,就是把对应的数值乘起来!嘿,还记得我们把他们原来的数值都压缩到 0~1 之间了吗?两个小于1之间的数值相乘会怎么样?没错 R3、G3、B3 的数值都比原来小啦!那么对于我们亮度 Y 的公式,Y 的数值也会减小,整体表现就变暗了!
来看看,实际效果吧:
1、顶层:一种红色(250,50,50)
2、背景:一种中间洋红色(200,100,200)

看吧,果然变暗了。
颜色加深(Color Burn)
百度文库解释:使层的亮度减低,色彩加深。
Adobe 官方文档:结果颜色是源颜色变暗,以通过增加对比度来反映底层颜色。原始图层中的纯白色不会改变底层颜色。
从这里开始,我将直接用 A 来代替 顶层(R1,G1,B1),B 来代替背景(R2,G2,B2),C 来代替(R3,G3,B3)。
套路是一样的,直接上公式,

看到这里我和你的心情是一样的,我都要骂娘了,什么是反相啊?我学点东西容易吗!确实,我也很头疼,但我相信如果你真的想学会这些东西,是愿意吃点苦头的,我就很乐意去深入这些东西,可能我确实有点受虐倾向吧,哈哈……
言归正传,公式只是个形式,我们只需要去了解“反相”到底是个什么东西一切就很顺利了。
反相,就是选择该颜色的补色,补色即是色轮上中心对称的两个颜色中的另一个,下图就是色轮,

很好我们知道什么是反相了,但可惜的是,好像对我们理解这个公式没有任何帮助啊。
显然,我们还需要补色和原色的转换公式,那就是 255 减去原来的数值 就好了,

我总结了一些结论:
1、深色的地方变变暗的程度会大于浅色部分变暗的程度,增加对比度以反映背景的颜色。
2、背景为白色,显示为白色。
3、背景是黑色,不会有效果。
4、顶层为白色,显示背景颜色。
我来说说为什么会有以上结论,公式是由顶层 A 减去某个值,那么产生的结果的亮度必然不可能超过顶层亮度;背景为黑色,分母为0,认为减去0,自然不会有效果,背景为白色,其他结果类似这样推导。至于 4 和 5 我也不知道为什么,测试结果是这样的……(也许我公式错了也说不准,幸好我没打算教会别人,只是自己做笔记罢了 嗯~ o(* ̄▽ ̄*)o)
好了这回我们请了一个模特——约翰 · 华生,来为我们展示:


感觉没区别是不是,是的,显示很细微,但是使用颜色加深后黑色的地方更黑了,白领带则更白了,你看不出来可能是屏幕和压缩的问题,当然在一些特别的场景下,颜色加深有特别的效果,要根据公式去考虑,这里我就不做演示了,懒 (→_→)~
虽然你看的可能很懵逼,但是在我介绍线性加深的时候,你就有比较明确的感受了。
经典颜色加深(Classic Color Burn)
百度文库:兼容早版本的Color Burn模式。
Adobe 官方文档:After Effects 5.0 及更早版本的颜色加深模式重命名为经典颜色加深。使用它来保持与旧项目的兼容性;否则,请使用颜色加深。
这个不需要解释了,官方说的很清楚了。
线性加深(Linear Burn)
百度文库:类似于正片叠底,通过降低亮度,让底色变暗以反映混合色彩。和白色混合没有效果。
Adobe 官方文档:结果颜色是源颜色变暗以反映基础颜色。纯白色不会产生任何变化。
这个真的非常好理解,公式:

简单易懂,A 和 B 都不能超过255,其结果必然是小于任何一个图层的亮度,特殊情况就是白色图层。
从公式可以看得出来,线性加深的结果是整体变暗,而颜色加深的结果是变暗的同时增加了对比度,说白了,线性加深就是一视同仁一起变暗,而颜色加深则是不同亮度的颜色变暗的程度不同,本来就亮度低的颜色变暗的更厉害。

很显然,对于白色,线性加深一视同仁,但是颜色加深就不会了,白色亮度最大,导致颜色加深根本不起作用,而黑色部分线性加深的部分就不如颜色加深效果强。
较深的颜色(Darker Color)
百度文库:无
Adobe 官方文档:每个结果像素是源颜色值和相应的基础颜色值中较暗的颜色。Darker Color 与 Darken 类似,但 Darker Color 不对单个颜色通道进行操作。
很遗憾,我没找到任何公式,但是我仍然想从我的角度来解析一下这个模式。
按照官方的解释,它与前面所有的去亮模式有个很大的区别,那就是它的计算不是分别对 RGB 的数值去做改变,去对比亮度也就是 Y 的大小,从我的测试结果来看,它对暗于顶层的像素不做处理,而亮于顶层的像素,则使它全部变成顶层对应位置像素的颜色。


可以看出,颜色是完全一样的
第二组——去亮组,讲完了,更新随缘……
