Motion blur cages

Motion blur cages allow you to selectively blur a part of scene. These cages come in 2 flavours: Linear and Circular.

Getting started

Both of these blur cages require no additional project setup. You can use them out of the box.

General

Motion blur cages can be placed around objects to make them appear as if they were moving. Unlike Unreal’s native motion blur, the objects in question do not have to actually move. They work great in motion, but also in still shots. Practical examples include: A start screen for a racing game, product / project visualistation, a time freeze effect, a more dynamic architectual scene.

Everything inside these cages appears blurry, everything outside remains sharp. The effect separates foreground from background as best as possible, to mitigate elements bleeding into one another.

By default, these effects apply to everything contained withing the blur cage, but it can be limited to objects with specific depth-stencil values if desired. This required UseStencil to be set to true. For more information about stencils, see the Global Motion Blur page.

Linear motion blur cage

This effect simulates objects moving in a straight line. To start, simply drag and drop the LinearMotionBlurCage into the scene, and orient it around your object. The forward direction of the object determines the direction of the effect, the scale determines the extend of the effect.

The parameter Strength determines the intensity of the effect. The effect works identically forwards and backwards. You will notice that you can push the Strength value quite far, before artifacts start to appear.

Moving the object in real-time (by attaching it to another object, for example) works as expected. Updating the Strength value should be done via the SetStrength Blueprint event.

Circular motion blur cage

Circular motion blur simulates fast rotating objects, such as wheels and helicopter blades. To use this effect, simply place the cage around the subject, and orient and scale it so that it fits neatly.

In order to accomodate different scenarios, these cages come in two modes: OnSurface and Volume.

OnSurface is best suited for objects with a profile as if it were turned on a lathe. This is because the effect follows the surface of the object, and color from outside the surface will not reach the inside, and vice-versa. This means the profile of the object does not change. This is ideal for objects such as wheels.

Volume allows colors to bleed outside the contained object, and vice-versa. This means that the profile is blurred as a result. This is the desired effects for objects like fan blades. This mode follows the surface of a cylinder, rather than the surface of the objects contained by the cage. This means the cage should fit as tighly as possible in order to avoid artifacts.

Strength determines the intensity of the effect.

Motion blur on the wheels of this buggy at different Strength values

Blueprint settings

Both the Linear and Circular blur cage inherit from the same blueprint. In both cases, their transform determine the influence area of the effect.

They have the following settings, which are set in the construction script:

Strength: determines the intensity of the effect. 0 means no blur, 10 means a very strong blur.

Circular Motion Blur Type: sets the type of circular motion blur. This can only be set during construction. See the description above.

Use Stencil: limits the effect within the cage to objects with a specific depth-stencil value. Can only be set during construction.

Stencil Value: which stencil value to limit the effect to. Only valid in combination with UseStencil.

Double Samples: By default, this effect used 6 samples to resolve the blur. In certain cases, usually with extreme values / contrast, banding can occur. You can double the samples to 12 to reduce these artifact.

They also have the following setters.
You should use this when updating the variables in-game.

SetStrength: Sets the intensity of the effect.

SetStencilValue: Sets the stencil value to test on.

Advanced usage

Fuzz

Even a strong motion blur can appear sharp when viewed at the right angle. This is especially awkward in archviz, where your goal might be to de-emphazise people by blurring them. Under the right angle, faces or text might pop out. This is where fuzz can help. It adds a general blur to your subject, so that even when viewed head-on, faces and other details remain blurry.

Stacking cages

You can use multiple cages in a single scene.

You can not combine blur cages. For instance, you can not apply a circular blur to a wheel first, and apply a linear blur cage over top.
If you must combine these 2 effects, you can use a circular blur in combination with a global blur.

Transparency

Because the blur cages are technically transparent objects, you will find that transparent objects might disappear when using blur cages. This is a fundamental property of both this effect and UE4’s renderer, and there is no single solution for this.

However, you can substitute a Linear Motion Blur Cage with a global postprocess version.

Performance

The blur cages have been optimized to use as few texture samples as needed. As with anything in real-time rendering, use in moderation. Especially overdraw can add up.

The strength of the effect does not affect performance.

Using UseStencil will increase the performance cost of the effect, as it requires additional texture samples.

Double Samples

Using DoubleSamples increases the number of samples from 6 to 12. The perfomance impact of this depends on the settings used. Most of the time, 6 samples should be enough, but in some cases, you might want to go for 12.

Click to enlarge

Forward rendering

Forward rendering should work out of the box.
Due to the lack of temporal anti-aliasing, the dithering of the effect becomes more apparent.