MiikaHweb Blog -> Smoke

Yet another Blender smoke test

Jun-01-2013    2 Comments

Yet another Blender smoke testYeah, here goes again, more playing with Blender smoke simulator. This time I wanted to try a bit larger simulation utilizing adaptive domain and my other latest improvements.

Here is the result. Sorry, not gonna upload .blend file for this one:

Adaptive domain was a great help as it allowed really fast bakes of the first 70 frames. Basically I was able to do dozens of low res tests for the first rocket with barely a minute wait each. Smoke motion was heavily guided by animated force fields.

Overall I'm quite happy with it, even though the wind is too strong and dust is rising way too fast for that large scale. (That wasn't visible in the first hundred frames I mainly tested with...) Yet I didn't want to spend another evening tweaking and re-baking so just decided to render that one.

That model is slightly modified version of MLRS by SONGKRO from Blend Swap.

Posted by MiikaH at 12:51

Category:Blender, Development
Tags: Blender, Smoke, Fire

Blender smoke subframes

May-17-2013    18 Comments

No subframes testOne of the remaining "easy-to-fix" issues with Blender smoke simulator has been that you can't have fast moving objects emitting smoke. At least not that easily or smoke flow would leave behind a bunch of disconnected dots instead of continuous flow of smoke.

Now I have committed subframes for smoke flows. That means you can define how many additional time samples will be taken between each simulation frame. Below is an example of a fast moving particle with multiple subframes and no subframes:

One thing to notice is that this is a flow setting, not domain one, for couple of reasons. First of all, subframes are applied only in the emission phase. Simulation itself won't calculate additional time samples, so there will be no change in behavior of the fluid and you can use very high subframe counts with only minor performance drop. Also this allows you to enable subframes only for smoke flows that move fast enough to benefit from it.

Another new thing is ability to define size of flow particles. Previously it was common issue that when you increased domain resolution for final bake, particles became way too small. Now you can just increase particle size if needed.

These new size based particles are also compatible with my previous "full sample" high resolution update. So no more blocky particles either. Besides, this allows using smaller than "low res cell" sized particles, so you can have detailed tiny particles without having to increase simulation base resolution up to several hundreds like before. It's enough to just increase high resolution divisions. :)

Here are couple of renders from my subframe test scenes:

These new features are available in Blender trunk builds of revision 56884 and higher.

Posted by MiikaH at 17:43

Category:Blender, Development
Tags: Blender, Smoke, Fire

Getting rid of smoke blockiness

May-10-2013    12 Comments

Burning SuzanneI was recently investigating how to reduce that blockiness you get around smoke emitters. I did several tests with it and was so amazed about the results that it frankly makes me feel stupid for not realizing there was something wrong earlier.

Previously high resolution flow voxels were generated based on the low resolution ones. So if you had 32 simulation base resolution and 4 division high resolution, it still used smoke flow generated from those 32 resolution voxels. Now I introduced a new sampling method called "Full Sample" that generates full resolution flow for for high resolution domain as well.

You can enable "Full Sample" in smoke high resolution panel. That menu also includes old "Nearest" and "Linear" interpolation settings for smoke flow in order to keep old files compatible. Full sample is default in new simulations though.

There was also a bug that partly disabled smooth effect from my older smoke patch from couple of years back.

Here is a comparison between old and new high resolution smoke:

Left suzanne is the low resolution version (32 res). Then the old (4 division) high resolution flow. Last one is the new "full sample" version using otherwise same settings.

Another comparison with a complex mesh flow:

Again, left is the old 32 res 4 high division simulation. Right image is same setup with full sample flow.

One problem especially with fire simulations has been that the fluid motion usually looks good with fairly low resolutions. However it has been necessary to increase the resolution anyway, in order to get rid of those blocks. Not anymore. It's also much easier to create thinner layer of smoke around the emitter. Not to mention higher detail when using textures as flow masks. :)

I made couple of new fire demos inspired by the possibilities of block-free smoke flows:

Here are the original .blend files for you to play with:
Burning Suzanne (64 base, 4 div high): burning_suzanne.blend
Burning Plane v2 (48 base, 3 div high): burning_plane_turbulent.blend

The new full sample flow type is available in Blender trunk builds of revision 56665 and higher (or the upcoming 2.68 release).

Posted by MiikaH at 16:18

Category:Blender, Development
Tags: Blender, Smoke, Fire

Blender Explosion Testing

Feb-12-2013    1 Comment

Blender Smoke ExplosionToday I was playing with smoke simulator to make sure it still works fine for the Blender 2.66 release. I ended up doing a high resolution explosion scene that uses most of the new features from my GSoC 2012 work.

This explosion uses force fields to create additional turbulence to the simulation. Fire particles (floating by the "smoke flow" force field) add smaller detail. Also emitters and some of their properties are animated to give more control over the simulation.

For final render I used domain resolution of 96 + 32 additional "adaptive domain" resolution, so total 160 base resolution. Baking it high resolution enabled took couple of hours.

If you feel like playing with the setup, you can download the final .blend file here:

Posted by MiikaH at 14:11

Category:Blender, Development
Tags: Blender, Smoke, Fire

Blender fire testing + .blend files

Aug-10-2012    12 Comments

Blender Burning PlaneNow that Google Summer of Code 2012 is almost over it's time for heavy testing and final improvements of my Blender smoke project.

This week I have been experimenting with different fire simulation and render setups to find out new ways to improve simulation quality. While testing out new code I also prepared three fire scenes for download so you can start playing with fire too without having to do days worth of experiments. :p

Check out the renders here:

Unfortunately there still isn't a single click "Make awesome fire!" button. Setting up realistic scene still takes lots of tweaking for both simulation and render. However simulating fire in general should be now much easier with these GSoC changes.

Burning Plane

This scene is an extreme example of texture controlled emission. A cloud texture with animated z-offset is used to generate additional turbulence to fire. This gives a huge visual improvement over a plane that emits fire evenly across whole surface.

Download: burning_plane.blend

Burning Sphere

The basic idea of this scene is very similar to previous one. However this time texture is tweaked with a color ramp to emit some fire even from darkest areas of the texture.

Download: burning_sphere.blend

Fire Pillar

This is a very basic scene I used to test high fuel/flame emitter. Notice how I have unticked "Absolute Density" checkbox from flow, making it "additive" instead. This way fuel can smoothly increase to very high amounts creating long lasting tall flames.

Download: fire_pillar.blend

Please note that to use these .blend files you need a Blender "soc-2012-fried_chicken" branch build of r49779 or later. All scenes are also quite heavy so it's better bake the cache. :)

Update: My smoke code has now been merged to Blender trunk. So any trunk revision of r51259 or later will do. :)

Posted by MiikaH at 20:00

Category:Blender, Development
Tags: Blender, Smoke, Fire, GSoC

Textured paint objects!

Aug-15-2010    5 Comments

This week I've been working on "textured painting" for my Mesh Paint tool. Basically you can use object material/texture to define paint color and strength.

This works on both solid and volumetric materials. Texturing can be used to add some randomness to paint coverage or even better: to allow painting with smoke! You could make dirt clouds that affect environment etc.

Here's a short demo of smoke domain being used as textured "Paint" object. Painting with smoke:

Posted by MiikaH at 10:01

Category:Blender, Development
Tags: Blender, Smoke, Dynamic Paint

Smoke patch is now in trunk

Jul-27-2010    0 Comments

Blender SmokeMy smoke patch is now in Blender trunk! Just grab a build later than SVN r30809 and try it out.

Update includes my new smoke patch and some additions by Daniel Genrich, including GUI adjustments, automatic particle system when creating a smoke flow and adaptive timesteps to ensure stable simulation while having high velocity fluid.

Posted by MiikaH at 16:22

Category:Blender, Development
Tags: Blender, Smoke, Patch, Update

New Blender Smoke Patch

Jul-06-2010    3 Comments

Second smoke patchI have just finished a new patch to improve Blender 2.5 smoke simulator.

The major changes in this patch are:

Smooth High-Res Emitter

When using high resolution, the smoke usually gets blocky around the emitter.
Old Blocky Smoke Smooth Smoke
This patch adds a new setting to use "smooth" emission. (Right image)

Additive Emission

Now it's possible to make emitter to add density values to current density in the scene. So you can use low density emitter, like 0.1, and still have dense smoke. This allows even smoother emission.

Changing smoke vorticity

This patch allows you to change smoke vorticity. It defines how much turbulence or rotation fluid has. So lowering it gives you very smooth smoke.

I made this candle simulation using just 0.1 vorticity:

Some minor updates are: domain border collision settings, "Time Scale" slider and "Initial Velocity" multiplier.

You can check complete changelog here: Patch changelog
And download the patch here: Download the patch

Also my Blender Builds are using this patch. So just download a build here.

Posted by MiikaH at 19:02

Category:Blender, Development
Tags: Blender, Patch, Smoke

Blender fire tutorial is here

May-10-2010    0 Comments

Blender fireI have finished my fire tutorial for Blender 2.5. It took a bit longer than I thought but here it is. There is also a smoke tutorial coming soon.

Anyways, check it out here : Creating realistic fire in Blender 2.5

Posted by MiikaH at 17:22

Category:Site News, Blender, Tutorials
Tags: Blender, Tutorial, Fire, Smoke

Blender smoke + fire tutorial on the way

May-03-2010    0 Comments

There is two new tutorials coming soon: Introduction to Blender smoke simulator and making realistic fire in Blender.

Here is a short animation made from one of my fire tutorial sample *.blend files. Mancandy - the master of fire.

Posted by MiikaH at 19:21

Category:Site News, Blender
Tags: News, Tutorial, Blender, Smoke, Fire

By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2021