Tech Check

June 25, 2024
No Alt

Senior Compositor

Derek Rein

https://derekvfx.ca

Depending on the type of show you are working on, the range of technical finesses will vary greatly. Lower budget productions generally cannot justify the perceived return on investment for extensive technical refinement. Higher end blockbuster productions will aim for complete pixel level accuracy.

Correct Frame Range

Check that your output frame range matches the cut + handles. Most modern VFX pipelines will do this for you automatically.

Black Levels

Are the black levels matching? Use the grade node to adjust using either the lift of offset adjustment.

Exposure

Do the brightest areas of the image make sense? ie, is a highlight brighter than the sun? Expose the shot up and down to reveal mismatched levels.

Tracking Accuracy

Is there any bumping or slippage in your 2D or 3D tracks? It is best to make sure your tracking is solid from the beginning as fixing this later on can break your existing script.

pro-tip

When tracking an element into a shot, it can be helpful to stabilize the camera to see how successful a track is in isolation.

Focus

Does the filter size and shape on your defocus match the size and animation of what is in the plate?

Saturation

Check that the hue and saturation is within reason. You can view color information separate from luminance by dividing an input by its desaturated equivalent.

Expression {
 expr0 (1/(r*.3+g*.59+b*.11))*r
 expr1 (1/(r*.3+g*.59+b*.11))*g
 expr2 (1/(r*.3+g*.59+b*.11))*b
 name ExpressionColor
}

Editorial Context

Does anything bump with the adjacent shots in context. Hiero, RV, Shotgun or FTrack can be used to view the shot context.

Edges

Compare your edges with the plate, make sure that they are 1:1 in terms of softness, color/despill, with no artifacts or boiling.

Plate Integrity

Is the input plate and metadata exactly the same as it was received save for the added visual effects?

Clarity

Do your 3D renders have the same clarity and contrast as the plate or reference plates?

pro-tip

Cinematographers will often use a "pro-mist" filter inside the matte box or on the lens itself. Take your plate integrations to the next level by matching this sometimes very subtle effect.

Despill

Check that any despill has not changed the luminance of the image or has not inadvertently desaturated something that is supposed to be blue/green.

Corrupt Pixels

Check your output for pixels with inf or NaN values. These use usually the result of an error within your render engine or division by 0.

Expression {
expr0 "isnan(r) || isinf(r)"
expr1 "isnan(g) || isinf(g)"
expr2 "isnan(b) || isinf(b)"
}

Negative Values

There may be negative values in your input footage, that's okay. Otherwise use a clamp node to keep everything greater than zero. You may also see values expressed in exponential notation.

⁠Grain

Add your separated grain back onto the shot and dissolve with synthetic grain provided by a tool such as DasGrain.

Use a grain checking tool to separate and view the highest frequencies in your image to see if your added grain matches that from the original plate.

Group {
 name grainCheck
 tile_color 0x421010ff
 addUserKnob {20 User l "Grain Check"}
 addUserKnob {41 gain -STARTLINE T Multiply1.gain}
}
 Input {
  inputs 0
  name Input
  xpos 447
  ypos 61
 }
 Colorspace {
  colorspace_out Cineon
  name Colorspace3
  xpos 447
  ypos 145
 }
set N61246380 [stack 0]
 Blur {
  channels rgba
  size 0.67
  name Blur1
  xpos 574
  ypos 284
 }
push $N61246380
 Merge2 {
  inputs 2
  operation from
  bbox B
  name Merge4
  xpos 447
  ypos 347
 }
 Multiply {
  channels rgb
  value {{gain*100000}}
  name Multiply1
  xpos 447
  ypos 413
  addUserKnob {20 User}
  addUserKnob {7 gain l "" +STARTLINE R 0 2}
  gain 1
 }
 Output {
  name Output1
  xpos 447
  ypos 507
 }
end_group