How to fix flickering in animations?
Flickering is a broad term which usually refers to the appearance of flashing or unsteadiness in an animated sequence. It can show as a change in brightness of the whole image from frame to frame, large splotches, or pixel-sized fireflies. Generally, flickering is unwanted and should never appear. If you see it, it indicates that there is an issue in the scene setup or a bug.
There are several types of flickering:
- Large splotches
Splotches can be caused by various issues. In this case - wrong UHD Cache settings.
- Make sure your Secondary Solver in the Performance tab of the Render Setup window is set to UHD Cache.
- Make sure you are using the "Animation (flicker-free)" preset in the UHD Cache settings rollout.
To learn more about the UHD Cache and how to use it in animations, see How to use the UHD Cache? ( Max | C4D )
Fireflies are single bright pixels which usually appear if incorrect light setup or high material glossiness values are used. They can also appear with a correct light and material setup, when there is a small light source, such as the sun, reflecting in an object:
Fireflies are visible on the surface of the sphere and it its reflection in the pink box.
- Avoid using unrealistically bright lights, especially if they are small. A lower number of small, strong lights means less fireflies.
- If possible, use environment lighting with larger, less intensive light sources. This will mitigate fireflies in reflections and refractions.
- If possible, lower the glossiness of the reflective material where the fireflies appear. This will slightly blur the fireflies making them less visible.
- Render more passes (allow higher render time per frame). This improves the overall image quality.
- If possible, render in a higher resolution so that reflections and refractions are rendered with higher quality.
- If the fireflies are caused by Corona Sun, you can use the excludes list in the Corona Sun to exclude the objects where the fireflies appear from the sun’s influence (useful if fireflies appear on grass, leaves, etc).
- If possible, use Highlight Clamping ( Max | C4D ).
See also: I can see bright pixels in grass!
- Moire - usually a shimmering effect is seen when two or more patterns (such as two sets of parallel lines) are placed on top of each other. This can happen with such things as wire fences, floor tiles, etc.
Please note that this is an expected effect which also happens in real life and is seen, for example, in digital photography. For more information about moiré patterns - check this article.
A static moiré pattern.
A moiré pattern appearing when the camera is moving over a surface with a detailed texture.
- Render your frames in a higher resolution and downscale them in postproduction.
- Use an Image Filter with a higher Width value - it will suppress the moiré pattern and other artifacts by slightly blurring the image during rendering (you can choose your image filter and change its width in
- 3ds Max: Render Setup > System > Frame Buffer > Image Filter
- Cinema 4D: Render Settings > Corona > Frame Buffer Settings
- Z-fighting - occurs when two polygons overlap with each other. If polygons occupy the exact same 3D space they will fight to display and flicker through each other due to some imprecision in the 3D viewport display and the rendering itself:
Z-fighting as seen in the 3ds Max viewport:
...and the same effect in Cinema 4D:
Z-fighting in a rendered sequence:
Move any flickering polygons to a different location if more than one is in the same space (for example: move the flickering object up or down just a little bit so that it does not overlap with other objects).
- Caustics - currently rendering caustics in animations works fine in many cases, but sometimes flickering may appear depending on scene scale, complexity, camera movement speed, etc. In such cases, it is best to check the information provided in this article: How to render caustic with the new caustic solver? ( Max | C4D )
- Denoisers - generally, using denoisers is not recommended for animations as they do not support any kind of temporal consistency between frames and may introduce large-scale flickering. It is best to render sequences without denoisers, or apply additional anti-flickering filters to the denoised output in 3rd party post-processing applications.
See: How to use denoising? ( Max | C4D )