Motion smaller than one pixel — allows silky smooth object movement in VFX without jitter. Critical for subtle tracking and floating effects.
When you move an element in compositing or 3D space by smaller increments than a single pixel is wide, you are working in the subpixel range. This sounds academic, but it's one of the most common challenges with subtle VFX movements – and the difference between professional and amateur output.
In practice: You have a mote, a particle, or a tiny object that needs to move across several frames. If you shift the position exactly 1 pixel to the right frame by frame, a crawling effect, a fine jitter, is created that the eye unconsciously registers. The movement appears choppy. Subpixel precision means your compositing system (Nuke, After Effects, Fusion) tracks these sub-pixel positions internally – say, 1.3 pixels or 0.7 pixels – and generates a truly fluid curve through interpolation during rendering. The eye sees no jumps, no stair-stepping, but organic, continuous motion.
In 3D rendering, this has long been standard: sub-pixel anti-aliasing and motion blur work at this resolution. But in compositing – especially with 2D tracking and manual keyframe movements – this is often overlooked. You need interpolation that works finer than pixel rasterization; typically cubic or higher, to accurately calculate sub-pixel values.
A practical example: Tracking a tiny speck of dirt on a lens – the speck might be 2x2 pixels in size, but it moves slowly diagonally across the frame. Without subpixel precision, the movement looks like the speck is jumping. With subpixel accuracy, each frame is calculated with the true sub-positions, the anti-aliasing engine smooths the edges, and the result is optically vanishingly fine.
Important: Subpixel motion costs processing time – interpolation and anti-aliasing are not free. But with modern systems and high-resolution material (2K, 4K), this is no longer the problem it once was. Where you need to be careful: Some older or simpler filters do not respect subpixel positions. Then you'll get blocking and lose the smoothness again. Therefore, always check the interpolation methods in your composite – and when using keyframes, don't round to integer values if your element is small and fast.