Particle goals possible

Anyone know if there is anyway to setup particle goals in Cascade. Like, I want a particle system to travel to a goal object and then back again. I see there are attractors but that is just a single point in space. Any ideas?

Hey Walkinginspace -

You can use the Direct Location module with a Constant Curve Distribution In Val 0 would be 0 for Time 0 Out Val 0 would be the origin or initial location you want the particles to spawn at, In Val 1 would be 1 for Lifetime of your Particle System Out Val 1 would be the vector location of your goal. You can manually enter these locations or through the Vector Particle Parameter drop down you can use blueprints to pull the information from your objects and actors in the level. (If your goal is moving I would absolutely pull from the Blueprint).

Thank You

Eric Ketchum

Awesome! Thanks for that information. I’m still very new to Blueprints and UE 4, can you explain the process of using the VPP dropdown and pulling that information through Blueprints. I’ll give it a go, but would love some more details on that. I see a lot of people with questions about the Particle Parameters and doesn’t seem to be much documentation on it. Thanks again for your help!


Hey -

Sure here is a visual for you:

In whatever module you want to use the BP controlled Parameter set the Distribution to VectorParticle Parameter this will open the Min Input, Max Input, Min Output, Max Output and Constant sections. The Min and Max Values in Input and Output set what Cascade and the emitter sees as the values so if you set a min input of 2 and a min output of 1 and your BP set the value to 1 then the output would be 2. Those areas essentially act as clamps. The Constant is more for testing but can be set to have the emitter always execute a certain value, think about a water fountain that is constantly running then occasionally spitting higher. I usually don’t use the constant and leave it at 0. In the example above, I actually have it set to constantly give a random value between a range which is the equivalent of a Vector Uniform Distribution in Cascade.

Finally make sure your Parameter Name matches. I almost always check this first if I have a problem.

Hopefully that helps you get started, if you have further questions please let me know -

Eric Ketchum

Thanks a ton for this. I’ll get cracking on it now! I’ll let you know how it goes. I’m sure a working version will be something a lot of people will be interested in.

Thanks again!

So here’s the basic idea…now, I just need the vector particle params right? Still not sure how to do that. I see in your example i see the size vector. I’m not sure how to make the vector change…like is it one parameter that gets set? I get confused when I read the above…thanks again for your help, I think i’m almost there!

Also does direct Location just effect the particle or the emitter. To make the emitter move do I use something else. If it’s a school of fish, makes sense the emitter will move to keep the fish movement going…maybe? I’m admittedly in over my head:)

So this does what I need. But one problem. The particle system jumps from one point to the other really fast. Is there some way to make them move in a fluid fashion, animated to the other point?

Thanks again!

So this has the emitter moving issues solved! Now, next step is to increase the drag on the particles, so they can have a school of fish type movement…any hints? I’m thinking I can just take the output of the lerp and run it into a vector param…

Hey -

Yes that exactly how I would do it in this setup. Excellent problem solving,

Eric Ketchum

Pull off the vector and Break Vector (Node’s name) then you can choose from the XYZ float values.

One issue i’m running into. If I want to adjust one parameter input say drag amount…the vector output from the Lerp has 3 values…how do i break out just one value to be input-ed into the other one value…or does it just do it automatically?

Do I need to do that both for the lerp output and the particle param input?

You are trying to plug in a Float Value into your Parameter so just off of the Output of the Lerp.

If you are using a Vector Parameter from Cascade then the Parameter needs a Vector input (which is made of 3 float values representing the XYZ axis values). Most parameters in Cascade are vector so taking a value from your Lerp (assuming its a Vector Lerp) you can input into the parameter directly without breaking anything.


what’s confusing is the parameter looks like it’s taking 3 values in…so i’m not sure how i can correspond to just one value on a parameter in cascade…