IBK 3D Keyer
IBK 3D Keyer operator properties for Script Engine. Image-based chroma keyer that uses a clean plate (a still photo of the empty background) as a reference, producing very high quality keys even when the screen has uneven lighting. Useful for high-end virtual studios, news and weather presenters with locked-off cameras, in-camera VFX shots that need to handle hair and transparent props, and any setup where a perfectly even green/blue wall is hard to achieve. Pairs well with Light Wrap and Spill Suppression for final compositing.
| Property | Type | Access | Description |
|---|---|---|---|
KeyChannel |
KeyChannel |
get/set |
Which colour the screen is (Green, Blue, or None). Determines how spill is detected and suppressed. Pick the colour matching your physical screen so the keyer cleans the right channel from foreground edges. |
CleanPlateUri |
Uri |
get/set |
Path to the clean plate image — a still photo of the empty screen with the same lighting as the live shot. The clean plate is the heart of this keyer; the better it matches lighting and lens, the cleaner the key. |
IbkProcessorChannels |
IbkProcessorChannels |
get/set |
Which colour-space channels (A, B, C or combinations) are used when comparing the input to the clean plate. Limit channels to focus on the most useful ones for your screen — can help with fluorescent or LED-lit screens. |
IbkProcessor |
IbkProcessor |
get/set |
Colour space model used to compare the foreground against the clean plate. Different models work better with different screen types — try alternatives if you cannot eliminate fringing. |
KeyerOutput |
IbkKeyerOutput |
get/set |
What the operator outputs (Final, Foreground, Alpha, Spill, Garbage, etc.). Switch to Alpha or Intermediate while tuning to see exactly what the matte looks like; switch back to Final for the result. |
ChannelAGain |
float |
get/set |
Weighting for the first channel of the chosen colour space. [min=-4, max=6, default=1]. Adjust if the screen has uneven response across colour space axes; usually leave at default unless tuning advanced cases. |
ChannelBGain |
float |
get/set |
Weighting for the second channel of the chosen colour space. [min=-4, max=6, default=1]. Used together with ChannelAGain and ChannelCGain to bias the keyer toward channels that best separate background from foreground. |
ChannelCGain |
float |
get/set |
Weighting for the third channel of the chosen colour space. [min=-4, max=6, default=1]. Used together with ChannelAGain and ChannelBGain to bias the keyer toward channels that best separate background from foreground. |
ResetBalanceCmd |
Command |
get |
Reset all balance gains back to 1.0 (ChannelAGain, ChannelBGain, ChannelCGain). |
AlphaGain |
float |
get/set |
Multiplies the matte values to make foreground more or less opaque. [min=-4, max=6, default=1]. Raise to recover edges that have gone too transparent; lower if foreground is showing background bleed-through. |
AlphaGamma |
float |
get/set |
Reshapes the alpha curve, biasing the matte toward fully transparent or fully opaque. [min=-100, max=100, default=1]. Use small adjustments to tighten soft hair edges or to soften an overly hard matte. |
AlphaPed |
float |
get/set |
Adds a fixed offset (pedestal) to the matte. [min=-100, max=100, default=1]. Positive values lift transparent regions toward opaque (good for retaining detail); negative values clip toward fully transparent. |
BlackClip |
float |
get/set |
Forces matte values below this level to fully transparent. [min=0, max=100, default=0]. Raise to clean up dirty backgrounds where the screen is not pure; watch for losing translucent details like glass or smoke. |
ResetAmplifierCmd |
Command |
get |
Reset all amplifier settings to their defaults (AlphaGain, AlphaGamma, AlphaPed, BlackClip). |
SuppressionType |
SuppressionType |
get/set |
Algorithm used to neutralise residual screen colour on the foreground (Average, Maximum, etc.). Try different algorithms if the default leaves grey edges or shifts skin tones too far. |
SuppressionAmount |
int |
get/set |
Strength of the spill suppression. [min=0, max=100, default=100]. Lower if skin starts looking magenta/yellow; raise if green/blue tint is still visible at edges. |
ScreenColorCompensation |
bool |
get/set |
Compensates for the screen colour bleeding into foreground brightness. Enable when a green/blue cast remains on the subject after spill suppression — particularly for fast-moving subjects. |
ScreenColorCompensationBoost |
int |
get/set |
Extra strength applied when ScreenColorCompensation is on. [min=0, max=100, default=0]. Raise gradually if foreground still feels colour-cast after enabling compensation. |
UseSpillBalance |
bool |
get/set |
Enables manual control over the colour written into spill areas via SpillRedBalance, SpillGreenBalance, SpillBlueBalance. Use to push edge colour toward a specific tone (e.g. neutral grey or warm skin) instead of the default neutralised result. |
SpillRedBalance |
int |
get/set |
Red component of the spill replacement colour. [min=-255, max=255, default=0]. Combine with SpillGreenBalance and SpillBlueBalance to choose the tint that replaces removed spill. |
SpillGreenBalance |
int |
get/set |
Green component of the spill replacement colour. [min=-255, max=255, default=0]. Locked when KeyChannel is Green (it would re-introduce screen colour). |
SpillBlueBalance |
int |
get/set |
Blue component of the spill replacement colour. [min=-255, max=255, default=0]. Locked when KeyChannel is Blue (it would re-introduce screen colour). |
SpillRestaurationMode |
SpillRestauration |
get/set |
How spill colour is restored once removed (None, Luminance, Tint). Luminance reuses brightness from the foreground; Tint pushes toward a chosen colour. None leaves edges fully suppressed. |
SpillRestaurationGain |
float |
get/set |
Strength of the spill restoration. [min=-4, max=6, default=1]. Higher values bring back more original edge brightness/colour; lower keeps edges flatter. |
SpillRestaurationTintSaturation |
float |
get/set |
Saturation of the restoration tint colour. [min=0, max=100, default=50]. Lower for subtle, near-grey edges; raise for stronger coloured edges that match a vivid background. |
SpillRestaurationTintHue |
float |
get/set |
Hue of the restoration tint colour. [min=0, max=360, default=180]. Choose the dominant colour of the new background so spilled edges blend in naturally. |
SpillRestaurationTintPickHueFromLayer |
bool |
get/set |
Sample the tint hue automatically from a chosen background layer instead of using a fixed hue. Best when the background is animated or changes colour over time — the edges always match what is behind them. |
SpillRestaurationTintBackgroundLayer |
LayerRenderInfo |
get/set |
The layer used as the hue source when SpillRestaurationTintPickHueFromLayer is enabled. |
InvertAlpha |
bool |
get/set |
Inverts the alpha channel so foreground and background swap. Useful for creating hold-out mattes or reusing the same key as a mask for another effect. |
Interpolation |
Interpolation |
get/set |
Interpolation curve for soft matte edges (Linear, Cardinal, etc.). Smoother curves give more natural transitions for hair and motion blur; sharper curves keep edges crisp. |
GarbageMatteSourceUrl |
Uri |
get/set |
Garbage matte image — a black/white image used to force regions of the frame fully transparent or fully opaque. Useful for excluding lighting rigs, microphone booms, or set edges that the keyer would otherwise have to deal with. |
UseGarbageMatte |
bool |
get/set |
Enables the loaded GarbageMatteSourceUrl image; turn off to ignore the matte without removing the file path. |
Minilog |
FormattedMessage |
get |
Status message about clean plate / garbage matte loading and runtime warnings. |
ProcessingTime |
int |
get |
Time taken to process one frame, in milliseconds. Read-only diagnostic value. |
ResetCmd |
Command |
get |
Reset all settings to their defaults (clean plate cleared, balance/amplifier/spill back to neutral). |
Inherits from: AbstractOperator, AbstractAudioMetering.
See also: IBK 3D Keyer in Operators — user-facing introduction, screenshots, and section summaries.