Skip to content

Easy Blender Fire in Minutes! How to Make Fire in Blender Using Metaballs, Particles, Eevee, and a Simple Shader

This Blender fire tutorial includes three videos to learn how to make a Blender fire with a Blender cartoon fire shader.

You can also read this blog post for step-by-step, detailed instructions and screenshots on how to make fire in Blender.

Additionally, you can download a free Blender cartoon fire eBook and the final Blender fire file by joining the newsletter. Just fill out the form below.

Blender Fire Videos Overview

  • In Part 1, I’ll show you how to create a procedural fire simulation in Blender using metaballs, a particles systems, and the Eevee render engine.
  • In Part 2, I’ll show you how to create a Blender cartoon shader.
  • In Part 3, I’ll show you how to control the speed of the procedural fire in Blender.

The cartoon fire Blender allows you create is easy and simple, and, since it is a procedural fire, this process is customizable to your needs.

Open Blender

Open Blender and choose the General option from the New File section of the splash screen.

Blender Fire - Modelling - 1-Open Blender

Before starting, you should confirm you have Eevee selected as your render engine by clicking on the Render Properties tab in the Properties panel and reviewing the Render Engine field.

Blender Fire - Modelling - Selecting Eevee as the render engine in Blender

Entering the Orthographic View

In the viewport, hold down the Shift key and left-click on the light, the camera, and the cube to select them. You can see they are selected because they are outlined in orange.

Click the Delete key to remove those objects from the scene. With those deleted, click the 1 key on your numpad (this won’t work by using the number keys at the top of your keyboard) to enter the Front Orthographic view.

If you don’t have a numpad, left-click on the View option in the top viewport toolbar.

From the popup menu, hover over the Viewport option and choose the Front option from the popout menu.

Blender Fire - Modelling - Entering front orthographic view in Blender

Adding Metaballs

With your cursor in the viewport, click the Shift and A keys to open the Add popup menu. Hover over the Metaball option and select Ball from the popout menu.

Blender Fire - Modelling - Add a metaball in Blender

In the Outliner panel, double-left-click on the metaball’s name to edit it. Change the name to Fire and click the Enter key. With the Fire metaball selected in the viewport, click the Shift and D keys, which creates a duplicate, and then click the Z key to constrain the duplicate to the Z axis. Drag your mouse up to raise the duplicate metaball.

Blender Fire - Modelling - Duplicate a metaball in Blender

With the duplicate metaball still selected, click the S key and scale it down by dragging your mouse toward the object. When you are finished, click the mouse to in the viewport to disable scaling.

Blender Fire - Modelling - Scale a metaball in Blender

When I duplicated the first metaball, the duplicate was named Fire.001. Metaballs follow a naming convention in order for them to interact with each other, so don’t change the name of the new metaball.

Creating a Particles Emitter

Turn off the metaballs in the viewport by left-clicking the eye icons next to their names in the Outliner panel. This icon controls an object’s visibility in the viewport.

With the cursor in the viewport, click the Shift and A keys to open the Add popup menu. Hover over the Mesh option and select UV Sphere from the popout menu.

Blender Fire - Modelling - Adding a UV sphere in Blender

With the sphere selected, click the Tab key to switch from Object mode to Edit mode.

Click the ALT and Z keys to enter X-ray mode. Since you can now see through the object, you can select all of the vertices on the front and back of the sphere.

Ensure you have the Select Box tool selected at the top left of your Viewport tools menu bar and that you are in Vertex mode, which is a setting at the top left of your Viewport menu.

Left-click and drag to select all of the vertices on the bottom half of the sphere.

Blender Fire - Modelling - Selecting point/vertices in Blender

Click the Delete key, and, from the resulting popup menu, select the Vertices option. Click the ALT and Z keys to exit X-ray mode, and click the Tab key to exit Edit mode and enter Object mode.

Blender Fire - Modelling - Half sphere after deleting points in Blender

With the sphere still selected, click the N key to open your right viewport toolbar and select the Item tab.

At the bottom of that menu, under the Dimensions section, click in the Z field and change the value to zero and click the Enter key. Changing this value will flatten the sphere. I chose a sphere instead of a circle from the Add menu because I wanted to have an object with polygons already included in it.

Blender Fire - Modelling - Flattened sphere in Blender

Assigning a Particles System to the Emitter

The sphere will serve as the emitter for the particles. Double-left-click on the sphere’s name in the Outliner panel and change it to Emitter. Unhide the two metaballs in the Outliner panel by left-clicking the eye icons next to their names.

With the emitter selected, left-click on the Particles Properties tab in the Properties panel. In the Particles Properties panel, left-click the plus icon to create a new particle system.

Blender Fire - Modelling - Creating a new particle system in Blender

In the Particles Properties panel, open the Render settings and change the Render As field from halo to object. In the Object settings within the Render section, left-click into the Instance Object field and choose the Fire.001 metaball.

Blender Fire - Modelling - Assigning an object as an emitter in Blender

By changing this setting, the emitter will be emitting Fire.001 objects. Currently, the Fire.001 object is too small when emitted, so, under the Render settings, change scale from 0.050 to 0.500. If you left-click the Play button above the timeline, you can see the results.

Blender Fire - Modelling - Scaling the emitter in Blender

Increasing the Number of Particles Emitted

For a fire effect, the emitter isn’t creating enough metaballs, which you can see by the amount of space between the particles. Open the Emissions tab in the Particles Properties panel and change the value in the Number field from 1000 to 3000. This setting increases the number of objects emitted.

Left-click the Play button again and the results are now much thicker.

Blender Fire - Modelling - Increasing the number of emitted objects in Blender

Looping the Animation

The animation needs to loop to create a fire effect, but the timeline is set to 250 frames and the animation ends at 200 frames, so if you play the animation through to frame 250, the fire stops at frame 200. Also, the emitter doesn’t start releasing particles until the animation is started, so there is a delay at the beginning.

To create the looping effect, open the Emissions tab in the Particles Properties panel and change the Frame Start value to -50 and the End value to 300. Changing these values means that the particles start being emitted before the animation starts and the particles stop being emitted after the animation ends, so the emissions are fully generated throughout the 250 frames.

If the animation is played with the new settings and it is allowed to repeat, it now loops and appears to be continuous.

Blender Fire - Modelling - Looping the fire in Blender

Increasing the Resolution of the Metaballs

The fire looks very unnatural and chunky at this stage, so the resolution needs to be increased to create a smoother appearance. Left-click on the Fire object in the Outliner panel and left-click the Metaball properties tab in the Properties panel.

Change the value in the Resolution Viewport field from 0.4 m to 0.1 m and click the Enter key.

Change the value in the Render field from 0.2 m to 0.1 m and click the Enter key. You only need to change these values for one metaball object because those values will be applied to the second metaball.

Blender Fire - Modelling - Changing the particle resolution in Blender

If you play this animation and your computer is having performance issues, you can change the Resolution Viewport value to a higher number. The fire will be a lower resolution in the viewport, but the playback should smoother.

With the Render value at 0.1 m, the fire will still be rendered smooth when you export your final animation.

Changing the Direction of the Particles

To change the direction of the fire, select the Emitter object again in the Outliner panel and left-click the Particles Properties tab in the Properties panel.

Open the Field Weights section and change the Gravity value from 1.000 to -1.000 and click the Enter key. Play the animation and the particles now flow up instead of down.

Blender Fire - Modelling - Changing the particles direction from down to up in Blender

Adjusting the Life Span of Particles

The particles are currently rising too high in the viewport. This is because the particles’ life spans are too long between the time they are emitted and the time they disappear.

To correct this, with the Emitter object selected and in the Particle Properties tab, open the Emission properties and change the value in the Lifetime field from 50.000 to 18.000 and click the Enter key. If you now play the animation, the height of the fire is much shorter.

Blender Fire - Modelling - Changing the lifetime of particles in Blender

Reducing the Width of the Particles

The area of emission is too wide. Reduce the width by reducing the size of the emitter. In the right viewport menu, which can be opened by clicking the N key, left-click on the Item tab, and, in the Dimensions section, change the value of the X and Y fields from 2 m to 0.03 m and click the Enter key. Play the animation to see the change.

Blender Fire - Modelling - Narrowing the fire in Blender

Controlling the Size of the Particles with a Texture

To taper the fire so that it is narrower at the top, select the Emitter, and in the Properties panel left-click the Particles Properties tab, open the Textures properties, and left-click New at the bottom of that section to create a new texture. Double-left-click on the name of the texture at the top of the Texture panel and change the value from Texture to Fire Size and click the Enter key. Left-click the Properties button next to the Texture to adjust the properties of the texture.

Blender Fire - Modelling - Creating a gradient to control the fire's form in Blender

In the Fire Size texture properties, change the Type value from Image or Movie to Blend, which creates a gradient to control the shape of the emissions.

Blender Fire - Modelling - Adjusting the texture controlling the fire in Blender

Open the Influence section and uncheck the box next to General Time to deselect it and check the box next to Size to select it.

Blender Fire - Modelling - Adjusting the texture controlling the fire in Blender

Open the Mapping section. Change the value Generated in the Coordinates field to Strand/Particle. You can see in the viewport that the particles are now smaller at the bottom and larger at the top, so it is working, but the influence needs to be reversed so that the particles are larger at the bottom and smaller at the top.

Blender Fire - Modelling - Adjusting the texture controlling the fire in Blender

Open the Colors section. Check the Color Ramp option and open that section to adjust the settings that control the gradient.

Blender Fire - Modelling - Adjusting the texture controlling the fire in Blender

Left-click on the black tab on the left of the Color Ramp section and drag it to the right, but don’t overlap the white tab.

Blender Fire - Modelling - Adjusting the texture controlling the fire in Blender

Left-click on the white tab on the right of the Color Ramp section and drag it to the left. Left-click on the black tab again and drag it to the end of the right side. The gradient has now been reversed, so the particles are now larger at the bottom and smaller at the top.

Blender Fire - Modelling - Adjusting the texture controlling the fire in Blender

To improve the look of the fire, the metaballs being emitted need to stay larger longer, so left-click the white tab of the gradient again and drag it to the right until the value in the Pos field changes from 0.000 to 0.200. You can also left-click into the Pos field and enter the number 0.200 and click the Enter key. The emitted metaballs will now be larger for a longer period of time before decreasing in size and then disappearing.

Blender Fire - Modelling - Adjusting the texture controlling the fire in Blender

Adjusting the Life Span of the Particles

If you play the animation, you can see that the changes are working; however, the edits have affected the life span of the particles because now they aren’t lasting long enough. Left-click on Particles Properties tab in the Properties panel and open the Emission section. Change the value of the Lifetime field from 18.000 to 28.000. Play the animation to see the updated result.

Blender Fire - Modelling - Revising the lifetime of the particles in Blender

Animating the Base Metaball

While playing the animation, you can see the bottom metaball is very static and not moving, which isn’t natural. Adjust this by opening the Render settings and changing the Scale value from 0.500 to 1.250 and click the Enter key. This change increases the size of the metaballs enough that when they are emitted they create movement around the bottom metaball.

Also, below the Scale field, change the Scale Randomness value from 0.000 to 0.500 and click the Enter key to increase the randomness of the size of the emitted metaballs, which will further improve the look of the fire.

Blender Fire - Modelling - Animating the bottom metaball in Blender

Adjusting How the Metaballs Interact

To further improve the appearance of the fire, the metaballs at the top should clump together more. Left-click on the Fire metaball object and left-click the Metaball properties tab in the Properties panel. In the Metaball section, change the Influence Threshold value from 0.6000 to 4.000 and click the Enter key.

This setting controls how much the metaballs interact with each other. An increased value will result in them looking more like a single fire. Play the animation to see the difference.  

Blender Fire - Modelling - Changing the area of influence of the metaballs in Blender

Adjusting the Velocity of Emitted Metaballs

The metaballs being emitted are shooting up at around the same width as the bottom metaball, but they should be emitted more towards the center. Instead of reducing the size of the emitter again, the velocity can be decreased.

The higher the velocity, the more force that is being used to emit the metaballs, which causes them to shoot further out around the sides of the bottom metaball. If the velocity is decreased, the particles will be emitted closer to the center of the emitter.

Select the Emitter object and left-click the Particle Properties tab in the Properties panel and open the Velocity section. Change the value in the Normal field from 1 m/s to 0.5 m/s and click the Enter key.

Blender Fire - Modelling - Changing the emitter velocity in Blender

Slowing Down the Movement of the Fire

The last change that needs to be made is to reduce how much the fire is moving. Currently, it is whipping around very quickly. Open the Physics tab in the emitter’s Properties panel, and, under the Forces section, change the value of the Drag field from 0.000 to 1.000 and click the Enter key.

Blender Fire - Modelling - Adjusting the physics of the emitter in Blender

This change reduced the movement of the fire, but, since it is now moving slower, the particles are disappearing too quickly, so open the Emissions section a final time in the emitter’s Properties panel and change the Lifetime value from 28.000 to 35.000 and click the Enter key, which gives us the final result.

Blender Fire - Modelling - The final result of the fire in Blender

Creating the Blender Fire Shader: Changing the World Background Color

The first thing I want to do is revise some of the Blender viewport settings so that it will be easier to see the fire shader while working on it. In the Properties panel, left-click on the World Properties tab. You can see in the Surface section that the Color field has a gray value.

Click into that field, and, using the slider to the right of the color wheel, drag the white dot to the bottom so that the world color is now black.

Blender Fire - Shader - Adjusting the World Background

Switching the Viewport Shading Setting

The color appears to not have changed because my viewport shading setting is set to Solid. To see the background color, you need to change the viewport shading setting to Rendered by left-clicking the last icon at the top right of the viewport toolbar.

Blender Fire - Shader - Switching the Viewport Shading Setting

Disabling Overlay Settings

The black background is now visible, but I want to turn off some of the options in the Overlay settings to better see the shader. You can turn off all of the viewport options by left-clicking the icon at the top right with the two overlapping circles.

Blender Fire - Shader - Disabling Overlay Settings

If you want to select the options to disable, left-click on the arrow next to the Overlay Settings icon and choose from the dropdown menu. For this project, I would uncheck the Grid, Floor, X and Y Axes, and the 3D Cursor options.

Opening the Shader Editor

The viewport is now black and appears blank. This is because there are no lights in the scene. To beginning creating the shader, left-click the clock icon at the top left of the Timeline panel, which is located beneath the viewport, and, from the resulting popup menu, choose the Shader Editor option.

Blender Fire - Shader - Opening the Shader Editor

Hover your mouse pointer over the line between the Shader Editor panel and the viewport, and left-click and drag up to increase the size of the Shader Editor panel.

Blender Fire - Shader - Opening the Shader Editor - Part 2

Creating a New Material

In the Outliner panel, select the Fire metaball object and left-click the Materials tab in the Properties panel. Left-click the New button to create a new material.

Blender Fire - Shader - Creating a New Material

When you create a new material, you should see the material information populate in the Surface section of the Materials tab in the Properties panel. You should also see two new nodes appear in the Shader Editor panel. Double-left-click onto the new name of the material and change it to Fire Shader.

Blender Fire - Shader - Creating a New Material Part 2

Adding a Color Ramp Node

The cartoon shader is simple, so the Principled BSDF node isn’t needed. Left-click on it, and click the Delete key. With your mouse cursor hovering over the Shader Editor panel, click the Shift and A keys to open the Add menu.

In the resulting popup menu, left-click into the Search field and type the word Color. The Color Ramp node will be the first node name that appears in the results. Left-click the name to select it and left-click again to drop the node into the Shader Editor panel on the left side of the Material Output node.

Blender Fire - Shader - Adding a Color Ramp Node
Blender Fire - Shader - Adding a Color Ramp Node Part 2

Adding a Fresnel Node

I also need a Fresnel node, so click the Shift and A keys again to open the Add menu. Left-click into the Search field and type Fresnel. Left-click the name to select it and left-click again to drop the node into the Shader Editor panel on the left side of the Color Ramp node.  

Blender Fire - Shader - Adding a Fresnel Node

The Color Ramp node will be used to create the colors that will be applied to the metaballs. The Fresnel node, which calculates how light is reflected off of an object, will be used to provide additional options to customize the width of the colors.  

Connecting the Nodes

Left-click on the gray dot next to the Fac (factor) letters on the right side of the Fresnel node and hold down the left mouse button. Drag your mouse cursor to the right. You should see that you are dragging a line with it.

Drag the line to the gray dot next to the Fac letters on the left side of the Color Ramp node and release the mouse button. You should now have a line connecting the two nodes.

Repeat this step to connect the gray dot next to the Color option on the right side of the Color Ramp node to the green dot next to the Surface option on the Material Output node.

Blender Fire - Shader - Connecting the Nodes

Changing the Color Ramp Node from Linear to Constant

After connecting the nodes, the Fire metaball is now gray on the inside with a white outline around the edge, which matches the gradient in the Color Ramp.

The shader for the fire needs to have sharp edges from color to color instead of the smooth transition of a gradient. To correct this, click into the field currently set to Linear in the Color Ramp node and select Constant from the resulting dropdown menu.

Blender Fire - Shader - Changing the Color Ramp Node from Linear to Constant

The Fire metaball is now black again because the white tab is against the far right side of the window. Left-click on the white tab and drag it to left so that it is next to the black tab. The Fire metaball’s appearance changes to a banded shader.

Blender Fire - Shader - Changing the Color Ramp Node from Linear to Constant Part 2

Updating the Color Ramp Colors

Left-click the white tab again to select it, and, at the bottom of the Color Ramp node, left-click the field colored white to open the color options.

Blender Fire - Shader - Updating the Color Ramp Colors

This popup window provides three color options – RGB, HSV and Hex. Left-click the Hex button. In the field beneath the Hex button, left-click into it and change the value from FFFFFF to DC3903.

Click the Enter key to finalize the change and move your mouse away from the color wheel window, which will cause it to disappear.

Blender Fire - Shader - Updating the Color Ramp Colors Part 2

Left-click the black tab to select it, and left-click the black field at the bottom of the Color Ramp node. Left-click into the Hex field and change the value from 000000 to DCAF0E. Click the Enter key to finalize the change.

Left-click and drag the red tab so that it sits next to the yellow tab. The banding is now thick and looks similar to the result we are trying to achieve.

Blender Fire - Shader - Updating the Color Ramp Colors Part 3

Adjusting the Fresnel IOR Settings

Another way to control the banding is to adjust the IOR (index of refraction) value in the Fresnel node. If you left-click into the IOR field and change the value from 1.450 to 1.550, you can see the red band becomes thicker.

Adjusting the colors tabs in the Color Ramp node and adjusting the IOR setting in the Fresnel node are the two ways to control the width of the color banding.  

Blender Fire - Shader - Adjusting the Fresnel IOR Settings

To see how the shader looks when moving, click the Spacebar key to play the animation. You can click the Spacebar key again to pause it. While animating, the shader may look slightly fuzzy around the colors’ edges, but those areas will be smooth when paused and when rendered.

Blender Fire - Shader - Adjusting the Fresnel IOR Settings Part 2

Adding a New Color to the Color Ramp Node

To add the third yellow color, which will be the middle of the fire, click on the Plus symbol in the Color Ramp node to add a new color.

Blender Fire - Shader - Adding a New Color to the Color Ramp Node

The new color tab is centered between the two existing tabs, so they are tightly grouped together. Left-click the red tab to select it and drag it slightly to the right to spread out the tabs. Left-click the middle yellow tab and drag it slightly to the right as well.

Blender Fire - Shader - Adding a New Color to the Color Ramp Node Part 2

Left-click the first yellow tab on the left to select it, and left-click the yellow field at the bottom of the Color Ramp node. Left-click into the Hex field and change the value from DCAF0E to DDD068. Click the Enter key to finalize the change. The three colors are now displayed.

Blender Fire - Shader - Adding a New Color to the Color Ramp Node Part 3

Final Blender Fire Shader Settings for the Fresnel and Color Ramp Nodes

In addition to sliding the tabs, you can adjust the settings of the Color Ramp node by selecting a color tab, left-clicking into the Pos (position) field below the color tabs, and entering a value manually. You can also adjust the Fresnel node by left-clicking into the IOR field and entering a value manually.

Below are my settings for the final Blender fire results:

  • Fresnel Node – IOR: 1.535
  • Color Ramp Node – Light Yellow Tab (First Tab from the Left): Pos 0.000
  • Color Ramp Node – Dark Yellow Tab (Second Tab from the Left): Pos 0.043
  • Color Ramp Node – Red Tab (Third Tab from the Left): Pos 0.059
Blender Fire - Shader - Final Shader Settings for the Fresnel and Color Ramp Nodes

Adding a Glow with the Bloom Setting

The final step for creating the Blender fire shader is to add a glow around the outside edge. Click on the Render Properties tab in the Properties panel. Left-click the checkbox next to the Bloom option to enable it. Below are my Bloom settings:

  • Threshold: 0.000
  • Knee: 0.500
  • Radius: 3.750
  • Color: FFFFFF
  • Intensity: 0.100
  • Clamp: 0.000
Blender Fire - Shader - Adding a Glow with the Bloom Setting

Final Thoughts

You should now have a complete understanding of how to create fire in Blender, as well as learned the basics of using metaballs and particles systems in Blender.

If you have questions about this Blender fire tutorial or have other Blender questions, send me a message through the Contact page.

Want to see additional Blender tutorial videos? Check out the following Blender trainings or visit my YouTube channel.

This Post Has 2 Comments

Leave a Reply

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

Back To Top
Search