When using orbit module particles stay when emitter is moved

So i have a weird problem. I have a group of particles that I have an orbit module on. When I move the emitter, the particles don’t move, they just keep orbiting. I’m trying to make it so when the emitter is moved, the particles will disperse a bit and then start orbit at the next point where the emitter moves too. Any ideas on this? I tried using parent velocity but that doesn’t seem to affect it. My init velocity is set to constant 0 for all axis.

Thanks!

Maybe I’m missing something. But I have tried and tried to get particles to act like swimming fish, and keep hitting a wall. I really would love to know if it’s just my limited knowledge of UE or if it’s just not capable of this type of particle movement. I don’t want to keep hitting a dead horse if it’s just beyond the realm of Cascade. No one seems to be running into these issues but then again I can’t really find anyone doing this type of movement either. Is Cascade really just good for explosions and simple particles or can it be used for this type of complex motion. I would love to know anyone thoughts on this.

Seems alot of the main modules require particles to have lifetimes. If I want the objects to stay visible the whole time and not die, it seems to limit things. I can’t use Vel/Time at all with that. There must be some way.

Hey walkinginspace -

You can in fact get movement like you are looking for using Cascade and Blueprints. I created an example for you to look through. Some important things to note about this example, I am using a mesh emitter and the tail movement on the fish is done through a vertex shader (World Position Offset and Morph Targets). With the settings I am showing in Cascade, the mesh must be aligned facing the positive X Axis.

See the attached MP4 video in the [Zip File][1] to see the final render.

Here is the Cascade modules’ detail panels: (Note: The Sphere module does not need to be Seeded.)

Here is the Event Graph of the Actor Blueprint required to achieve the Swimming Off effect: (Note: The Blueprint’s Components only contains the Particle System itself, referenced as the variable ‘SlappytheFish’ and I also forgot to add a deactivate node for both emitters once they have been sized down to 0. This is a performance issue and should be included.)

You would add a Deactivate Node for ‘SlappytheFish’ after the finished off the Exchange Timeline and before the Play from Start Control Timeline. You would then add another Deactivate node, this time for ‘Fish Swimming Off’ after the Finished from the Control Timeline.

Thank You

Eric Ketchum

Thanks so much Eric! I gotta ask are you the only person that responds to hard questions?:slight_smile: You must spend your whole day answering things. I will check your project out ASAP! Again thanks a heap!

Thanks so much for those images. In your example the fish just kinda all spread from a center point. I’m looking for the fish swimming away in a school. So they usually swim around like in the beginning of your example then if something gets close they all swim away in the same direction, as a school just going away together. Does that make sense. The problem I’m running into is keeping them together but not with the same motion as when they are idle. In Maya you would setup a goal, then when you want, all the fish would swim to that goal, together, with the same velocity. Then they would continue back to there normal behavior…

They would just all spread out in random directions like an explosion…this behavior is done with Boids with a attractor, but my using the attractor module in cascade doesn’t seem to be doing what boids does.

Hey walkinginspace -

You can take my example and extend it to the next level so I just do an exchange with a particle system in which the velocity on the Sphere module is high and creates the scatter effect. Instead you could change the particle system to one with the fish swimming in one direction via velocity and initial location will give them the schooling effect and then once in the new location swap out again for the original orbit module.

Alternatively you could try to do the whole thing with GPU particles and a vector field.

Eric Ketchum

Great, thanks for all the help! I’ll keep at it. The vector field approach may be good, just don’t know how heavy that will get with several dozen of these in a level…

this is the kind of behavior i’m looking for…still can’t figure it out