3ncrypt0 Geschrieben 15. Mai 2017 Melden Share Geschrieben 15. Mai 2017 Guten Morgen zusammen, ich habe gestern in einer Map mehrere Meshes zu einem zusammengeführt und dann meine Baked Lighting gestartet - das Ergebnis ist aber alles andere als gut. Auf anderen Maps mit zusammengeführten Meshes hatte ich keine Probleme. Wenn ich das Baked Lighting auf das/die originalen Meshes ausführe, sieht alles gut aus. Indirect Resolution steht nun zwar auf 0.02 und Lightmap Resolution auf 30, aber nur weil ich das backen gestern 4 mal ausgeführt habe und es schon eine Weile dauert. Ich bekomme auch das gleiche Ergebnis mit Indirect Resolution 2 und Lightmap Resolution 40. Auch die Speichergröße der Lightmaps finde ich heftig. Auf normaler Auflösung lag ich bei ca. 80MB (was für mobile schon heftig ist, wie ich finde). Jemand eine Idee, was das sein könnte? Hatte zwar schon viele Probleme mit dem backen, aber noch nie sowas! Danke und VG Jochen EDIT: Hier mal ein Screenshot in der Baked Lightmap View Hier ein Screenshot, wie es bei gleicher Auflösung auf den original Meshes aussieht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mabenan Geschrieben 15. Mai 2017 Melden Share Geschrieben 15. Mai 2017 Das ist doch auch völlig klar die Lightmaps können ja nur eine bestimmte auflösung haben wenn unity nun ein sehr großes mesh auf eine Lightmap proizieren will hat es dafür nicht sehr viel platz heißt es kann weniger pixel für die einzelnen mesh teile aufwenden. Heißt die qualität des lichtes leidet und da jeder Pixel der Lightmap informationen enthält lässt es sich auch schlecht komprimieren und frisst ein haufen speicher. Das ganze lässt sich in der UE4 besser sehen muss ich sagen da man sich dort die generierte lightmap anschauen kann da sieht man dann auch ob es z.B überlagerungen gibt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
malzbie Geschrieben 15. Mai 2017 Melden Share Geschrieben 15. Mai 2017 @3ncrypt0Hast du bei dem zusammengefühten Mesh in den Importeinstellungen mal den Haken "Generate Lightmap UVs" gesetzt? Ich hatte mich selber erst letztens Dumm und Dämlich gesucht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
3ncrypt0 Geschrieben 15. Mai 2017 Autor Melden Share Geschrieben 15. Mai 2017 Hi, das kann ich so nicht ganz nachvollziehen, da es auf anderen Maps in ähnlicher Größe auch funktioniert hat. Es werden ja je nach Bedarf mehrere Lightmaps angelegt. In dem ersten Screenshot sind es z.B. 18 Stück. Zudem habe ich gerade eben einfach nur einen Turm als zusammengeführtes Mesh genommen und dann den Bake Prozess gestartet mit dem gleichen Ergebnis! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
3ncrypt0 Geschrieben 15. Mai 2017 Autor Melden Share Geschrieben 15. Mai 2017 vor 3 Minuten schrieb malzbie: @3ncrypt0Hast du bei dem zusammengefühten Mesh in den Importeinstellungen mal den Haken "Generate Lightmap UVs" gesetzt? Ich hatte mich selber erst letztens Dumm und Dämlich gesucht. Hi @malzbie, ich verwende zum zusammenführen der Meshes hier ein Plugin.Auf dem original Mesh ist die Option allerdings gesetzt. VG Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
malzbie Geschrieben 15. Mai 2017 Melden Share Geschrieben 15. Mai 2017 Ah ok. Ich dachte, du hättest das Mesh in einem 3D Programm zusammengesetzt. Das PlugIn scheint dann aber genau diese UVMap nicht sauber zu erzeugen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
3ncrypt0 Geschrieben 15. Mai 2017 Autor Melden Share Geschrieben 15. Mai 2017 Ja, genau davon gehe ich gerade auch mal aus - das Mesh ist jetzt auch nicht das sauberste, war halt ein Asset aus dem Store Dann werde ich wohl heute Abend mal mein 3D Programm anwerfen und die Objekte selber modeln. (Wenn das Texturieren nicht immer so lange dauern würde...und dabei setze ich schon Quixel ein). Danke und VG Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 15. Mai 2017 Melden Share Geschrieben 15. Mai 2017 Du kannst wohl die UV2 Map von dem kombinierten Mesh im Editor mit folgender Editorklasse erzeugen lassen:https://docs.unity3d.com/ScriptReference/Unwrapping.GenerateSecondaryUVSet.html Hier ist ein Codebeispiel, wie man es verwenden kann (CombineChildrenAdvanced.cs):https://forum.unity3d.com/threads/generatesecondaryuvset-destroying-mesh.159693/ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
3ncrypt0 Geschrieben 19. Mai 2017 Autor Melden Share Geschrieben 19. Mai 2017 Guten Morgen zusammen, @Zer0Cool Die Idee ist nicht schlecht, allerdings hat das auch nichts gebracht - Ich habe die Idee mit den Models nun erst einmal verworfen und werde die wohl nocheinmal komplett neu moddeln. Allerdings stehe ich gerade vor einem anderen kleinem Problem, welches hier auch reinpasst (bevor ich einen neuen Thread aufmache). Ich habe mein Terrain zu einem Mesh gewandelt für bessere Performance auf dem mobil Gerät. Allerdings, kann ich meine Scene nun nicht mehr baken? Er hängt bei 5/11 Clustering | 1 Job. Auch wenn ich nur dieses eine Mesh aktiviert habe. Das Terrain hat die Größe 500x500. Ich hänge mal einen Screen an. Ich habe auch schon Lightmap Size vergrößert und Scale in Lightmap auch schon auf 0.01. Ich kann zwar das Mesh in mehrere Teile generieren, allerdings erhalte ich dann so doofe Schatten an manchen Stellen. Oder ist das die einzige Möglichkeit, da das Terrain Mesh zu groß ist? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
malzbie Geschrieben 19. Mai 2017 Melden Share Geschrieben 19. Mai 2017 Ich denke er hat einfach nur zu tun und irgendwann wird er über die 5/11 hinweg gehen. Stell doch mal testweise die Resolution von 20 runter auf 4. Nur um zu sehen, ob er es fertig bekommt, oder ob evtl. ein Fehler im Mesh ist, der den Vorgang so stark verzögert. An der Größe des Meshes sollte es echt nicht liegen. Ich sehe da jedenfalls kein Problem. Aber natürlich hat das Mesh echt Optimierungspotential, wenn ich da die ganzen Polys auf der Ebene sehe. Grob geschätzt kannst du da 4000 Polys einsparen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
3ncrypt0 Geschrieben 19. Mai 2017 Autor Melden Share Geschrieben 19. Mai 2017 Es scheint tatsächlich an der Größe zu liegen https://forum.unity3d.com/threads/light-transport-problem-with-large-objects.310405/ Ich habe das Mesh erst einmal in 5x5 aufgeteilt, den Meshes in den Lightmap Settings Low Parameter zugewiesen und Scale in Lightmap auf 0.05 und es ging relativ schnell (15min ca.) Das Ergebnis gefiel mir natürlich nicht (ist auch erst eine Testscene - will aber wissen was da geht). Nun habe ich das Mesh in 12x12 aufgeteilt und lasse es ohne Veränderung an den Settings laufen. Er ist auch direkt durch das Clustering so gelaufen. Natürlich habe ich nun 144 Objekte nur als Terrain. Ob das einen Vorteil bringt bleibt abzuwarten. Ich könnte evt. mit Occlusion Culling versuchen noch etwas rauszuholen. Aber die DC steigen trotzdem. Mal abwarten, was dabei gleich rauskommt... Und ja, das Mesh ist wirklich etwas heftig - habe aber ein Plugin verwendet Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 19. Mai 2017 Melden Share Geschrieben 19. Mai 2017 Ich hatte auch schon einmal ein größeres Mesh und das Baken ging hier auch in den "Endlosmodus" über. Es scheint hier noch einen Fehler in Unity zu geben. Das Einzige was geholfen hatte, war das Mesh zu runter zu skalieren (1:10 oder 1:5) und dann zu Baken. Beim Skalieren in Unity muss man allerdings aufpassen, auch über den Inspektor ging das Skalieren bei mir schief (das Mesh wurde dabei verzerrt), daher hatte ich damals ein Skript in Unity zum Skalieren verwendet. Wenn man das Mesh runterskaliert, dann ist das Baken kein Problem mehr, man kann die Auflösung des Bakens wieder erhöhen, so daß das Ergebnis dann insgesamt wieder passt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
3ncrypt0 Geschrieben 19. Mai 2017 Autor Melden Share Geschrieben 19. Mai 2017 Hi, @Zer0Cool Das habe ich gerade eben mal ausprobiert. Ich habe alle Objekte in ein EmptyGO gepackt, dieses dann auf 0.1 runterskaliert und den Bake Prozess angeworfen. Nach 30sec war er fertig. Dann habe ich Lightmap Resolution auf 40 gesetzt und es dauerte insgesamt ca. 3min. Dann habe ich das Objekt wieder auf 1 skaliert, jedoch ist das Ergebnis nicht sooo hübsch. Ich taste mich gerade einmal ran und erhöhe immer weiter die Lightmap Resolution. Auch interessant ist, dass ich nun anstatt 20MB Lightmaps nur noch 2,7MB habe. Sobald ich z.B. die Skalierung auf 0.15 setze, geht garnichts mehr - dann dauert es 5 mal so lange. Hier mal ein vergleich: Hier jetzt einmal das Ergebnis mit einer Lightmap Resolution von 200. Bakezeit ca. 7-8min. Lightmapgröße 5,3MB. Allerdings finde ich die "Dreiecke" an den Balken komisch. Da dürfte eigentlich kein Schatten sein, da aus der Richtung das Licht kommt. Scheint so, als würde dass von den inneren Balken gespiegelt werden. Kann auch sein, dass ich da einen UVW Fehler eingebaut habe.... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 19. Mai 2017 Melden Share Geschrieben 19. Mai 2017 Ich hatte (1:10 runterskaliert): - Resolution auf 40 - Padding 3 - Compressed aus (kann Artefakte verursachen) - Ambient Occlusion ein ( 1 2 2) - Final gather an (1024 Denosing an) (verbessert Qualität) - Atlas Size 2048 - Directional (verbessert Qualität) - Indirect 1 - Boost 1 und dann noch auf dem Object selber: - Scale in Lightmap: 2 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.