Post Process Effects: Difference between revisions
Killzone Kid (talk | contribs) |
Killzone Kid (talk | contribs) |
||
(27 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
=Scripting commands= | {{TOC|side}} | ||
== Scripting commands == | |||
Effect creation | {{Columns|4| | ||
* [[ppEffectCreate]] | |||
* [[ppEffectAdjust]] | |||
* [[ppEffectEnable]] | |||
* [[ppEffectEnabled]] | |||
* [[ppEffectForceInNVG]] | |||
* [[ppEffectCommit]] | |||
* [[ppEffectCommitted]] | |||
* [[ppEffectDestroy]] | |||
|shrink= y | |||
}} | |||
== Usage == | |||
=== Effect creation === | |||
<code>hndl = [[ppEffectCreate]] ["effect_type", priority]; | <code>hndl = [[ppEffectCreate]] ["effect_type", priority]; | ||
hndls[] = [[ppEffectCreate]] [["effect_type0", priority0], ["effect_type1", priority1], ...];</code> | hndls[] = [[ppEffectCreate]] [["effect_type0", priority0], ["effect_type1", priority1], ...];</code> | ||
Effect cancellation | === Effect cancellation === | ||
<code>[[ppEffectDestroy]] hndl; | <code>[[ppEffectDestroy]] hndl; | ||
[[ppEffectDestroy]] [hndl0, hndl1, ..., hndlN];</code> | [[ppEffectDestroy]] [hndl0, hndl1, ..., hndlN];</code> | ||
Parameter setup | === Parameter setup === | ||
<code>hndl [[ppEffectAdjust]] [par0, par1, | <code>hndl [[ppEffectAdjust]] [par0, par1, ..., parN];</code> | ||
Parameter application | === Parameter application === | ||
<code>hndl [[ppEffectCommit]] [[time]]; | <code>hndl [[ppEffectCommit]] [[time]]; | ||
[hndl0, ..., hndlN] [[ppEffectCommit]] [[time]];</code> | [hndl0, ..., hndlN] [[ppEffectCommit]] [[time]];</code> | ||
Effect permission | === Effect permission === | ||
<code>hndl [[ppEffectEnable]] OnOf; | <code>hndl [[ppEffectEnable]] OnOf; | ||
[hndl0, ..., hndlN] [[ppEffectEnable]] OnOf;</code> | [hndl0, ..., hndlN] [[ppEffectEnable]] OnOf;</code> | ||
Check if enabled | {{ArgTitle|3|Check if enabled|{{GVI|arma3|1.56}}}} | ||
<code>[[ppEffectEnabled]] hndl;</code> | <code>[[ppEffectEnabled]] hndl;</code> | ||
=== Example === | |||
==Example== | |||
<code>_hndl = [[ppEffectCreate]] ["colorCorrections", 1501]; | <code>_hndl = [[ppEffectCreate]] ["colorCorrections", 1501]; | ||
Line 40: | Line 53: | ||
[[ppEffectDestroy]] _hndl;</code> | [[ppEffectDestroy]] _hndl;</code> | ||
=Table of priorities= | == Table of priorities == | ||
{| class=" | Priority defines sequence in which post effects are applied. The higher priority, the later the effect will be applied, on top of the others. | ||
! Priority !! | |||
{| class="wikitable sortable" | |||
! Base Priority !! Effect | |||
|- | |- | ||
| | | 2500 || [[#ColorInversion|ColorInversion]] | ||
|- | |- | ||
| | | 2000 || [[#FilmGrain|FilmGrain]] | ||
|- | |- | ||
| | | 1500 || [[#ColorCorrections|ColorCorrections]] | ||
|- | |- | ||
| | | 400 || [[#DynamicBlur|DynamicBlur]] | ||
|- | |||
| 300 || [[#WetDistortion|WetDistortion]] | |||
|- | |||
| 200 || [[#ChromaticAberration|ChromaticAberration]] | |||
|- | |||
| 100 || [[#RadialBlur|RadialBlur]] | |||
|} | |} | ||
=Parameters of individual effects= | == Parameters of individual effects == | ||
==RadialBlur== | === RadialBlur === | ||
Title: "RadialBlur"; Base Priority: 100 | Title: "RadialBlur"; Base Priority: 100 | ||
{{Feature|Informative|RadialBlur will not do anything if RADIAL BLUR is disabled in Video Options}} | |||
{| class=" | {| class="wikitable" | ||
! Parameter !! Meaning !! Type !! Range !! Defaults | ! Parameter !! Meaning !! Type !! Range !! Defaults | ||
|- | |- | ||
Line 81: | Line 101: | ||
<code>hndRadBlur [[ppEffectAdjust]] [0.01, 0.01, 0.06, 0.06];</code> | <code>hndRadBlur [[ppEffectAdjust]] [0.01, 0.01, 0.06, 0.06];</code> | ||
Example: | |||
<code> | <code>["RadialBlur", 100, [100, 0.5, 0.1, 0.5]] [[spawn]] | ||
{ | { | ||
[[params]] ["_name", "_priority", "_effect", "_handle"]; | [[params]] ["_name", "_priority", "_effect", "_handle"]; | ||
[[while]] { | [[while]] { | ||
_handle = [[ppEffectCreate]] [_name, _priority]; | _handle = [[ppEffectCreate]] [_name, _priority]; | ||
_handle | _handle < 0 | ||
} [[do]] { | } [[do]] { | ||
_priority = _priority + 1; | _priority = _priority + 1; | ||
Line 95: | Line 115: | ||
_handle [[ppEffectCommit]] 5; | _handle [[ppEffectCommit]] 5; | ||
[[waitUntil]] {[[ppEffectCommitted]] _handle}; | [[waitUntil]] {[[ppEffectCommitted]] _handle}; | ||
[[ | [[systemChat]] "admire effect for a sec"; | ||
[[ | [[uiSleep]] 3; | ||
_handle [[ppEffectEnable]] [[false]]; | _handle [[ppEffectEnable]] [[false]]; | ||
[[ppEffectDestroy]] _handle; | [[ppEffectDestroy]] _handle; | ||
};</code> | };</code> | ||
==ChromAberration== | === ChromAberration === | ||
Title "ChromAberration"; Base Priority: 200 | Title "ChromAberration"; Base Priority: 200 | ||
{| class=" | {| class="wikitable" | ||
! Parameter !! Meaning !! Type !! Range !! Defaults | ! Parameter !! Meaning !! Type !! Range !! Defaults | ||
|- | |- | ||
| | | aberrationPowerX || relative effect strength (sample spacing from each other) axis X || float || 0... || 0.005 | ||
|- | |- | ||
| | | aberrationPowerY || relative effect strength (sample spacing from each other) axis Y || float || 0... || 0.005 | ||
|- | |- | ||
| aspectCorrection || enable/disable correction according to screen aspect ratio || bool || true, false || false | | aspectCorrection || enable/disable correction according to screen aspect ratio || bool || true, false || false | ||
Line 116: | Line 136: | ||
Syntax: | Syntax: | ||
<code>hndlChromAberr [[ppEffectAdjust]] [ | <code>hndlChromAberr [[ppEffectAdjust]] [aberrationPowerX, aberrationPowerY, aspectCorrection];</code> | ||
Defaults: | Defaults: | ||
<code>hndlChromAberr [[ppEffectAdjust]] [0.005, 0.005, [[false]]];</code> | <code>hndlChromAberr [[ppEffectAdjust]] [0.005, 0.005, [[false]]];</code> | ||
Example: | |||
<code> | <code>["ChromAberration", 200, [0.05, 0.05, [[true]]]] [[spawn]] { | ||
[[params]] ["_name", "_priority", "_effect", "_handle"]; | [[params]] ["_name", "_priority", "_effect", "_handle"]; | ||
[[while]] { | [[while]] { | ||
_handle = [[ppEffectCreate]] [_name, _priority]; | _handle = [[ppEffectCreate]] [_name, _priority]; | ||
_handle | _handle < 0 | ||
} [[do]] { | } [[do]] { | ||
_priority = _priority + 1; | _priority = _priority + 1; | ||
Line 134: | Line 154: | ||
_handle [[ppEffectCommit]] 5; | _handle [[ppEffectCommit]] 5; | ||
[[waitUntil]] {[[ppEffectCommitted]] _handle}; | [[waitUntil]] {[[ppEffectCommitted]] _handle}; | ||
[[ | [[systemChat]] "admire effect for a sec"; | ||
[[ | [[uiSleep]] 3; | ||
_handle [[ppEffectEnable]] [[false]]; | _handle [[ppEffectEnable]] [[false]]; | ||
[[ppEffectDestroy]] _handle; | [[ppEffectDestroy]] _handle; | ||
};</code> | };</code> | ||
==WetDistortion== | === WetDistortion === | ||
Title: "WetDistortion"; Base Priority: 300 | Title: "WetDistortion"; Base Priority: 300 | ||
{{Feature | Informative | Effect cancels automatically under water.}} | |||
{| class=" | {| class="wikitable" | ||
! Parameter !! Meaning !! Type !! Range !! Defaults | ! Parameter !! Meaning !! Type !! Range !! Defaults | ||
|- | |- | ||
| value || blurriness of distorted image (0 to 1, values above 1 cause unusual) || float || 0 | | value || blurriness of distorted image (0 to 1, values above 1 cause unusual) || float || 0..1 || 1 | ||
|- | |- | ||
| top, bottom || effect power (top/bottom of screen separately) || float || 0 | | top, bottom || effect power (top/bottom of screen separately) || float || 0..1 || 1, 1 | ||
|- | |- | ||
| horizontal1, horizontal2, vertical1, vertical2 || waves speeds (frequency/PI) || float || 0... || 4.10, 3.70, 2.50, 1.85 | | horizontal1, horizontal2, vertical1, vertical2 || waves speeds (frequency/PI) || float || 0... || 4.10, 3.70, 2.50, 1.85 | ||
Line 164: | Line 184: | ||
Syntax: | Syntax: | ||
<code>hndlWetDist [[ppEffectAdjust]] [ | <code>hndlWetDist [[ppEffectAdjust]] [ | ||
value, | value, | ||
top, bottom, | top, bottom, | ||
horizontal1, horizontal2, vertical1, vertical2, | horizontal1, horizontal2, vertical1, vertical2, | ||
Line 174: | Line 194: | ||
<code>hndlWetDist [[ppEffectAdjust]] [ | <code>hndlWetDist [[ppEffectAdjust]] [ | ||
1, | 1, | ||
1, 1, | 1, 1, | ||
4.10, 3.70, 2.50, 1.85, | 4.10, 3.70, 2.50, 1.85, | ||
0.0054, 0.0041, 0.0090, 0.0070, | 0.0054, 0.0041, 0.0090, 0.0070, | ||
0.5, 0.3, 10.0, 6.0 | 0.5, 0.3, 10.0, 6.0 | ||
];</code> | ];</code> | ||
Example: | |||
<code> | <code>["WetDistortion", 300, [1, 0, 1, 4.10, 3.70, 2.50, 1.85, 0.0054, 0.0041, 0.05, 0.0070, 1, 1, 1, 1]] [[spawn]] | ||
{ | { | ||
[[params]] ["_name", "_priority", "_effect", "_handle"]; | [[params]] ["_name", "_priority", "_effect", "_handle"]; | ||
[[while]] { | [[while]] { | ||
_handle = [[ppEffectCreate]] [_name, _priority]; | _handle = [[ppEffectCreate]] [_name, _priority]; | ||
_handle | _handle < 0 | ||
} [[do]] { | } [[do]] { | ||
_priority = _priority + 1; | _priority = _priority + 1; | ||
Line 194: | Line 214: | ||
_handle [[ppEffectCommit]] 5; | _handle [[ppEffectCommit]] 5; | ||
[[waitUntil]] {[[ppEffectCommitted]] _handle}; | [[waitUntil]] {[[ppEffectCommitted]] _handle}; | ||
[[ | [[systemChat]] "admire effect for a sec"; | ||
[[ | [[uiSleep]] 3; | ||
_handle [[ppEffectEnable]] [[false]]; | _handle [[ppEffectEnable]] [[false]]; | ||
[[ppEffectDestroy]] _handle; | [[ppEffectDestroy]] _handle; | ||
};</code> | };</code> | ||
==ColorCorrections== | === ColorCorrections === | ||
Title: "ColorCorrections"; Base Priority: 1500 | Title: "ColorCorrections"; Base Priority: 1500 | ||
{| class=" | {| class="wikitable" | ||
! Parameter !! Meaning !! Type !! Range !! Defaults | ! Parameter !! Meaning !! Type !! Range !! Defaults | ||
|- | |- | ||
| brightness|| image brightness (0 - black, 1 - unchanged, 2 - white ) || float || 0 | | brightness|| image brightness (0 - black, 1 - unchanged, 2 - white ) || float || 0..2 || 1 | ||
|- | |- | ||
| contrast || image contrast (1 - normal contrast) || float || 0... || 1 | | contrast || image contrast (1 - normal contrast) || float || 0... || 1 | ||
Line 213: | Line 233: | ||
| offset || image contrast offset (0 - unchanged )|| float || 0... || 0 | | offset || image contrast offset (0 - unchanged )|| float || 0... || 0 | ||
|- | |- | ||
| [r, g, b, a] || color for blending (r, g, b - color, a - blend factor (0 - original color, 1 - blend color )) || float || 0 | | [r, g, b, a] || color for blending (r, g, b - color, a - blend factor (0 - original color, 1 - blend color )) || float || 0..1 || [0, 0, 0, 0] | ||
|- | |- | ||
| [r, g, b, a] || color for colorization ( r, g, b - color, a - saturation (0 - original color, 1 - B&W multiplied by colorize color)) || float || 0 | | [r, g, b, a] || color for colorization ( r, g, b - color, a - saturation (0 - original color, 1 - B&W multiplied by colorize color)) || float || 0..1 || [1, 1, 1, 1] | ||
|- | |- | ||
| [r, g, b, 0] || color rgb weights for desaturation || float || 0 | | [r, g, b, 0] || color rgb weights for desaturation || float || 0..1 || [0.299, 0.587, 0.114, 0] | ||
|- | |- | ||
| [<br> | | [<br> | ||
radialMajorAxisRadius, <br> | radialMajorAxisRadius,<br> | ||
radialMinorAxisRadius, <br> | radialMinorAxisRadius,<br> | ||
radialRotationDeg, <br> | radialRotationDeg,<br> | ||
radialCenterX, <br> | radialCenterX,<br> | ||
radialCenterY, <br> | radialCenterY,<br> | ||
radialInnerRadiusCoef, <br> | radialInnerRadiusCoef,<br> | ||
radialInterpCoef <br> | radialInterpCoef<br> | ||
] | ] | ||
|| radial color (optional, Arma 3 only) <br> | || radial color '''''(optional, Arma 3 only)'''''<br> | ||
major axis radius of ellipse <br> | major axis radius of ellipse<br> | ||
minor axis radius of ellipse <br> | minor axis radius of ellipse<br> | ||
rotation of ellipse axis (in degrees) <br> | rotation of ellipse axis (in degrees)<br> | ||
centerX of ellipse on the screen (in relative coords, [-0.5] -> [0.5], where 0 is in the screen center) <br> | centerX of ellipse on the screen (in relative coords, [-0.5] -> [0.5], where 0 is in the screen center)<br> | ||
centerY of ellipse on the screen (in relative coords, [-0.5] -> [0.5], where 0 is in the screen center) <br> | centerY of ellipse on the screen (in relative coords, [-0.5] -> [0.5], where 0 is in the screen center)<br> | ||
coefficient for inner radius (where effect is not applied) <br> | coefficient for inner radius (where effect is not applied)<br> | ||
coefficient for color interpolation between inner and outer radius <br> | coefficient for color interpolation between inner and outer radius<br> | ||
| | ||
|| | ||<br> | ||
float | float<br> | ||
float | float<br> | ||
float | float<br> | ||
float | float<br> | ||
float | float<br> | ||
float | float<br> | ||
float | float<br> | ||
| | ||
|| | ||<br> | ||
0 | 0..1<br> | ||
0 | 0..1<br> | ||
0 | 0..359<br> | ||
-1 | -1..1<br> | ||
-1 | -1..1<br> | ||
0 | 0..1<br> | ||
0... | 0...<br> | ||
| | ||
|| | || | ||
[<br> | [<br> | ||
-1, <br> | -1,<br> | ||
-1, <br> | -1,<br> | ||
0, <br> | 0,<br> | ||
0, <br> | 0,<br> | ||
0, <br> | 0,<br> | ||
0, <br> | 0,<br> | ||
0 <br> | 0<br> | ||
] | ] | ||
|} | |} | ||
Syntax: | Syntax: | ||
<code>hndlClrCorr [[ppEffectAdjust]] | <code>hndlClrCorr [[ppEffectAdjust]] | ||
[ | [ | ||
brightness, | brightness, | ||
contrast, | contrast, | ||
offset, | offset, | ||
[blendR, blendG, blendB, blendA], | [blendR, blendG, blendB, blendA], | ||
[colorizeR, colorizeG, colorizeB, colorizeA], | [colorizeR, colorizeG, colorizeB, colorizeA], | ||
[weightR, weightG, weightB, 0], | [weightR, weightG, weightB, 0], | ||
[a, b, angle, cx, cy, innerRCoef, interpCoef] | [a, b, angle, cx, cy, innerRCoef, interpCoef] | ||
Line 280: | Line 300: | ||
Defaults: | Defaults: | ||
<code>hndlClrCorr [[ppEffectAdjust]] | <code>hndlClrCorr [[ppEffectAdjust]] | ||
[ | [ | ||
1, | 1, | ||
1, | 1, | ||
0, | 0, | ||
[0, 0, 0, 0], | [0, 0, 0, 0], | ||
[1, 1, 1, 1], | [1, 1, 1, 1], | ||
[0.299, 0.587, 0.114, 0], | [0.299, 0.587, 0.114, 0], | ||
[-1, -1, 0, 0, 0, 0, 0] | [-1, -1, 0, 0, 0, 0, 0] | ||
];</code> | ];</code> | ||
Example: | |||
<code> | <code>["ColorCorrections", 1500, [1, 0.4, 0, [0, 0, 0, 0], [1, 1, 1, 0], [1, 1, 1, 0]]] [[spawn]] | ||
{ | { | ||
[[params]] ["_name", "_priority", "_effect", "_handle"]; | [[params]] ["_name", "_priority", "_effect", "_handle"]; | ||
[[while]] { | [[while]] { | ||
_handle = [[ppEffectCreate]] [_name, _priority]; | _handle = [[ppEffectCreate]] [_name, _priority]; | ||
_handle | _handle < 0 | ||
} [[do]] { | } [[do]] { | ||
_priority = _priority + 1; | _priority = _priority + 1; | ||
Line 305: | Line 325: | ||
_handle [[ppEffectCommit]] 5; | _handle [[ppEffectCommit]] 5; | ||
[[waitUntil]] {[[ppEffectCommitted]] _handle}; | [[waitUntil]] {[[ppEffectCommitted]] _handle}; | ||
[[ | [[systemChat]] "admire effect for a sec"; | ||
[[ | [[uiSleep]] 3; | ||
_handle [[ppEffectEnable]] [[false]]; | _handle [[ppEffectEnable]] [[false]]; | ||
[[ppEffectDestroy]] _handle; | [[ppEffectDestroy]] _handle; | ||
};</code> | };</code> | ||
==DynamicBlur== | === DynamicBlur === | ||
Title: "DynamicBlur"; Base Priority: 400 | Title: "DynamicBlur"; Base Priority: 400 | ||
{| class=" | {| class="wikitable" | ||
! Parameter !! Meaning !! Type !! Range !! Defaults | ! Parameter !! Meaning !! Type !! Range !! Defaults | ||
|- | |- | ||
Line 327: | Line 347: | ||
<code>hndlDynBlur [[ppEffectAdjust]] [0];</code> | <code>hndlDynBlur [[ppEffectAdjust]] [0];</code> | ||
Example: | |||
<code> | <code>["DynamicBlur", 400, [10]] [[spawn]] | ||
{ | { | ||
[[params]] ["_name", "_priority", "_effect", "_handle"]; | [[params]] ["_name", "_priority", "_effect", "_handle"]; | ||
[[while]] { | [[while]] { | ||
_handle = [[ppEffectCreate]] [_name, _priority]; | _handle = [[ppEffectCreate]] [_name, _priority]; | ||
_handle | _handle < 0 | ||
} [[do]] { | } [[do]] { | ||
_priority = _priority + 1; | _priority = _priority + 1; | ||
Line 341: | Line 361: | ||
_handle [[ppEffectCommit]] 5; | _handle [[ppEffectCommit]] 5; | ||
[[waitUntil]] {[[ppEffectCommitted]] _handle}; | [[waitUntil]] {[[ppEffectCommitted]] _handle}; | ||
[[ | [[systemChat]] "admire effect for a sec"; | ||
[[ | [[uiSleep]] 3; | ||
_handle [[ppEffectEnable]] [[false]]; | _handle [[ppEffectEnable]] [[false]]; | ||
[[ppEffectDestroy]] _handle; | [[ppEffectDestroy]] _handle; | ||
};</code> | };</code> | ||
==FilmGrain== | === FilmGrain === | ||
Title: "FilmGrain"; Base Priority 2000 | Title: "FilmGrain"; Base Priority: 2000 | ||
Number | {{Feature | arma3 | In {{arma3}} the '''monochromatic''' parameter is [[Number|numeric]]. Use '''0''' for monochrome, any other value for colour.}} | ||
{| class=" | Number of parameters is flexible: it may be defined from 1 to 6 parameters, meaning of individual parameters is following: | ||
! Parameter !! Meaning !! Type !! Range !! | |||
{| class="wikitable" | |||
! Parameter !! Meaning !! Type !! Range !! Default | |||
|- | |||
| intensity || intensity || float || 0..1 || 0.005 | |||
|- | |- | ||
| | | sharpness || sharpness || float || 1..20 || 1.25 | ||
|- | |- | ||
| | | grainSize || grain size || float || 1..8 || 2.01 | ||
|- | |- | ||
| | | intensityX0 || intensityX0 || float || -x..0..+x ||0.75 | ||
|- | |- | ||
| | | intensityX1 || intensityX1 || float || -x..0..+x ||1.0 | ||
|- | |- | ||
| | | {{GVI|arma2|1.00}} monochromatic || monochromatic || bool|| true, false || true | ||
|- | |- | ||
| monochromatic || monochromatic || | | {{GVI|arma3|1.00}} '''{{arma3}}''' monochromatic || monochromatic || integer || 0, 1 || 0 | ||
|} | |} | ||
Syntax: | Syntax: | ||
<code>hndlFilmGrain [[ppEffectAdjust]] [ | <code>hndlFilmGrain [[ppEffectAdjust]] [ | ||
intensity, | intensity, | ||
sharpness, | sharpness, | ||
grainSize, | grainSize, | ||
intensityX0, | intensityX0, | ||
intensityX1, | intensityX1, | ||
monochromatic | monochromatic | ||
Line 381: | Line 405: | ||
Defaults: | Defaults: | ||
<code>hndlFilmGrain [[ppEffectAdjust]] [ | <code>hndlFilmGrain [[ppEffectAdjust]] [ | ||
0.005, | 0.005, | ||
1.25, | 1.25, | ||
2.01, | 2.01, | ||
0.75, | 0.75, | ||
1.0, | 1.0, | ||
[[true]] | [[true]] {{cc|0 for {{arma3}}}} | ||
];</code> | ];</code> | ||
Example: | |||
<code> | <code>["FilmGrain", 2000, [1, 0.15, 7, 0.2, 1.0, [[true]]]] [[spawn]] | ||
{ | |||
[[params]] ["_name", "_priority", "_effect", "_handle"]; | |||
[[while]] { | |||
_handle = [[ppEffectCreate]] [_name, _priority]; | |||
_handle < 0; | |||
} [[do]] { | |||
_priority = _priority + 1; | |||
}; | |||
_handle [[ppEffectEnable]] [[true]]; | |||
_handle [[ppEffectAdjust]] _effect; | |||
_handle [[ppEffectCommit]] 5; | |||
[[waitUntil]] {[[ppEffectCommitted]] _handle}; | |||
[[systemChat]] "admire effect for a sec"; | |||
[[uiSleep]] 3; | |||
_handle [[ppEffectEnable]] [[false]]; | |||
[[ppEffectDestroy]] _handle; | |||
};</code> | |||
{{GVI|arma3|1.00}} {{arma3}} example: | |||
<code>["FilmGrain", 2000, [1, 0.15, 7, 0.2, 1.0, 0]] [[spawn]] | |||
{ | { | ||
[[params]] ["_name", "_priority", "_effect", "_handle"]; | [[params]] ["_name", "_priority", "_effect", "_handle"]; | ||
[[while]] { | [[while]] { | ||
_handle = [[ppEffectCreate]] [_name, _priority]; | _handle = [[ppEffectCreate]] [_name, _priority]; | ||
_handle | _handle < 0; | ||
} [[do]] { | } [[do]] { | ||
_priority = _priority + 1; | _priority = _priority + 1; | ||
Line 403: | Line 447: | ||
_handle [[ppEffectCommit]] 5; | _handle [[ppEffectCommit]] 5; | ||
[[waitUntil]] {[[ppEffectCommitted]] _handle}; | [[waitUntil]] {[[ppEffectCommitted]] _handle}; | ||
[[ | [[systemChat]] "admire effect for a sec"; | ||
[[ | [[uiSleep]] 3; | ||
_handle [[ppEffectEnable]] [[false]]; | _handle [[ppEffectEnable]] [[false]]; | ||
[[ppEffectDestroy]] _handle; | [[ppEffectDestroy]] _handle; | ||
};</code> | };</code> | ||
==ColorInversion== | === ColorInversion === | ||
Title: "ColorInversion"; Base Priority: 2500 | Title: "ColorInversion"; Base Priority: 2500 | ||
{| class=" | {| class="wikitable" | ||
! Parameter !! Meaning !! Type !! Range !! Defaults | ! Parameter !! Meaning !! Type !! Range !! Defaults | ||
|- | |- | ||
| Red || Inversion of R channel (image inversion (0..no blur, 1..very blurred) || float || 0 | | Red || Inversion of R channel (image inversion (0..no blur, 1..very blurred) || float || 0..1 || 0 | ||
|- | |- | ||
| Green || Inversion of G channel (image inversion (0..no blur, 1..very blurred) || float || 0 | | Green || Inversion of G channel (image inversion (0..no blur, 1..very blurred) || float || 0..1 || 0 | ||
|- | |- | ||
| Blue || Inversion of B channel (image inversion (0..no blur, 1..very blurred) || float || 0 | | Blue || Inversion of B channel (image inversion (0..no blur, 1..very blurred) || float || 0..1 || 0 | ||
|} | |} | ||
Line 429: | Line 473: | ||
<code>hndlClrInversion [[ppEffectAdjust]] [0, 0, 0];</code> | <code>hndlClrInversion [[ppEffectAdjust]] [0, 0, 0];</code> | ||
Example: | |||
<code> | <code>["ColorInversion", 2500, [0.5, 0.5, 0.5]] [[spawn]] | ||
{ | { | ||
[[params]] ["_name", "_priority", "_effect", "_handle"]; | [[params]] ["_name", "_priority", "_effect", "_handle"]; | ||
[[while]] { | [[while]] { | ||
_handle = [[ppEffectCreate]] [_name, _priority]; | _handle = [[ppEffectCreate]] [_name, _priority]; | ||
_handle | _handle < 0 | ||
} [[do]] { | } [[do]] { | ||
_priority = _priority + 1; | _priority = _priority + 1; | ||
Line 443: | Line 487: | ||
_handle [[ppEffectCommit]] 5; | _handle [[ppEffectCommit]] 5; | ||
[[waitUntil]] {[[ppEffectCommitted]] _handle}; | [[waitUntil]] {[[ppEffectCommitted]] _handle}; | ||
[[ | [[systemChat]] "admire effect for a sec"; | ||
[[ | [[uiSleep]] 3; | ||
_handle [[ppEffectEnable]] [[false]]; | _handle [[ppEffectEnable]] [[false]]; | ||
[[ppEffectDestroy]] _handle; | [[ppEffectDestroy]] _handle; | ||
};</code> | };</code> | ||
== Advanced effects == | |||
{{Feature|important|The advanced effects are not intended to be used by the end user. They cannot be created by [[ppEffectCreate]] and their adjustments (''via'' [[ppEffectAdjust]]) are '''immediate''' and do not require [[ppEffectCommit]].}} | |||
=== LightShafts === | |||
Title: "LightShafts"; Base Priority: N/A | |||
* can be used with [[ppEffectAdjust]] | |||
* can be used with [[ppEffectEnable]] | |||
* '''cannot''' be used with [[ppEffectCreate]] | |||
* '''cannot''' be used with [[ppEffectCommit]] | |||
{| class="wikitable" | |||
! Parameter !! Meaning !! Type !! Range !! Defaults | |||
|- | |||
| sunInnerRadius || inner radius of the sun. 0 = no radius, 1 = full screen || float || 0.001..1 || 0.01 | |||
|- | |||
| sunOuterRadius || outer radius of the sun. Must be > sunInnerRadius. 0 = no radius, 1 = full screen. light intensity fades out from inner to outer radius || float || 0..1 || 0.6 | |||
|- | |||
| exposure || strength of effect || float || 0... || 0.45 | |||
|- | |||
| decay || how fast intensity of rays decays with distance || float || 0..1 || 0.89 | |||
|} | |||
Syntax: | |||
<code>"LightShafts" [[ppEffectAdjust]] [sunInnerRadius, sunOuterRadius, exposure, decay];</code> | |||
Defaults: | |||
<code>"LightShafts" [[ppEffectAdjust]] [0.01, 0.6, 0.45, 0.89];</code> | |||
Example: | |||
<code>[] [[spawn]] | |||
{ | |||
"LightShafts" [[ppEffectEnable]] [[true]]; | |||
"LightShafts" [[ppEffectAdjust]] [0.1,0.25,0.1,1]; | |||
[[systemChat]] "admire effect for a sec"; | |||
[[uiSleep]] 3; | |||
"LightShafts" [[ppEffectEnable]] [[false]] | |||
};</code> | |||
=== HBAOPlus === | |||
{{Feature|important|HBAOPlus requires DirectX 11 feature level 11 or above as well as being enabled in Video Options to affect display.}} | |||
Title: "HBAOPlus"; Base Priority: N/A | |||
* can be used with [[ppEffectAdjust]] | |||
* '''cannot''' be used with [[ppEffectEnable]] | |||
* '''cannot''' be used with [[ppEffectCreate]] | |||
* '''cannot''' be used with [[ppEffectCommit]] | |||
{| class="wikitable" | |||
! Parameter !! Meaning !! Type !! Range !! Defaults (Soft) !! Defaults (Medium) !! Defaults (Strong) | |||
|- | |||
| radius || AO radius in meters || float || 0... | |||
| colspan="2" style="text-align: center;" | 1 | |||
| style="text-align: center;" | 1.2 | |||
|- | |||
| bias || hide low-tessellation artifacts || float || 0..0.5 | |||
| colspan="3" style="text-align: center;" | 0.3 | |||
|- | |||
| detailAO || scale factor for the small-scale AO, the greater the darker || float || 0..2 | |||
| style="text-align: center;" | 0.1 | |||
| style="text-align: center;" | 0.3 | |||
| style="text-align: center;" | 0.5 | |||
|- | |||
| coarseAO || scale factor for the large-scale AO, the greater the darker || float || 0..2 | |||
| style="text-align: center;" | 0.50 | |||
| style="text-align: center;" | 0.75 | |||
| style="text-align: center;" | 1.00 | |||
|- | |||
| powerExponent || final AO output is pow(AO, powerExponent) || float || 1..4 | |||
| colspan="3" style="text-align: center;" | 3 | |||
|- | |||
| blurRadius || 0 = disabled blur, 1 = enabled with a radius of 2, 2 = enabled with a radius of 4. || integer || 0, 1, 2 | |||
| colspan="3" style="text-align: center;" | 1 | |||
|- | |||
| blurSharpness || the greater the sharpness parameter, the more the blur preserves edges || float || 0... | |||
| colspan="3" style="text-align: center;" | 4 | |||
|- | |||
| fadeSharpness || fading of the AO with distance (greater value = sharper transition) || float || 0... | |||
| colspan="3" style="text-align: center;" | 5 | |||
|- | |||
| foregroundViewDepth || distance (in meters) of foreground objects - up to this distance the depth is handled differently from the rest of the scene - to prevent huge AO kernel of foreground objects || float || 0... | |||
| colspan="3" style="text-align: center;" | 2 | |||
|- | |||
| backgroundViewDepth || distance (in meters) of background objects - AO kernel for objects beyond this distance is computed differently || float || 0... | |||
| colspan="3" style="text-align: center;" | 0 | |||
|} | |||
Syntax: | |||
<code>"HBAOPlus" [[ppEffectAdjust]] [radius, bias, detailAO, coarseAO, powerExponent, blurRadius, blurSharpness, fadeSharpness, foregroundViewDepth, backgroundViewDepth];</code> | |||
Defaults - ''depend on HBAO+ setting in Video Options'': | |||
<code>{{cc|HBAO+ Soft}} | |||
"HBAOPlus" [[ppEffectAdjust]] [1.0, 0.3, 0.1, 0.50, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0]; | |||
{{cc|HBAO+ Medium}} | |||
"HBAOPlus" [[ppEffectAdjust]] [1.0, 0.3, 0.3, 0.75, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0]; | |||
{{cc|HBAO+ Strong}} | |||
"HBAOPlus" [[ppEffectAdjust]] [1.2, 0.3, 0.5, 1.0, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0];</code> | |||
Example: | |||
<code>[] [[spawn]] | |||
{ | |||
"HBAOPlus" [[ppEffectAdjust]] [2, 0.3, 1, 1, 2, 1, 4, 5, 2, 0]; | |||
[[systemChat]] "admire effect for a sec"; | |||
[[uiSleep]] 3; | |||
"HBAOPlus" [[ppEffectAdjust]] [1.0, 0.3, 0.1, 0.50, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0] | |||
};</code> | |||
[[Category: Scripting Topics]] | [[Category: Scripting Topics]] |
Revision as of 16:19, 30 October 2021
Scripting commands
Usage
Effect creation
hndl = ppEffectCreate ["effect_type", priority];
hndls[] = ppEffectCreate [["effect_type0", priority0], ["effect_type1", priority1], ...];
Effect cancellation
ppEffectDestroy hndl;
ppEffectDestroy [hndl0, hndl1, ..., hndlN];
Parameter setup
hndl ppEffectAdjust [par0, par1, ..., parN];
Parameter application
hndl ppEffectCommit time;
[hndl0, ..., hndlN] ppEffectCommit time;
Effect permission
hndl ppEffectEnable OnOf;
[hndl0, ..., hndlN] ppEffectEnable OnOf;
Check if enabled
ppEffectEnabled hndl;
Example
_hndl = ppEffectCreate ["colorCorrections", 1501];
_hndl ppEffectEnable true;
_hndl ppEffectAdjust [1.0, 1.0, 0.0, [1.0, 0.1, 1.0, 0.75], [0.0, 1.0, 1.0, 1.0], [0.199, 0.587, 0.114, 0.0]];
_hndl ppEffectCommit 0;
sleep 10;
ppEffectDestroy _hndl;
Table of priorities
Priority defines sequence in which post effects are applied. The higher priority, the later the effect will be applied, on top of the others.
Base Priority | Effect |
---|---|
2500 | ColorInversion |
2000 | FilmGrain |
1500 | ColorCorrections |
400 | DynamicBlur |
300 | WetDistortion |
200 | ChromaticAberration |
100 | RadialBlur |
Parameters of individual effects
RadialBlur
Title: "RadialBlur"; Base Priority: 100
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
powerX | relative blur degree on axis X | float | 0... | 0.01 |
powerY | relative blur degree on axis Y | float | 0... | 0.01 |
offsetX | relative size X of un-blurred centre | float | 0... | 0.06 |
offsetY | relative size Y of un-blurred centre | float | 0... | 0.06 |
Syntax:
hndRadBlur ppEffectAdjust [powerX, powerY, offsetX, offsetY];
Defaults:
hndRadBlur ppEffectAdjust [0.01, 0.01, 0.06, 0.06];
Example:
["RadialBlur", 100, [100, 0.5, 0.1, 0.5]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
ChromAberration
Title "ChromAberration"; Base Priority: 200
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
aberrationPowerX | relative effect strength (sample spacing from each other) axis X | float | 0... | 0.005 |
aberrationPowerY | relative effect strength (sample spacing from each other) axis Y | float | 0... | 0.005 |
aspectCorrection | enable/disable correction according to screen aspect ratio | bool | true, false | false |
Syntax:
hndlChromAberr ppEffectAdjust [aberrationPowerX, aberrationPowerY, aspectCorrection];
Defaults:
hndlChromAberr ppEffectAdjust [0.005, 0.005, false];
Example:
["ChromAberration", 200, [0.05, 0.05, true]] spawn {
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
WetDistortion
Title: "WetDistortion"; Base Priority: 300
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
value | blurriness of distorted image (0 to 1, values above 1 cause unusual) | float | 0..1 | 1 |
top, bottom | effect power (top/bottom of screen separately) | float | 0..1 | 1, 1 |
horizontal1, horizontal2, vertical1, vertical2 | waves speeds (frequency/PI) | float | 0... | 4.10, 3.70, 2.50, 1.85 |
horizontal1, horizontal2, vertical1, vertical2 | waves amplitudes (delta texture coordinates) | float | 0... | 0.0054, 0.0041, 0.0090, 0.0070 |
randX, randY | coefficients for phase computing; weight of random vertex data on horizontal/vertical wave phases | float | 0... | 0.5, 0.3 |
posX, posY | coefficients for phase computing; weight of vertex X/Y-position on horizontal/vertical wave phases | float | 0... | 10.0, 6.0 |
Syntax:
hndlWetDist ppEffectAdjust [
value,
top, bottom,
horizontal1, horizontal2, vertical1, vertical2,
horizontal1, horizontal2, vertical1, vertical2,
randX, randY, posX, posY
];
Defaults:
hndlWetDist ppEffectAdjust [
1,
1, 1,
4.10, 3.70, 2.50, 1.85,
0.0054, 0.0041, 0.0090, 0.0070,
0.5, 0.3, 10.0, 6.0
];
Example:
["WetDistortion", 300, [1, 0, 1, 4.10, 3.70, 2.50, 1.85, 0.0054, 0.0041, 0.05, 0.0070, 1, 1, 1, 1]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
ColorCorrections
Title: "ColorCorrections"; Base Priority: 1500
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
brightness | image brightness (0 - black, 1 - unchanged, 2 - white ) | float | 0..2 | 1 |
contrast | image contrast (1 - normal contrast) | float | 0... | 1 |
offset | image contrast offset (0 - unchanged ) | float | 0... | 0 |
[r, g, b, a] | color for blending (r, g, b - color, a - blend factor (0 - original color, 1 - blend color )) | float | 0..1 | [0, 0, 0, 0] |
[r, g, b, a] | color for colorization ( r, g, b - color, a - saturation (0 - original color, 1 - B&W multiplied by colorize color)) | float | 0..1 | [1, 1, 1, 1] |
[r, g, b, 0] | color rgb weights for desaturation | float | 0..1 | [0.299, 0.587, 0.114, 0] |
[ radialMajorAxisRadius, |
radial color (optional, Arma 3 only) major axis radius of ellipse |
float |
0..1 |
[ |
Syntax:
hndlClrCorr ppEffectAdjust
[
brightness,
contrast,
offset,
[blendR, blendG, blendB, blendA],
[colorizeR, colorizeG, colorizeB, colorizeA],
[weightR, weightG, weightB, 0],
[a, b, angle, cx, cy, innerRCoef, interpCoef]
];
Defaults:
hndlClrCorr ppEffectAdjust
[
1,
1,
0,
[0, 0, 0, 0],
[1, 1, 1, 1],
[0.299, 0.587, 0.114, 0],
[-1, -1, 0, 0, 0, 0, 0]
];
Example:
["ColorCorrections", 1500, [1, 0.4, 0, [0, 0, 0, 0], [1, 1, 1, 0], [1, 1, 1, 0]]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
DynamicBlur
Title: "DynamicBlur"; Base Priority: 400
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
value | blurriness | float | 0... | 0 |
Syntax:
hndlDynBlur ppEffectAdjust [value];
Defaults:
hndlDynBlur ppEffectAdjust [0];
Example:
["DynamicBlur", 400, [10]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
FilmGrain
Title: "FilmGrain"; Base Priority: 2000
Number of parameters is flexible: it may be defined from 1 to 6 parameters, meaning of individual parameters is following:
Parameter | Meaning | Type | Range | Default |
---|---|---|---|---|
intensity | intensity | float | 0..1 | 0.005 |
sharpness | sharpness | float | 1..20 | 1.25 |
grainSize | grain size | float | 1..8 | 2.01 |
intensityX0 | intensityX0 | float | -x..0..+x | 0.75 |
intensityX1 | intensityX1 | float | -x..0..+x | 1.0 |
1.00 monochromatic | monochromatic | bool | true, false | true |
1.00 Arma 3 monochromatic | monochromatic | integer | 0, 1 | 0 |
Syntax:
hndlFilmGrain ppEffectAdjust [
intensity,
sharpness,
grainSize,
intensityX0,
intensityX1,
monochromatic
];
Defaults:
hndlFilmGrain ppEffectAdjust [
0.005,
1.25,
2.01,
0.75,
1.0,
true // 0 for Arma 3
];
Example:
["FilmGrain", 2000, [1, 0.15, 7, 0.2, 1.0, true]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0;
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
1.00 Arma 3 example:
["FilmGrain", 2000, [1, 0.15, 7, 0.2, 1.0, 0]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0;
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
ColorInversion
Title: "ColorInversion"; Base Priority: 2500
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
Red | Inversion of R channel (image inversion (0..no blur, 1..very blurred) | float | 0..1 | 0 |
Green | Inversion of G channel (image inversion (0..no blur, 1..very blurred) | float | 0..1 | 0 |
Blue | Inversion of B channel (image inversion (0..no blur, 1..very blurred) | float | 0..1 | 0 |
Syntax:
hndlClrInversion ppEffectAdjust [Red, Green, Blue];
Defaults:
hndlClrInversion ppEffectAdjust [0, 0, 0];
Example:
["ColorInversion", 2500, [0.5, 0.5, 0.5]] spawn
{
params ["_name", "_priority", "_effect", "_handle"];
while {
_handle = ppEffectCreate [_name, _priority];
_handle < 0
} do {
_priority = _priority + 1;
};
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
_handle ppEffectCommit 5;
waitUntil {ppEffectCommitted _handle};
systemChat "admire effect for a sec";
uiSleep 3;
_handle ppEffectEnable false;
ppEffectDestroy _handle;
};
Advanced effects
LightShafts
Title: "LightShafts"; Base Priority: N/A
- can be used with ppEffectAdjust
- can be used with ppEffectEnable
- cannot be used with ppEffectCreate
- cannot be used with ppEffectCommit
Parameter | Meaning | Type | Range | Defaults |
---|---|---|---|---|
sunInnerRadius | inner radius of the sun. 0 = no radius, 1 = full screen | float | 0.001..1 | 0.01 |
sunOuterRadius | outer radius of the sun. Must be > sunInnerRadius. 0 = no radius, 1 = full screen. light intensity fades out from inner to outer radius | float | 0..1 | 0.6 |
exposure | strength of effect | float | 0... | 0.45 |
decay | how fast intensity of rays decays with distance | float | 0..1 | 0.89 |
Syntax:
"LightShafts" ppEffectAdjust [sunInnerRadius, sunOuterRadius, exposure, decay];
Defaults:
"LightShafts" ppEffectAdjust [0.01, 0.6, 0.45, 0.89];
Example:
[] spawn
{
"LightShafts" ppEffectEnable true;
"LightShafts" ppEffectAdjust [0.1,0.25,0.1,1];
systemChat "admire effect for a sec";
uiSleep 3;
"LightShafts" ppEffectEnable false
};
HBAOPlus
Title: "HBAOPlus"; Base Priority: N/A
- can be used with ppEffectAdjust
- cannot be used with ppEffectEnable
- cannot be used with ppEffectCreate
- cannot be used with ppEffectCommit
Parameter | Meaning | Type | Range | Defaults (Soft) | Defaults (Medium) | Defaults (Strong) |
---|---|---|---|---|---|---|
radius | AO radius in meters | float | 0... | 1 | 1.2 | |
bias | hide low-tessellation artifacts | float | 0..0.5 | 0.3 | ||
detailAO | scale factor for the small-scale AO, the greater the darker | float | 0..2 | 0.1 | 0.3 | 0.5 |
coarseAO | scale factor for the large-scale AO, the greater the darker | float | 0..2 | 0.50 | 0.75 | 1.00 |
powerExponent | final AO output is pow(AO, powerExponent) | float | 1..4 | 3 | ||
blurRadius | 0 = disabled blur, 1 = enabled with a radius of 2, 2 = enabled with a radius of 4. | integer | 0, 1, 2 | 1 | ||
blurSharpness | the greater the sharpness parameter, the more the blur preserves edges | float | 0... | 4 | ||
fadeSharpness | fading of the AO with distance (greater value = sharper transition) | float | 0... | 5 | ||
foregroundViewDepth | distance (in meters) of foreground objects - up to this distance the depth is handled differently from the rest of the scene - to prevent huge AO kernel of foreground objects | float | 0... | 2 | ||
backgroundViewDepth | distance (in meters) of background objects - AO kernel for objects beyond this distance is computed differently | float | 0... | 0 |
Syntax:
"HBAOPlus" ppEffectAdjust [radius, bias, detailAO, coarseAO, powerExponent, blurRadius, blurSharpness, fadeSharpness, foregroundViewDepth, backgroundViewDepth];
Defaults - depend on HBAO+ setting in Video Options:
// HBAO+ Soft
"HBAOPlus" ppEffectAdjust [1.0, 0.3, 0.1, 0.50, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0];
// HBAO+ Medium
"HBAOPlus" ppEffectAdjust [1.0, 0.3, 0.3, 0.75, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0];
// HBAO+ Strong
"HBAOPlus" ppEffectAdjust [1.2, 0.3, 0.5, 1.0, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0];
Example:
[] spawn
{
"HBAOPlus" ppEffectAdjust [2, 0.3, 1, 1, 2, 1, 4, 5, 2, 0];
systemChat "admire effect for a sec";
uiSleep 3;
"HBAOPlus" ppEffectAdjust [1.0, 0.3, 0.1, 0.50, 3.0, 1.0, 4.0, 5.0, 2.0, 0.0]
};