Jump to content
Unity Insider Forum

Dauer der Berechnung einer Szene


grinseengel

Recommended Posts

Hallo, ich bin neu hier im Forum und bezüglich der Nutzung von Unity. In der Vergangenheit habe ich mich schon mit anderen Gameengines beschäftigt und möchte jetzt den Umstieg meistern.

Es gibt ja zahlreiche Video-Tutorial die auch sehr hilfreich sind. Allerdings stehe ich jetzt vor einem Problem zu dem ich noch nichts gefunden habe. Ich suche Einstellungen im Editor mit denen ich die Qualität und damit die Dauer für die Berechnung eines Levels einstellen kann. Ich habe im Moment ein Level mit einem Terrain und ein paar kleinen Häusern erstellt. Im Prinzip nichts sonderlich aufregendes. Ich möchte ja erstmal den Einstieg hinbekommen. Jetzt zu meiner Frage: Die Berechnung dieses kleinen Levels benötigt im Moment 6 Stunden. Wenn ich da noch eine paar mehr Modelle etc. einsetze dann wird das ja eine Gedultsprobe. Ich kann mir nicht vorstellen das Unity für die Berechnung grundsätzlich so viel Zeit benötigt. Also habe ich bestimmt bei den Einstellungen etwas nicht korrekt gemacht.

Kann mir jemand helfen?

Gruß, Andreas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was meinst du mit Berechnung des Levels, Unity ist eine "Echtzeit"-3D-Engine? Meinst du vielleicht die Berechnung der Lightmap für die aktuelle Szene die Unity im "Hintergrund" durchführt? Dies ist zwar die Default-Einstellung, aber man kann die automatische Erstellung deaktivieren und dein Level muss keine Lightmap verwenden (die Lichtquellen werden dann zur Laufzeit berechnet).
Falls du die Lightmap meintest, 6 Stunden sind schon ziemlich viel für die Berechnung der Lightmap für ein kleines Level. Man kann bei den Settings für die Berechnung der Lightmap die "Auflösung" verringern (Qualität), wodurch die Berechnung der Lightmap beschleunigt wird. Nach meinen Erfahrungen kann es bei der Berechnung Probleme geben, wenn zu komplexe Meshes oder Meshes verwendet werden, die übermäßig groß skaliert sind.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Zer0Cool,

vielen Dank für deine schnelle Antwort. Evtl. habe ich ja mit dem Gebriff "kleines Level" etwas untertrieben. Ich habe bisher mit meinen anderen Gameengine-Versuchen als Ziel gehabt ein kleines RPG Spiel zu erstellen. Somit habe ich jetzt in Unity mit dem Terrain angefangen und wollte dieses dann nach und nach gestalten. Da ich nicht so der Terrainersteller bin habe ich mir ein Terrain im Asset-Store gekauft. Das ist ein bergiges Gras Terrain mit der Größe von 4000x4000. Dieses ist fertig textuiert.

Ich glaube da bin ich dann doch etwas zu groß rangegangen. Jetzt ist mir auch klar warum ich unten rechts am Bildschirm einen Berechnungsbalken sehe. Allerdings ist da nichts mit Echtzeit, weil es etwa 4 Stunden dauert bist dieser Berechnungsbalken durchgelaufen ist. In dieser Zeit hört sich mein Rechner wie ein Düsenjäger an.

Aber ich glaube immer noch, das ich die Einstellungen noch nicht richtig gewählt habe.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

4000x4000 ist schon verdammt groß, das kann da mal was dauern.
Das ist vermutlich kein Lightmapping, sondern die Vorberechnungen für's Realtime Lighting. (was ziemlich rechenintensiv ist)

Im Lighting Fenster findest du dazu alle möglichen Einstellungen (und kannst es auch ganz abstellen / ändern)

PS: Cool dass du's auch von 3DGS weggeschafft hast :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die kannst 2 Sachen dagegen unternehmen. Die Einstellungen für die Berechnung der Lightmap (Auflösung) herunterschrauben (daß würde ich zuerst probieren!). "Notfalls!" deine gesamte Szene verkleinern und dann die Lightmap erstellen (ist allerdings etwas "tricky", weil du dafür auch wieder an den Defaulteinstellungen für die Berechnung der Lightmap schrauben muss, damit die Lightmap nicht zu "pixelig" wird, im Endeffekt aber, wenn du die gesamte Szene verkleinerst, musst du die Auflösung der Lightmap erhöhen). Laut meiner Erfahrung senkt das Verkleinern der Meshes die Berechnung der Lightmap extrem (bei mir von 8 Stunden auf 5 Minuten), auch wenn man die Auflösung der Lightmap hochschraubt, um das Verkleinern auszugleichen. Für den finalen Build würde ich mir dann aber die 4 Stunden "gönnen" (insofern du dein Game mit einer Lightmap ausliefern willst).
Stell dir die Berechnung der Lightmap als C#-Scheife vor, für eine Berechnung muss diese Schleife 4000x4000xHöhe mal durchlaufen werden. Verkleinerst du den Mesh um den Faktor 1:10 sind es nur noch 400x400*Höhe/10.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok!

Wenn ich die Lightmap ausschalte dann erhalte ich auch keine Schatten im generierten Build, ist das richtig? Schatten erhalte ich in der Editor-Ansicht ebenfalls nicht?
Wenn ich die Lightmap aktiviere, dann benötigt sowohl der Echtzeiteditor als auch der finale Build enorme Rechenzeit? Wenn ich also auf die Schatten verzichtet habe, dann kann ich die auch erst dann wieder sehen, wenn die Vorberechnungen mit Lightmap erfolgte? Ich frage nur, damit ich den Editor und die Funktionsweise besser verstehe und ich jetzt keinerlei Schatten im Editor sehen kann.

EDIT:

Anfrage hat sich erledigt. Habe übersehen das ich die Schatten deaktiviert hatte :unsure:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...