0
$\begingroup$

I'm doing a simple test where a cube quickly moves from one place to another, and I wanted to add smoke and particles to it, but I'm guessing they only emit from the mesh in each frame and not from the "trail" that it follows. So the snappy animation leaves a gap inbetween each frame.

enter image description here

One way I could bruteforce it is creating a separate mesh to act as an emitter but that would seem like a ton of work just to solve this simple problem. Should I fiddle with time stretching to give the emitter another frame or is there another solution?

TLDR: How do I interpolate particle and smoke emission inbetween frames?

Edit: I've found a blog post on it but it's only available on an older version of Blender. https://miikahweb.com/en/blog/2013/05/17/blender-smoke-subframes

$\endgroup$

1 Answer 1

2
$\begingroup$

Emission inbetween frames was not only available in older Blender, there are different settings for subframe calculation in current versions, too.

This answer is maybe no perfect solution since I have no idea what your actual settings are for the particles, smoke domain and smoke flow, just general information which values you can try to tweak to get better results.

First of all, as I said I don't know the settings: how fast is this cube moving? Without any subframe calculation, I moved a cube 20 m in 5 frames, and there was no gap inbetween the particle emission as your screenshot shows? So as a basic rule, always make sure you bake dynamics of the particles before you simulate the smoke - incoherent particle simulation data (maybe because of jumping between frames etc.) can lead to weird behaviour of the particles as well as the smoke.

But now on to the different "subframe" settings to maybe get better results:

  1. In the Particle Properties go to Physics > Integration and set Subframes to a value higher than 0, maybe 10 or 20. This might take a little longer to bake, but usually particle bakes don't take that long if you do not have millions of them. and with saying that, make sure you hit Bake or Bake All Dynamics to store the particle simulation before you move over to the smoke simulation. (By the way, the Timestep is seconds per frame, for more realistic simulations you might want to adjust it to the fps you've set for the animation, so e.g. for 30 fps it's 1/30 = 0.033 seconds per frame.)

particle settings

  1. On the Flow object you have the option to set Sampling Substeps higher than 0. Apart from that, just make sure that when you use the particle system as Flow Source, you have to set Flow Behaviour to Inflow, because Geometry will not work (correctly) since particles are not considered geometry. And be aware that changing the settings in the smoke emitter and domain have much more impact on increasing the smoke simulation time than the particle settings on baking earlier.

flow object settings

  1. Finally in the Domain object you can set different values for Use Adaptive Time Steps. This option is enabled by default with a Maximum of 4 and a Minimum of 1. I would recommend to set these values slightly higher, especially the Minimum to at least 2, I often use Max/Min 6/4 or 8/4 - but caution, this can really increase simulation time a lot. For more accurate and stable simulations I would also always suggest to set the Cache > Type to either All or Modular instead of Replay. A last tip: if you change some settings on the Flow object and they don't really seem to affect the simulation in any way, make sure you change some setting on the Domain afterwards as well (maybe increase the Resolution Divisions and decrease it again to the desired value), as often it seems the new Flow settings are not refreshed or re-imported into the Domain if you have not changed anything there.

domain settings

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .