I am trying to get a effect like the old “rotation axis” in the new Shuriken particle system.
If there is a easy method for this please tell me.
My approach to solve this problem was to write a script, which changes the velocity of every particle, but it seems as if GetParticles() does not work for me.
Now the real question:
How do I have to use this method?
Example script that will make all particles red:
public class ParticleBufferAccess : MonoBehaviour
{
private ParticleSystem.Particle particles = new ParticleSystem.Particle[1000];
void LateUpdate()
{
int length = particleSystem.GetParticles(particles);
int i = 0;
while (i < length)
{
particles*.color = Color.red;*
i++;
}
particleSystem.SetParticles(particles, length);
}
}
I’ve noticed that there’s a delay before the GetParticles() function has any particles available, that might be why there’s no particles? I got it working by emitting in Start() and then getting particles in Update().
Thanks @WBDN, I was trying to move particles in other ways but GetParticles(particles) always returned “0”, so no particles at all.
Finally the solution was to allocate space for the particles on declaration:
private ParticleSystem.Particle particles = new ParticleSystem.Particle[1000];
This is hidden in the bottom in Unity’s documentation example, so it would be great if you improve it a little bit 
[Unity - Scripting API: ParticleSystem.GetParticles]