Cartoon fire effect

This article is part of a series on the making of the museum of Lodève. In the movies, there were scenes taking place in caves or at dusk. So we had to create a fire effect, with a cartoon render to suit the art direction, and that could have a torch-like movement.

We have tested many techniques in Blender or Fusion:
– mesh displacement,
– 2D texture with UV distorsions,
– particules with metaballs
– mask particules
– alpha additive particules

This exploration allowed us to find the most efficient ways of making fire according to the case, knowing that Blender was our main tool from layout to lighting, except for the compositing where Fusion was used.

Displacement

First, since I have worked with RGBa on a little animation in which Henri Hebeisen made a torch, we tried to work with the same technique. You can find the original asset on RGBa’s GitLab repos. The fire is built with multiple icospheres modified with two stages of subsurf and displacement in the modifier stack, then a lattice rigged with a slow parent target at the top of the lattice.

Fire made with mesh displacement.

The render can be improved but does not feel stylised enough. If the fire is moving around, it’s a little too stiff.

Textures

Then we tried a video game technique using UV distorsions explained by Simon Trümpler in his talk Stylized VFX in RIME. The effect consists in two noise textures sliding up at a different speed and added to the U and V coordinate texture to distort the mapping. The texture applied to the mapping is a three-channel texture where two are used to display two flat tint colours of the fire.

Noise texture, U and V maps used for mapping displacement.

Source texture, displaced texture and colour render of the fire.

The technique gives a really neat effect. It was done with the Cycles renderer, it’s a bit out of our pipeline because we usually use only Blender Internal renderer. Moreover, the 2D texture deformation with movement can be tricky to adjust. Henri went beyond to reproduce this shader made with 3D procedural textures only.

Metaballs

An other technique we tried is particule systems with metaballs. It gives a really nice low poly disappearing effect. The metaballs can use only one material, so we colour them depending on their relative position to an empty with 2 colours to give a cartoon render.

Fire made with Metaballs.

This has a nice look and a nice behaviour with movement, so we used it as one of the fire effects in a movie in which there was a lot of movement, and it works well at high speed with the help of subframes.

Fire with Metaballs in movement. The falling one has subframes.

Negative

Inspired by Mikael Gustafsson’s Late night fire, we used particule systems, one to create a color pass, and two to create an alpha suppression on the previous pass.

Setup of the particule systems.

With two of these resulting passes give a nice cartoon fire effect.

If the fire is moving, it cannot easily move up since the alpha suppression particules would already be on top. Apart from that, without much work, it gives an elegant cartoon fire.

Exemple of integration with one of our background

additive alpha

When there was a fixed fire, that was not impacted by the animation, it was more convenient for the compositer to create the fire himself in fusion. We used the 2D particules system where particules add alpha when they get over each other, and with a threshold, we get a flat tint as we need.

Fire particules in fusion with the emitter.

The smoke works in the same way with a gradient.

That’s the fire we set on the movies where there was still fire. In addition, force fields add a life to animation.

 

Here is an extended exemple:

 

Finally, this technique has proven to be very efficient and flexible for still fire cases with a similar setup for smoke and fire.

Acknowledgements

All the backgrounds and characters in this article are credited to Musée de Lodève et Les Fées Spéciales

Cartoon fire effect

Leave a Reply

Your email address will not be published. Required fields are marked *