Was wäre denn eine gute Möglichkeit die Sichtbarkeit der vielen Objekte die da sind in Abhängigkeit von der Entfernung zur Kamera dynamisch zu ändern?
Ich hab schon versucht einen Thread im Hintergrund laufen zu lassen, der regelmäßig alle bekannten Objekte durchgeht, deren Entfernung feststellt und entsprechend die Sichtbarkeit setzt. Allerdings hab ich dabei entweder irgendetwas falsch gemacht, oder aber diese Mechanik kommt sich mit irgendwas anderem in die Quere, weil ich Objekte habe (in und außerhalb des Sichtbereichs) die aufpoppen und wieder verschwinden. Wenn das nur innerhalb des maximalen Sichtbarkeitsbereichs passieren würde, hätte ich "Config.maxPolysVisible" im Verdacht, aber da das auch außerhalb passiert, halte ich das für eher unwahrscheinlich (weil warum sollte die Engine, Objekte, die explizit auf visible(false) gesetzt sind, abhängig von maxPolysVisible wieder sichtbar machen?)
Die Sichtbarkeit setze ich grob wie folgt (nur halt in ner Schleife):
SimpleVector camPosition = world.getCamera().getPosition();
SimpleVector objectPosition = object.getTransformedCenter();
float distance = objectPosition.distance(camPosition);
if(distance > MAX_VIEW_DISTANCE) {
if(object.getVisibility()) {
object.setVisibility(false);
}
} else if(!object.getVisibility()) {
object.setVisibility(true);
}