Jump to content
Unity Insider Forum

"LOD" System für die Performance


w0rks

Recommended Posts

Hallo liebe Unity Provis ^_^ Ich habe da eine Frage weil ich mich mit dem Thema "fast" nicht auskenne.

Ich weis was das "LOD" System ist und wie es Funktioniert. Aber ich habe das Problem das ich mir sehr Oft Assets kaufe im Store, die kein LOD System haben.

Mit der Zeit sammeln sich Viele Objekte im Level und schädigen somit die Performance, weil sie alle Detailliert dargestellt werden obwohl man sehr weit weg ist -_-

 

Ich habe im Asset Store, das hier gefunden und frage mich ob es mir hilft, deswegen wollte ich hier auf Nummer sicher gehen.

https://assetstore.unity.com/packages/tools/modeling/automatic-lod-43652

 

Wie muss ich das denn anwenden wenn ich es mir gekauft habe ? Einfach den Skript auf das Model packen und einstellen ?

LG          w0rks   ^_^

Link zu diesem Kommentar
Auf anderen Seiten teilen

LOD ist hier nicht die Lösung deiner Probleme. LOD basiert auf dem Grundsatz, dass Objekte, wenn sie nur soundsoviel Platz auf dem Bildschirm einnehmen, maximal soundsoeinen Detailgrad brauchen, da man mehr Details sowieso nicht mehr wahrnehmen würde. Du redest hier von einem etwas größeren Raum, also ist alles innerhalb weniger Schritte erreichbar. Wenn du jetzt sagst "Alles ab 2m Entfernung wird runterskaliert", dann wird man sowohl die niedrigere Qualität als auch den Wechsel zwischen den Stufen mit Sicherheit deutlich wahrnehmen.

Um deine Frage zu beantworten: Ja, es gibt viele Tools zum automatisierten Reduzieren von Polygonen. Das Renderprogramm deiner Wahl wird sicherlich auch etwas eingebautes dabei haben. Am Ende erzeugst du so oder so verschiedene Meshes und lässt die LODGroup-Komponente diese automatisch je nach Distanz zur Kamera austauschen.

Aber um das mit der Performance in Angriff zu nehmen: Du solltest für Echtzeitgrafik wesentlich sparsamer mit Polygonen umgehen. Ich sehe da sehr viele Stellen, die unnötig viele Polygone haben, wo eine einfache Alphamap und hier und da eine Normalmap ausreichen würden.

Beim Geländer oben im Bild und bei den Verzierungen im Tischbein solltest du keinesfalls alles mit Polygonen modellieren, sondern solltest einfach eine Fläche hinsetzen und diese mit einer Textur versehen, die bei den Löchern, also da, wo das Geländer durchlässig ist, transparent ist. Dann den Shader entsprechend auf AlphaTest stellen und es sieht fast genauso aus wie jetzt. Mit einer Normalmap lassen sich die letzten Unterschiede noch ausbügeln.

Dann ist da noch der Beistelltisch mit den kurvigen Beinen. Wenn die Beine nicht ganz so kurvig sind, wird das wirklich niemand bemängeln. Reduziere da - gerne automatisiert in deinem Modellingprogramm - die Polygonzahl. Ich gehe stark davon aus, dass dasselbe für die anderen Möbel und die Kissen auch gilt.

Gleichermaßen:

vor 34 Minuten schrieb w0rks:

Später möchte ich noch Tausende von Bücher in die Regale packen damit es nach etwas aussieht.

Da packst du lieber nicht lauter einzelne Bücher rein, sondern ein einzelnes 3D-Modell, das aus lauter Büchern besteht. Entweder ein Modell pro Schrank, oder eines pro Ebene. Nur, wenn die sich unabhängig voneinander bewegen können müssen, ist es sinnvoll, einzelne Bücher zu machen.

Öffne einfach mal ein beliebiges 3D-Spiel und schau dir mal genau an, wie viele Polygone die einzelnen Dinge haben - und zwar aus nächster Nähe. Auch die schönsten Spiele benutzen keine High-Poly-Modelle, sondern reduzierte Versionen dessen, was die 3D Artists so erstellen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für deine sehr ausführliche Beschreibung, was ich alles verbessern müsste :D Die Assets sind eigentlich sehr Performant zugegeben.

- Das Beistelltischchen hat fast 3000 verts,

- Das Stuhl Modell hat 2600verts,

- Das Sofa hat fast Gar nichts, 4300verts (+ Kissen)

Auf jeden fall, habe ich keinen Anhaltspunkt, wieso die Ruckler entstehen. Kann ich das irgendwie heraus finden ?

Außerdem: Die meisten Assets (Im Bild Abgebildet) habe ich gar nicht selbst gemacht, die stammen aus dem Asset Store °° Ich glaube nicht das ich die bearbeiten kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 22 Stunden schrieb w0rks:

Mit der Zeit sammeln sich Viele Objekte im Level und schädigen somit die Performance, weil sie alle Detailliert dargestellt werden obwohl man sehr weit weg ist -_-

Wieviel Polygone hast du insgesamt in der Szene? Vielleicht liegt es gar nicht daran.

Ansonsten kannst du, soweit es geht mit einem Modellierungs Programm bischen Polygone entfernen lassen. Z.B in Blender hast du doch Decimate Modifier, mit dem sich Polygone ziemlich gut algorithmus mäßig entfernen lassen. An Stellen, wo Modell zu stark an Qualität verliert, dann halt per Hand bischen aufbessern. Bei gesculpteten Modellen sollte man liebermit Retopologie anpassen. Dazu gibts in Blender ebenfalls gute Hilfwerkzeuge.

Schau dir das Video an:

/watch?v=2hEHtKH55Us

Aber wie Sascha schon sagte, in einem kleinen Raum machen LODs wenig Sinn, da das Stufelwechsel zwischen LODs viel zu auffällig wird.

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja es liegt 100% an der Polygon Anzahl in der Scene, durch das Duplizieren von denn Ganzen Objekten. Wenn ein Stuhl 2646 verts. hat, und ich dupliziere denn 40 mall dann kommt man allein schon auf die 105.000 Polys. Dann die Regale mall 30 usw. Aber ich finde das echt krass wie einfach man das in Blender importieren kann :D Jetzt kann ich die Polys bei vielen Modellen runter schrauben, danke Sascha für die Info.

Aber das LOD System im Store kann mir doch auch sicherlich helfen bei dieser Scene ? oder ?, weil die Bibliothek ist schon Recht Groß.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...