- Home /
Getting particles from the same system to act differently with different objects?
Hello everyone,
I'm trying to get particles from the same particle system to bounce differently depending on which object they hit. For example, if one collided with object x it would be given a bounce of 3, but if one collided with object y, its bounce would be 0. I've been trying for a few days with different routes and have been.... unsuccessful. I'm wondering really if this is even possible with particles or if I should use rigidbodies instead and make them act like a particle system. However, the particle system allows me to cut a lot of corners in terms of how they would move so I would like to try every particle avenue first. Has anyone had any success with something like this?
This is the code that I have so far - however, I don't think it is affecting the particles individually, rather applying the new bounce to the whole system.
{ public ParticleSystem leafparticles; List collisionEvents; public float bounceamount = 0.5f;
void Start() { collisionEvents = new List(); leafparticles = new ParticleSystem(); }
void OnParticleCollision(GameObject other) {
var particle = GetComponentInChildren(leafparticles); var particleCollision = particle.collision;
if (other.tag == "Obstacle") { print("Particle hit!");
particleCollision.bounce = bounceamount;
} else { particleCollision.bounce = 0; }
}
}
N.B - I've tried watching the scripting particles videos but they don't seem to help as they are not applying any changes to individual particles in a system. Thank you!
Your answer
Follow this Question
Related Questions
Particle system emit false but after true it shows up not emited particles 0 Answers
Smoke Trail General Confusion 1 Answer
Particles in world simulationSpace follow parent transforms Z position 0 Answers
Let Particles sit on Collider without triggering callback - OnParticleCollisionEnter? . 1 Answer