- 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
![](https://koobas.hobune.stream/wayback/20220612162911im_/https://answers.unity.com/themes/thub/images/avi.jpg)
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