Před týdnem vyšla ArmA 2 a každý si jistě všiml, že jsou v ní
nové obrazové efekty. O některých z nich na které můžete narazit a
které můžete použít by vás chtěl seznámit v následujících několika
řádcích a příkladech.

Úvod

V tomto článku předpokládám alespoň základní znalosti práce
s příkazy v ArmA či OFP, jejich vytváření a volání. Použitá syntaxe
bude odpovídat sqf skriptům.

Příkazy

Při práci s obrazovými efekty vystačíme se třemi novými příkazy.
Jde o ppEffectAdjust, ppEffectEnable a ppEffectCommit. První příkaz
ppEffectAdjust je v podstatě nejdůležitější, protože
slouží k vybrání a nastavení parametrů daného efektu. Následující
příkaz ppEffectEnable povoluje či zakazuje patřičný efekt
a příkaz ppEffectCommit udává v jaké době se má
přechod do výsledného efektu provést. Pro okamžitý efekt se nastavuje
nula. Prvním parametrem všech těchto příkazů je řetězec, který udává
název efektu který chceme použít. A právě těmto efektům budou
věnovány následující řádky.

Efekty

dynamicBlur

Jako první z nich uvedeme dynamicBlur, který provede
rozmazání celé obrazovky. Parametrem je pole s jediným parametrem
udávajícím velikost tohoto rozmazání. Toto rozmazání je aplikováno na
celý obraz a můžete jej vidět pokaždé, když ve hře stisknete ESC a
objeví se vám menu a obraz na pozadí se rozmázne.

"dynamicBlur" ppEffectAdjust [1];
"dynamicBlur" ppEffectCommit 0.5;
"dynamicBlur" ppEffectEnable true;

radialBlur

Pokud byste ale chtěli vytvoři postupné rozmazání (například jen po
okrajích), pak je k dispozici efekt radialBlur. Parametrem je
pole ve tvaru [blur_x,blur_y,start_x,start_y]. Tento příkaz, podle mého
testování, funguje jen pokud nemá uživatel vypnutý postprocess.

"radialBlur" ppEffectAdjust [0.02,0.02,0.15,0.15];
"radialBlur" ppEffectEnable true;
"radialBlur" ppEffectCommit 0;

filmGrain

Dalším zajímavým efektem, který ale také nefunguje pokud nemáte zaplý
postprocess je filmGrain. Tento efekt přidá obrazu šum,
takže může vypadat jako záznam z nějakého videa, televize či může
napodobovat přenášený obraz z kamery (letadla, bomby apod.). Parametrem je
znovu pole, které má ale tentokrát několik parametrů: [strength, alpha,
scale, blend-light, blend-dark, <boolean>]. Funkčnost posledního
parametru je zatím neznámá. Ostatní se dají z názvu odvodit. Nejlepší
je asi zkusit, s parametry si pohrát a použít to nastavení, které se vám
zdá nejvhodnější.

"filmGrain" ppEffectAdjust [0.02, 0.5, 0.5, 0.1, 1, false];
"filmGrain" ppEffectCommit 0;

colorInversion

Následující tři efekty slouží pro hraní si s barevným spektrem.
První efekt colorInversion dokáže přenastavit barvy obrazu.
Má pole o třech hodnotách odpovídající rozložení RGB
(R=červená,G=zelená,B=modrá). Efekt sice zajímavý, ale dle mého názoru
ne moc využitelný. Pokud tedy zrovna neděláte misi za vojáka pod
drogami.

"colorInversion" ppEffectAdjust [0.1,0.7,0.1];
"colorInversion" ppEffectEnable true;
"colorInversion" ppEffectCommit 0;

chromAberration

Druhým efektem je chromAberration. Tento efekt zvláštně
posouvá jednotlivé barevné kanály. V kampani jsem ho viděl využít jen
jednou pro jakýsi shake efekt. Nějaké širší využití též nevidím. Jako
parametry slouží znovu pole o třech hodnotách [amount_x, amount_y
,<boolean>]. Efekt posledního boolean parametru je mi také
neznámý.

"chromAberration" ppEffectEnable true;
"chromAberration" ppEffectAdjust [0.1,0.1, false];
"chromAberration" ppEffectCommit 0.5;
sleep 0.5;
"chromAberration" ppEffectAdjust [0,0, true];
"chromAberration" ppEffectCommit 0.5;

colorCorrections

Posledním efektem je celkem rozsáhlý efekt
colorCorrections. Ten obsahuje nejvíce parametrů a umožňuje
si doslova pohrát s barevností obrazu. V kampani je použit například ve
chvíli, kdy je hráč zasažen a obraz se pak zbarví do červené. Ale to je
samozřejmě jen nejmenší možné použití. Parametry tohoto efektu je pole
obsahující celkem 6 parametrů, přičemž poslední tři jsou znovu pole
o čtyřech parametrech. Jde o pole ve formátu: [brightness, contrast, gamma,
[R, G, B, multiplier], [R, G, B, multiplier], [R, G, B, multiplier]]. Jak je
vidět, tak možnosti pohrát si s nádechem obrazu jsou opravdu velké. Jako
příklad uvedu takový narychlo vytvořený efekt temnějšího rázu.

"colorCorrections" ppEffectAdjust [1.0, 0.99, -0.1, [0.0, 0.0, 0.0, 0.0], [1.0,0.8, 0.6, 0.64], [0.199, 0.587, 0.114, 0.0]];
"colorCorrections" ppEffectCommit 0;
"colorCorrections" ppEffectEnable true;

Posledním efektem wetDistortion, který by měl vytvářet
nějaký vodní efekt. Jeho funkčnost je pro mne zatím záhadou, protože se
mi ho nepodařilo zprovoznit.

Závěr

Tyto efekty jsou velmi příjemnou novinkou, kterou tvůrci mohou využít
pro mnohem zajímavější předělové scény. Tvůrci by ale neměli
zapomínat, že méně je někdy více a použít by tyto efekty měli jen,
když je to opravdu nutné. Dobrý efekt vám ze špatné mise dobrou neudělá
a stejně tak vám špatný efekt dobrou misi může jen pokazit.