MegaFlow Particle Controller
This component allows you to control any Unity Legacy Particle system with a moving flow source. Particles will be influenced by the flow if they are inside the warped path of the flow caused by a moving object, if not inside they will continue moving as if controlled by the particle system. The amount the flow field influences the particles can be controlled by various physics params such as mass and area, and you can select any frame of data from the flow source to be used and adjust the overall force applied by that field.
The physics system used to control the particles has been fully optimized to allow you to control 1000’s of particles if you want, and on devices with multiple cores you can enable the Multi threaded option for even more performance. If you are using the Legacy particle system then there is a Shuriken version of this component that woks just the same but for Shuriken particle systems.
How to use
To use the Moving Source Particle controller you just need to add this component to any object in your scene, once added select the flow moving source you want to use to control the particles, and then select the particle system you want to control. That is all, now it is just a case of tweaking the settings to get the look you want. Also set the Max Particles value to the maximum particles you think the particle will use to make sure the system will control all the particles that might be emitted, usually best to set it to the same value as the Max Particles setting on the particle system. Finally make sure the Simulation Space option for the particle system is set to ‘World’
This section describes the various params used to control the particle interaction with a moving flow source.
MSource
Select the Moving Source you want to control the particles with here.
Framenum
If the flow source has multiple frames of data loaded then this slider will appear so you can select the frame to use.
Particles
The particle system you want to control with this. If left empty the system will automatically use any particle system on the same object.
Max Particles
The max number of particles the system will control, set this to the same value as the particle system you are controlling.
Scale
You can control the overall max force applied by the flow source, this allows you to make you particles move faster, slower or even backwards.
Mass
The mass of the particles being moved, the lower this value the tighter the particles will follow the flow, a value of 0.01 will mean the particles will follow the flow exactly, as the value is increased the particles will be influenced less by the flow so not sticking to the flow direction.
Area
The effective surface area of the particles, increasing this will mean the flow source will have more influence over the particle movement, use along with the mass value to adjust the flow.
dt
The time step used by the physics system. The lower the value the more CPU time the system will use.
Speed
Currently unused.
Gravity
A gravity value which is added to every particle, this is on top of any gravity value used by the particle system.
Use Threading
If your build target has support for multiple cores then this check box will appear this allows you to enable the multi threaded physics option for more performance.
Video Showing Moving Source Legacy Particle Controller
Video showing the moving source being used with this controller to control the smoke particles as the car drives through them.