- Home /
How can I apply gravity to each particle within a 'Gravity Zone' region?
I have an object with a box trigger collider denoting a region of unique gravity, which I call a Gravity Zone. The idea behind a Gravity Zone is to add an additional effect of gravity in that region, in addition to whatever global gravity setting the scene has.
Gravity Zones have a force vector setting, which can be for example (0, -4, 0). Gravity Zones do two things...
First, they apply the specified force vector to each Rigidbody within the zone, at every FixedUpdate. This means that any object – with a Rigidbody – within the region gets tracked using OnTriggerEnter and OnTriggerExit events to know when it has entered or left, and then each FixedUpdate I am applying the force to all tracked rigidbodies.
Second, they need to apply the specified force vector to each particle within the zone, because I realized simply affecting Rigidbodies would be incomplete, and particles still act as if they weren't in the unique zone of gravity. However, I am unsure of how to get each particle within the zone. If I had them, I could update each of their velocity values by the force amount. Furthermore, I want to modify the force amount by the 'Gravity Modifier' setting of the particle's source Particle System, so I would need a way to get the Particle System that the particle originated from to read that particle's relevant Gravity Modifier setting value.
So to recap:
1. How can I get all of the particles inside my Gravity Zone?
2. How can I get the 'Gravity Modifier' value of the respective Particle System for each of those particles (which may be from multiple different Particle Systems)?
Your answer
Follow this Question
Related Questions
Particle System Overhead 6 Answers
Question on Max Particle Size 0 Answers
Inherit velocity in shuriken particle system goes haywire in build version 0 Answers
How can I change the gravity modifier of a particle system through script? 1 Answer
Particle system does not re-emit until Start Lifetime elapsed 4 Answers