This tutorial will guide you through creating a simple, wobbling flame with some smooth, animated characteristics. By the end, you’ll have a cartoon-style flame effect ready to be used in your projects.
Creating Procedural Cartoon Flame Animation in Blender 4.4
Step 1: Starting Fresh
- Delete the Default Cube:
- Left-click the default cube and hit X to delete it.
- Add an UV Sphere:
- Press Shift + A and go to Mesh > UV Sphere.
- TAB into Edit mode and use the O-key to turn on Proportional Editing.
- Use the C-key for Circle Select and select the top, faces of the UV Sphere.
- Pull the Top Faces of the UV Sphere up into a rough teardrop shape using the G- and Z-keys and the Scroll Wheel. This will act as the base for your flame.
- Use the O-key to turn off Proportional Editing.
- Shade Smooth and Add Subdivision:
- In Object Mode, right-click your UV Sphere and select Shade Smooth.
- Add a Subdivision Surface modifier from the Modifiers Panel, and set it to Level 3. This smooths out the geometry, giving it a nice soft look.
Step 2: Adding the Wobble with Displace Modifier
We’ll add some randomness to our flame shape to make it wobble.
- Add a Displace Modifier:
- With your UV Sphere selected, go to the Modifiers Panel and add a Displace Modifier.
- Click New Texture and call the texture Flame Ripple.
- Change the Coordinates:
- Under the Displace Modifier, change the Coordinates to Object.
- We’ll use an Empty object to control the displacement.
- Add an Empty Object:
- Press Shift + A and choose Empty > Plain Axis. This will serve as the controller for the displacement.
- With the UV Sphere selected, go to the Modifier Stack and tie the Empty to the Object of the Displace Modifier by selecting it from the list.
- Modify the Voronoi Texture:
- Go to the Texture Properties of the flame ripple texture and add a Voronoi texture.
- Set the Size and tweak the Contrast in the Colors tab. Adjust these until the appearance is to your liking.
- Make the Flame Wobble:
- Move the Empty object around. You should see the flame wobble as the Voronoi texture reacts to the Empty’s position.
Step 3: Adding Drivers for Animation
Now, let’s get that flame wobbling smoothly with animation.
- Add a Driver to the Empty:
- Select the Empty object and using the N-key, open the Object Properties panel.
- Select the Z Axis under Location and input #frame/10 to make the flame wobble over time. The number controls the speed—feel free to adjust it.
Step 4: Setting Up the Flame Material
Now, let’s give this flame some color and style with a material.
- Create the Flame Material:
- Make sure you have the Node Wrangler add-on activated.
- Go to the Shading Tab and add a New Material named Red Flame.
- Add an Emission Shader:
- Delete the default Principled BSDF shader.
- Use SHIFT + A to add an Emission shader. This makes the flame glow like a real fire.
- Connect the Emission Shader to the Surface input of the Material Output.
- Set Up the Voronoi Texture:
- Use SHIFT + A to add a Voronoi Texture node and connect it to two ColorRamp nodes – using the Distance output of the Voronoi Texture.
- Move the White Color Stop of the first ColorRamp to the left – around Position 0.7.
- Set the Interpolation of the second ColorRamp to Constant and adjust the White Color Stop to control the size of your flames. [0.725]
- Add Transparency:
- Add a Transparent BSDF node and mix it with the Emission shader using a Mix Shader node.
- Connect the second ColorRamp output to the Factor of the Mix Shader and disconnect it from the Emission Shader.
- Alpha Clip:
- In the Material Properties tab, set the Render Method to Blended to control the transparency and edge sharpness.
- Invert the ColorRamp:
- Add an Invert Color node between the second ColorRamp and the Mix Shader to reverse the gradient. [Color]
- Add Mapping & Texture Coordinates:
- Select the Voronoi Texture and use CTRL + T to add a Mapping and Texture Coordinate node. This will help you to control the scale and positioning of the Voronoi texture.
- Set the Voronoi Scale to 8 for the initial flame detail.
Step 5: Flame Details
Now, let’s add some finer details with multiple flame layers.
- Small Flames:
- Using SHIFT + D, duplicate the Mapping, Voronoi, and first ColorRamp nodes.
- Set the Voronoi Scale to 16 for finer, smaller details.
- Connect the Texture Coordinate to the second Mapping node.
- Large Flames:
- Using SHIFT + D, duplicate the Mapping, Voronoi, and ColorRamp nodes.
- Set the Voronoi Scale to 4 for larger, more spread-out flames.
- Connect the Texture Coordinate to the third Mapping node.
- Mixing Small and Main Flames:
- Use SHIFT + A to add a Mix Color node to combine the Main Flames and Small Flames.
- Connect the ColorRamp from the Small Flames to the B-input of the Mix Color node.
- Connect the ColorRamp from the Main Flames to the A-input of the Mix Color node.
- Connect the Mix Color node to the Factor of the second ColorRamp of the Main Flames.
- Change the Mix Color node Blending Mode to ‘Soft Light’ and change the Factor to 1.
- Mixing Large and Small Flames:
- Use SHIFT + A to add a Mix Color node to combine the Large Flames and Small Flames.
- Connect the ColorRamp from the Large Flames to the B-input of the Mix Color node.
- Connect the Mix Color node from the Small Flames to the A-input of the Mix Color node.
- Connect the Mix Color node to the Factor of the second ColorRamp of the Main Flames.
- Change the Mix Color node Blending Mode to ‘Soft Light’ and change the Factor to 1.
Step 6: Organizing the Flame Details
- Group Main Flames:
- Select the first group of Mapping, Voronoi, and first ColorRamp nodes.
- Use CTRL + J to create a Frame Node.
- Right-click and rename the Frame to ‘Main Flames’.
- Group Small Flames:
- Select the second group of Mapping, Voronoi, and ColorRamp nodes.
- Use CTRL + J to create a Frame Node.
- Right-click and rename the Frame to ‘Small Flames’.
- Group Large Flames:
- Select the third group of Mapping, Voronoi, and ColorRamp nodes.
- Use CTRL + J to create a Frame Node.
- Right-click and rename the Frame to ‘Large Flames’.
Step 7: Adding Movement to the Flame
Now, let’s make the flame flicker and flow like real fire.
- Peetering Out the Flame:
- Add a new Mix Color node and connect it to the A-input of the Small Flames Mix Color node.
- Add a Gradient Texture node and connect it to the A-input of the new Mix Color node.
- Connect the Main Flames to the B-input of the Mix Color node.
- This will make the flame taper off at the top, adding some nice details.
- Angle Adjustment:
- Add a Mapping and Texture Coordinate node to the Gradient Texture.
- Rotate the Y Axis to -90° and adjust the X Location to position the flame at the bottom of the UV Sphere. [3.25]
- Animating the Flame Movement:
- Add drivers to the Z Axis of each Location of the Flame Mapping node:
- Main Flames: #frame/-30
- Small Flames: #frame/-60
- Large Flames: #frame/-15
- This will create a nice staggered flame movement.
- Add drivers to the Z Axis of each Location of the Flame Mapping node:
- Emissive Power:
- Set the Emission Strength to about 6 and change the color to a bright red for a bright, fiery effect.
Step 8: Final Touches
- Duplicate and Color the Flames:
- Duplicate the UV Sphere and scale and rotate it slightly.
- Duplicate the Flame Red material and change the colors to create variations (orange, yellow, white flames).
- For each new flame, tweak the ColorRamp and Voronoi settings so they look unique.
- Add Bloom:
- To add Bloom in Blender 4.2 and above, under the Shading option, make sure ‘Compositor’ is set to ‘Always’, [arrow next to render]Open the Compositing Workspace and activate ‘Use Nodes’. Use SHIFT + A to add a Glare node between the Render Layers and Composite nodes.Change the Glare Type to ‘Bloom’. To see how this is affecting the flames, add a Viewer node and connect the Glare node.Use F12 to Render the image,
- You can use the Strength and Saturation fields to make adjustments to the Bloom.
- Animation:
- To see the animation, go into Render mode, open up the Timeline, and use the Play Button.
- If you want to slow the animation down, under the Output Properties, select ‘Custom’ for the Frame Rate and lower the FPS.
Conclusion
And there you have it—Procedural Cartoon Flames in Blender! You now have a flame effect that wobbles, flickers, and has multiple layers of animated fire. Feel free to tweak the parameters further to get the exact look you want.