Skip to content

Motion Blur

Motion Blur uses the camera motion-vector buffer to blur fast camera or object motion after the main scene render.

It is useful for racing, fast camera moves, high-speed projectiles, and cinematic transitions. Avoid strong values in UI-heavy scenes or precise inspection tools, because it can reduce readability.

Enable Motion Blur

ts
camera.motionBlur = true;
camera.motionBlurStrength = 0.8;

Properties:

PropertyTypeMeaning
camera.motionBlurbooleanEnables or disables the effect
camera.motionBlurStrengthnumberBlur intensity multiplier; default is 1

How It Works

The effect samples the rendered color buffer along per-pixel motion vectors. The motion vector texture is generated by the scene renderer, then the post effect blends multiple samples between the previous and current pixel positions.

Because the blur length is also scaled by frame delta time, extremely unstable frame times can make the effect look inconsistent. If your app has large frame-time spikes, keep the strength conservative.

ScenarioStrength
Subtle camera motion0.25 - 0.5
Action camera or vehicles0.6 - 1.0
Stylized high-speed effect1.0 - 1.5

Notes

  • Motion Blur is a camera post effect, so it is configured per camera.
  • Motion vectors are generated only on non-WebGL backends, so this effect is intended for WebGPU/native-capable render paths.
  • It works best when moving objects render motion vectors correctly.
  • It should usually be used together with the camera's built-in compositor and the rest of the post-processing chain.
  • If visual clarity matters more than speed impression, keep the effect disabled.

Released under the MIT License.