Bei einem
3D-Jump&Run gehe ich jetzt mal davon aus das da räumliche Tiefe vorhanden ist und LoDs somit ne gute Idee sind.
Anders verhält es sich natürlich mit sog. 2.5D Spielen, wo das Spiel zwar auf einer oder mehreren 2D Ebenen abläuft, die Assets aber in 3D erstellt wurden. (z.B. New Super Mario Bros, Donkey Kong Country Returns oder Trine)
Hier sind LoDs für besonders Polygonintensive Objekte unter Umständen auch Sinnvoll z.B. um mittlere und niedrige Detailstufen auf weniger Leistungsfähiger PC Hardware zu ermöglichen oder wenn trotz 2D Spielprinzip an bestimmten Stellen ein- und ausgezoomt wird. Natürlich kann man den Arbeitsaufwand durch gute Planung der Level hier durchaus reduzieren, so das man nicht überall mehrere Detailstufen benötigt.
Da 2.5D Spiele aber selten bis ans Limit gehen was die Polygonzahl auf dem Bildschirm angeht, sollte es bei einem vernünftigen Resourcenmanagment selbst ohne LoDs kaum probleme geben.
Man kann hier relativ gut planen wie viele Objekte und somit Polygone in einer Szene gleichzeitig auf dem Bildschirm dargestellt werden und wenn es in bestimmten Szenen zu Framedrops kommt, kann man dann speziell in diesen Szenen optimieren und z.B. die Anzahl der Objekte und Effekte oder deren Komplexität reduzieren.
Wie viele LoD-Stufen sollte man denn bei einem 3D-Jump&Run einplanen?
Das hängt in erster Linie davon ab, wie weit sich die Objekte von der Kamera entfernen können.
Bei großen offen gestalteten Welten darf man ruhig bis zur minimal möglichen Polygonzahl reduzieren - sind es eher kleine geschlossene Areale mit viel Verdeckung, muss man es damit nicht unbedingt übertreiben.
Dann kommt es noch darauf an, wie detailiert das Objekt bei vollen Details ist und ob eine Reduzierung der Polygonzahl noch genug Polygone einsparen kann.
Generell ist ein LoD immer sinnvoll wenn das Objekt um mindestens 40-50% Polygone verringert werden kann.
Wenn aus 1000 nur 950 Polygone werden dann kostet das LoD mehr Resourcen als es Nutzen bringt.
Wenn aber aus 1000 plötzlich 500 Polygone werden können, dann sollte man das tun.
Hier mal ein etwas älteres Beispiel von mir:
Von fast 4000 auf ca. 1000 bzw. von ca. 1000 auf ca. 400 sind schon keine schlechten Einsparungen.
Bei niedrigeren LoDs kann man meist auch bestimmte Details komplett weglassen, da die Entfernung zu groß ist um diese noch zu erkennen und die Form muss auch nicht mehr so genau gehalten werden.
Gerade bei Zylindrischen Formen lässt sich bei den Rotationssegmenten und bei rundungen auch bei den Loops kräftig einsparen.
Gute Planung ist hier von Vorteil. So lässt sich aus einem 24-seitigen sehr gut ein 12-seitiger und daraus ein 6-seitiger Zylinder ableiten. Aus 32 wird 16, wird 8, wird 4.
Man sollte auch darauf achten, das die Nahtstellen der UV map günstig liegen, damit man die selbe Textur für alle LoDs nutzen kann.
D.h. die Kante an der die UV Insel eines Zylinders aufgetrennt wird, sollte auf allen LoD-Stufen erhalten bleiben.
Da gehört etwas Erfahrung dazu, um zu wissen wie man im jeweiligen 3D Programm Kanten auflöst und Polygone verschmelzt ohne die UV map zu beschädigen.
Unterschiedliche Texturen für LoDs sollten die Ausnahme bleiben und Situationsbedingt z.B. für den Switch von 3D Mesh zu Card-Tree genutzt werden. Texture LoDs werden ja durch das Mipmaping automatisch angelegt.