MiikaHweb Blog -> Archive
Blender smoke subframes
May-17-2013 18 CommentsOne 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.
Category:Blender, Development
Tags: Blender, Smoke, Fire
May-18-2013 07:36
May-18-2013 11:11
May-24-2013 02:57
May-24-2013 06:54
May-25-2013 13:41
May-27-2013 00:23
May-28-2013 01:21
May-28-2013 08:11
Thanks for reporting, its now fixed in r57070.
Jun-08-2013 07:24
I'm pretty sure I fixed that already last week. That tutorial was released around same time, so I can assume he was using older build back then.
Jun-09-2013 02:04
Oops, I just realized I had a slightly outdated build of blender.
Jun-09-2013 02:13
Jun-14-2013 19:15
Jun-14-2013 20:42
Jul-09-2013 11:26
Anyway, if the flow isn't moving then there shouldn't be any change in the simulation behavior regardless of subframe count. However, if the flow is moving then simulation obviously changes as well. Otherwise subframes would be useless, right? :p
Jul-10-2013 17:58
Sorry, I need a .blend file. Video tells me nothing about the issue or cause.
If those are particles, have you tried baking them first? Sometimes subframe calculations mess up particles if they are calculated at the same time.
Nov-21-2013 20:12
As far as I can tell that is caused because subframes don't change how often the simulation step happens. Only how often brush is sampled for the next simulation frame.
Your fast moving object of high initial velocity gets emitted in correct place, but is moved on the simulation step by the initial velocity and therefore is out of place.
Only solution I could think of would be to allow setting true subframes for the simulation. But based on my earlier tests, lower simulation step (at least with the simulation algorithm Blender uses) causes simulation to drastically lose detail. So it's definitely not something suitable as a generic option as in "more substeps = better quality"... :(
If you really need this, you can try making that scene over double duration and use domain "time scale" of 0.5. Then playback the result double speed.
Jan-08-2014 15:06
when I have flame emitter object parented to bone in animated armature, the subframes seem not to work(burning torch in hand). It also doesnt work when the motion is a shapekey(like fast flapping burning flag). Cant tell if its a feature or bug:) thx.
Apr-22-2021 06:05