Unity GameObject hinter der Kamera löschen?

2 Antworten

Die Objekte könnten z.B. schauen ob deren z - Koordinate kleiner ist als die der Kamera.

Zudem noch einen offset rein.

float offset = 10;

if(transform.position.z - offset < Camera.main.transform.position.z)
{
  	Destroy(gameObject);
}

Das lässt sich natürlich auf jede Achse anwenden.

Woher ich das weiß:Berufserfahrung
lolofo 
Fragesteller
 19.07.2020, 16:41

Danke für deine Hilfe. Nur weiß ich nicht genau wo ich das Script hinschreiben soll. Im Player oder im Obejct funktioniert das Script nicht.

0

Löschen von nicht sichtbaren Objekten ist vielleicht der falsche Ansatz beziehungsweise ein Optimierungsdetail, was schlussendlich viel Aufwand mit wenig Nutzen bedeutet.

Schau dir beispielsweise Occlusion Culling an. Das macht schon so was in der Art, es "versteckt" Objekte, die nicht im sichtbaren Bereich sind.

Das Löschen von Objekten macht dann Sinn, wenn du beispielsweise ein fortlaufendes Level hast mit pseudo-unendlich vielen Objekten, so dass irgendwann keine Objekte mehr erstellt werden können. Das dauert allerdings sehr lange, bis man den Punkt mal erreicht hat.