- Home /
Physics2D.OverlapCircleAll returning colliders outside of the area
I'm using OverlapCircleAll to create a Black Hole effect in my 2D Rogue-LIke game but it seems like it is returning colliders outside of the actual area, im using a range variable both for the overlap method and for a gizmo and enemies outside of the actual gizmo gets affected by my black hole effect but actually in a reverse effect. Here's the code:
void FixedUpdate()
{
Collider2D[] cols = Physics2D.OverlapCircleAll(transform.position, range);
List<Rigidbody2D> rbs = new List<Rigidbody2D>();
foreach (Collider2D c in cols)
{
Rigidbody2D rb = c.attachedRigidbody;
if (rb != null && !rbs.Contains (rb)) {
rbs.Add (rb);
float dist = Vector3.Distance(c.transform.position, transform.position);
Vector3 v = transform.position - rb.transform.position;
if(range >= dist)
rb.AddForce (v.normalized * (1.0f - dist/range) * gravityPower);
}
}
}
void OnDrawGizmos()
{
Gizmos.color = Color.cyan;
Gizmos.DrawWireSphere(transform.position, range);
}
}
I managed to fix it by adding the if-clause before the addforce line but the fact that I had to do that shows that it actually returns enemies that are outside of the range of the overlapcircle since their distance from the gameobject is longer than the range I gave as an argument. I'm having the same issue in some of my other abilities where enemies outside the area are effected and I don't understand what could possibly be wrong.
Here's an example of what happens without that if-clause in place: https://gyazo.com/77473f8cebd3ed71d80a82d7fa2c864a
I do have same problem but I do Have two same scripts that working one is working one isn't??
Dude , did you find a solution?
Your answer
![](https://koobas.hobune.stream/wayback/20220612063455im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Can't get game objects to instantiate at random positions without overlap - please help! 3 Answers
2D Area of Effect Script - OverlapCircle not working 1 Answer
Spawning something if it is not within another object? 1 Answer
OntriggerEnter isn't working. 2 Answers
"Share WebGL Game" is not found in Package Manager 3 Answers