把这个代码放入自己创建的任务文件夹里的init.sqf文件里。
"colorCorrections" ppEffectAdjust [1, 1, 0, [0, 0, 0, 0], [1, 1, 1, 1], [0, 0, 0, 0]];
"colorCorrections" ppEffectCommit 1;
"colorCorrections" ppEffectEnable true;
此为正常色调:[1, 1, 0, [0, 0, 0, 0], [1, 1, 1, 1], [0, 0, 0, 0]];
前三项为亮度,对比度,伽马值。
然后提一下光谱的混色规律:
R正红色,G正绿色,B正蓝色。
R+G=黄色。
R+B=紫色。
G+B=青色。
下面讲重点,加中括号的后面三项:
第一项为亮度的RGB和倍增 正值为增加该通道亮度,负值为减弱该通道亮度,用了正值后画面将没有纯黑色(图像最暗处会被影响)。
如把R值设为0.5,把倍增设为0.5,其他不变;就会得到类似透过半透明的红色有机板看到的画面效果(图像蒙上一层红色,越暗部红色越正,因为亮度叠加模式中最亮色白色RGB值最高所以白色最难被影响)。而把R值为-0.5时,图像则会加深变暗G+B=青色的色彩(因为减弱了R通道的亮度,画面暗部会显得发青)。
[x, -x, -x, x]等同于[-x, x, x, -x],有点像是总效果=RGB值 乘 倍增值,但[x, x, 0.x, x]不同于[x, x, x, 0.x]。
RGB值决定饱和度,倍增值决定浓度也就是透明度,倍增值为0时此项无效,倍增值超过1画面就会变成一色(倍增越高增加的颜色越不透明)。
第二项为对比度的RGB和倍增 正值为增加该通道对比度,负值为减弱该通道对比度。
第二项和第三项关系密切而复杂。第三项的RGB值影响着第二项RGB值的效用。
第三项为[0, 0, 0, 0]时第二项倍增值决定亮度,倍增值小于0时画面变黑。此时改动RGB值似乎无效。
然而第三项改动时,情况变得很复杂,我们来举例吧:
当第三项为[1,1,1,0]:
第一类:
设第二项为[1, 1, 1, 1],画面正常。
设第二项为[0.5, -1, 1, 1],画面仍然正常(无改变)。
这里可以看出倍增值为1时修改RGB值无论正负均无效,并且(在以后的实验里得出)所有情况下倍增值越接近1,RGB上的色调修改越不明显,反之倍增值越远离1,RGB上的色调修改越明显。
第二类:
设第二项为[1, 1, 1, 1.5],画面饱和度提高,但也暗了一些。
设第二项为[1, 1, 1, 2.5],画面变成黑色。
设第二项为[0.5, 1, 1, 2.5],画面变成红黑色(暗部为纯黑,亮部为正红)。
这里可以看出RGB为正值,倍增值大于1时值越高画面饱和度越高但也越暗直到黑色,这时减弱RGB的强度便能减少颜色发黑现象的同时保证色彩的饱和度。所以这里就有一个技巧,把倍增值设高,然后在减弱某RGB色彩的值,便能提高这个色彩的饱和度。如[0.1, 0.3, 0.3, 2.5],虽然红色值最小,但实际画面却提高了红色的饱和度。
这里色彩的饱和度会超过正常范围(过饱和)。
第三类:
设第二项为[1, 0.5, 0.5, 0.5],画面呈现出为红色调不饱和。
设第二项为[0.5, 1, 0.7, 0.5],画面呈现出为蓝青色调不饱和。
这里可以看出RGB为正值,倍增值小于1大于0时修改RGB值便可以调出各种不饱和色调,RGB值某项越高某项色彩越突出,倍增值越接近0色彩越不饱和。
这里色彩的饱和度再高也不会会超过正常范围(不饱和)。
第四类:
设第二项为[0.4, 0.4, 0.4, -5],画面呈现出怪异的色调偏移(红变青,青变黄,黄变蓝,绿变紫),提高RGB值,画面越灰,降低RGB值,画面越暗越浓。
这里色彩的饱和度会超过正常范围(过饱和)。
第五类:
设第二项为[-0.5, -0.5, -0.5, 0.7],画面饱和度提高但比较暗。
这里可以看出当RGB为负值,倍增值小于1大于0时,类似于第二类效果。RGB的负值越高,画面饱和度越高但也越暗直到黑色。提高倍增值则画面相应地提亮同时减弱一些饱和度。
这里色彩的饱和度会超过正常范围(过饱和)。
第六类:
设第二项为[-2.5, -1, -0.5, 2],画面呈现出为红色调不饱和并且亮度被提高。
这里可以看出当RGB为负值,倍增值大于1时,RGB的负值越高,画面饱和度越高亮度也越高。提高倍增值则画面相应地被提亮同时减低一些饱和度。
这类和第三类效果类似但是特点在于修改出来的画面亮度比较强,事实上很像OFDR的效果。
这里色彩的饱和度再高也不会会超过正常范围(不饱和)。
未完待续 |