Fume follow find target but with Stoke.


Hi, I am looking into some workflow options and I think Stoke might be what I need to use. The basic setup would be Fume FX simulation that after a while start forming an object but still keeps some of the fume motion/velocity. (rendered with Krakatoa)

I tired this in PFlow but the results are not natural. Fume follow > find target > lockbond. See the link below

Would it be a option to make two fume simulations and use the one velocity field in reverse (rename the files). One fume FX simulation of the object dissipating and one fume FX simulation going towards the object.

I am totally over complicating things here? Any advice would be much appreciated.

Can this also be an option? “Field From A Mesh Surface”




Actually, you don’t need to rename any files - just make a Stoke Field Loader, pick the FXD sequence of the FumeFX simulation, set the Playback Graph to go backwards in time, and your file sequence will read backwards. Then you just need to pick that field via InputField in a Stoke Field Magma and multiply the Velocity by -1 to invert the direction of the Velocity field so it points towards the mesh emitter instead of away from it.
Then you will need to blend that field with the straight FumeFX driving the base simulation, possibly based on distance from the emitters (so the closer you are to the goal mesh, the stronger its influence would be relative the original driving field).

You could use this new field in a Stoke Field Follow in Particle Flow so you could still use other operators, collision tests, events etc. The Stoke Particle Simulator would be faster, but it has a bit less control over the particles’ life.

However, I have not tested this myself, so I am not sure how “natural” it will look. But it sounds like a wonderful challenge :slight_smile:


Fantastic thanks! I have managed to revers the fume fx sim and it is driving pflow particles (this is amazing in its self) I dont understand the magma flow just yet. How to invert the velocity. I attached a screen shot of how little I understand. Could you please take a look?


Here is what to do:

  • Select the Stoke Field Loader before creating the Stoke Field Magma.
  • Move to the frame where the Stoke Field Loader’s grid is the largest (in your case, it might be frame 0 after the retiming).
  • Create a Stoke Field Magma from the Stoke menu while holding down SHIFT - the field’s bounding box will be set to match the size of the Stoke Field Loader.
  • Open the Magma Editor - you will see a Velocity and a Density outputs already existing
  • Create an ImportField operator (like you did), and pick the Stoke Field Loader as the Field Object.
  • Connect the Velocity output socket to the Velocity output node directly. You don’t need a ToVector because Velocity is already a Vector.
  • Click the Position input socket’s red square and drag an empty wire, then release it over an empty area of the editor - an InputChannel Position node will be created and connected. This will sample the grid positions and read the Stoke Field Loader’s values.

RESULT: At this point, the Stoke Field Magma will contain more or less the same Velocity field as the FumeFX sim loaded by the Stoke Field Loader, except that its grid size might be different. You will have to enter the Spacing of the FumeFX sim manually to match.

To reverse the direction of the Velocities, simply

  • Select the wire connecting the Velocity output socket of the InputField to Velocity Output node.
  • Press A for Arithmetic, then N for Negate. This is equivalent to multiplying the Vector by -1.
    (The alternative would be to press the * key on the Numpad to insert a Multiply operator, and then enter -1.0 for the “Right Value” in the Editor’s command panel).

RESULT: The Velocity field will be reversed, with all vectors pointing in the opposite direction. Together with the reversed timing, you should now have a field that flows towards the FumeFX emitter.