Skip to content

Commit

Permalink
improved view sensor
Browse files Browse the repository at this point in the history
  • Loading branch information
DerKekser committed Dec 6, 2024
1 parent 1391199 commit 7f1d9a1
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
7 changes: 5 additions & 2 deletions Assets/Kekser/Sensors/ViewSensor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,11 @@ protected override Collider[] GetComponentsInSensor()

for (int i = hitObjects.Count - 1; i >= 0; i--)
{
Vector3 closestPoint = (Vector2) hitObjects[i].ClosestPoint(transform.position);
if (Vector3.Angle(closestPoint - transform.position, Vector3.Scale(transform.forward, transform.lossyScale).normalized) > _angle / 2f)
Vector3 closestPoint = hitObjects[i].ClosestPoint(transform.position);
Vector3 delta = (closestPoint - transform.position);
if (delta.sqrMagnitude < Mathf.Epsilon)
continue;
if (Vector3.Angle(delta, Vector3.Scale(transform.forward, transform.lossyScale).normalized) > _angle / 2f)
hitObjects.RemoveAt(i);
}

Expand Down
7 changes: 5 additions & 2 deletions Assets/Kekser/Sensors/ViewSensor2D.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,11 @@ protected override Collider2D[] GetComponentsInSensor()

for (int i = hitObjects.Count - 1; i >= 0; i--)
{
Vector3 closestPoint = (Vector2) hitObjects[i].ClosestPoint(transform.position);
if (Vector2.Angle(closestPoint - transform.position, Vector3.Scale(transform.right, transform.lossyScale).normalized) > _angle / 2f)
Vector3 closestPoint = hitObjects[i].ClosestPoint(transform.position);
Vector3 delta = (closestPoint - transform.position);
if (delta.sqrMagnitude < Mathf.Epsilon)
continue;
if (Vector2.Angle(delta, Vector3.Scale(transform.right, transform.lossyScale).normalized) > _angle / 2f)
hitObjects.RemoveAt(i);
}

Expand Down

0 comments on commit 7f1d9a1

Please sign in to comment.