Wie finde ich die X-Objekte, die transform.position am nächsten liegen?C#

Ein Treffpunkt für C#-Programmierer
Guest
 Wie finde ich die X-Objekte, die transform.position am nächsten liegen?

Post by Guest »

Dieser Code zeigt, wie ich das einzelne nächstgelegene Objekt (z. B. Collider) innerhalb einer Gruppe getroffener Collider finde. Ich möchte die 4 nächstgelegenen Objekte finden. (diese Zahl könnte sich erhöhen)
Collider closestCollider = null;
float closestColliderDistance = float.PositiveInfinity;

foreach (Collider collider in hitColliders)
{
float distance = Vector3.Distance(collider.transform.position, transform.position);
if (distance < closestColliderDistance)
{
closestColliderDistance = distance;
closestCollider = collider;
}
}
if (closestCollider != null)
{
// handle it
}


Ich möchte also eine Gruppe (z. B. ein Array) der 4 Objekte zurückgeben, die transform.position am nächsten liegen. Das muss nicht sortiert werden. Es kann auf diesem Code oder einem völlig neuen Code basieren.
Vielleicht könnte es sich um eine Art Liste handeln, die nach Entfernung sortiert wird und dann die obersten X Elemente erhält. Vielleicht Linq? (Ich bin mir nicht sicher, wie man es benutzt)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post