Zunächst einmal besitze ich Unity Pro.
Ich habe versucht, Lichter zu verschließen, wenn sie eine Weile nicht mehr angezeigt werden, um die Leistung zu verbessern. Die Hauptmethoden, auf die ich gestoßen bin, waren die Verwendung von BecameVisible () und das Testen des Kamerastumpfs.
Mein Hauptproblem war, dass ich immer noch möchte, dass das Licht eingeschaltet ist, wenn der Player einen Bereich betrachtet, der vom Licht beleuchtet wird.
Derzeit verwende ich eine Methode, mit der überprüft wird, ob sich der beleuchtete Bereich im Kegelstumpf befindet. Das Problem ist jedoch, dass sich manchmal Lichter im Kegelstumpf befinden, ohne dass der Spieler sie tatsächlich sehen kann (z. B. eine Wand zwischen ihnen und dem Spieler). Ich habe Raycasting für sie versucht, aber Sie können nie detailliert genug für den tatsächlich beleuchteten Bereich werden (das Beste, was ich herausfinden konnte, war die Verwendung von renderer.bounds.extent und renderer.bounds.center, um die maximal beleuchteten Punkte aus dem Licht zu berechnen).
Kennt jemand eine einfache Möglichkeit in Unity Pro, Lichter zu verschließen? Oder können Sie mir einen guten Weg nennen, um diese Kamera-Drehpunktmethode zu verwenden, über die ich gesprochen habe?