Set a range of startSpeed for Shuriken via script

In the editor for an emitter I can set two values for a startSpeed for an emitter to randomize the emissions between these two values (i.e. 1.0, 4.0).

How can I do this in script? The ‘startSpeed’ value is just a single float and not a range.

Are you talking about the ParticleEmitter class? If not, let me know which class you’re dealing with.

If so, it looks like this should do what you want:

ParticleEmitter emitter;
emitter.localVelocity = new Vector3(1.0f, 0, 0);  // assuming speed should be in X
emitter.rndVelocity = new Vector3(3.0f, 0, 0); // max of 4.0 total velocity in the X direction

Does this help?

I’ve just come across the same issue. The class is ParticleSystem and the variable is startSpeed.

The answer by kmeboe appears to be referring to the legacy particle system.

In the ParticleSystem class, startSpeed is treated as a variable, yet in the editor, one can set it to operate in modes (e.g. random between two values). What happens when one changes the startSpeed in script when one sets the startSpeed “variable” to random between two values?

In my case, I’m creating a physics demo, and want to show the difference in the scatterring pattern made by a beam of particles that all have the same velocity, and the pattern when the particles in the beam have a range of velocities.

If the emission rate is reasonably low, then the only fix that I can think of is to set a constant startSpeed to near zero, then scan the array of particles being emitted, and brute-force set the initial velocities to be within the desired range.