Auspacken von UVs für Light-Maps ist zeitaufwändig. Sie können dies beispielsweise dadurch verringern, dass Sie das automatische Generierungswerkzeug von Unreal Engine 5 (UE5) verwenden, um beim Importieren oder über den Static Mesh Editor aus Ihren vorhandenen Textur-UVs eine Light-Map-UV zu generieren.
Vorbehalte und Überlegungen
Standardmäßig verpackt eine automatisch generierte Light-Map-UV die bestehenden UV-Diagramme aus der ersten UV des Statisches Mesh neu (UV-Kanal 0 in UE5). Diese UV wird üblicherweise als Textur-UV verwendet. Es ist also möglich, dass die UV-Diagramme nicht so angelegt oder eingerichtet sind, wie es für eine Light-Map-UV am besten geeignet ist, selbst mit den Auto-Generierungswerkzeugen in UE5.
Berücksichtigen Sie bei der Erstellung einer automatisch generierten Light-Map-UV Folgendes:
- Erstellte Light-Map-UVs erfordern das Umpacken einer bestehenden Quell-UV. Dieser Prozess ist nur so gut wie die verwendete UV. Das heißt, wenn die UV-Diagramme nicht aufgeteilt und nicht korrekt angelegt sind, ist ein gutes Umpacken nicht möglich.
- Beim Umpacken teilt UE5 UV-Diagrammkanten nicht, um separate UV-Inseln zu erstellen. Es packt nur die bestehenden UV-Diagramme aus dem Quell-UV-Index neu.
- UV-Diagramme werden normalisiert, wenn sie mit unabhängig skalierten oder gedehnten Diagrammen mit maximaler Abdeckung Ihres UV-Raums generiert werden.
Einstellungen der Importoptionen
Beim Import wird standardmäßig eine Light-Map-UV für jedes Statisches Mesh erstellt, wenn Generate Lightmap UVs aktiviert ist. Die Light-Map-UV wird aus UV Index 1 Ihres Statisches Mesh (UV-Kanal 0 in UE5) generiert und dem Light-Map-Koordinatenindex 1 zugewiesen.
Bild für Großansicht anklicken.
Sie können Ihre erstellte Light-Map-UV mit dem Statisches-Mesh-Editor untersuchen. Weitere Informationen finden Sie unter UVs für Light-Maps auspacken.
Einstellungen zur Generierung von Light-Maps
Der Statisches-Mesh-Editor Build Settings enthält Einstellungen zum Erstellen und Umpacken von Light-Map-UVs. Mit diesen Optionen können Sie eine Light-Map-UV generieren, ohne dies beim Import oder Post-Import ausführen zu müssen, wenn Sie die generierte Light-Map-UV verfeinern möchten.
Bild für Großansicht anklicken.
Aktivieren Sie Generate Lightmap UVs, um die unten aufgeführten UV-Generierungsoptionen zu verwenden und zu steuern, wie die Light-Map-UV erzeugt und neu paketiert wird:
Bild für Großansicht anklicken.
| Eigenschaft | Beschreibung |
|---|---|
| Min. Lightmap Resolution | Legt die minimale Auffüllung fest, die für UV-Diagramme beim Paketieren der UVs erforderlich ist. Dieser Zielwert stellt sicher, dass die Paketierung bis zur verwendeten minimalen Light-Map-Auflösung texelgenau ist. Dadurch wird der Licht- und Schattenverlust begrenzt, der auftreten kann, wenn der Wert für Lightmap Resolution niedriger als dieser Wert ist. |
| Source Lightmap Index | Wählt den UV-Kanal, aus dem die Light-Map-UV generiert werden soll. |
| Destination Lightmap Index | Legt den UV-Kanal fest, in dem die erstellte Light-Map-UV gespeichert wird. |
Generieren einer Light-Map-UV
Die folgenden Schritte führen Sie durch den Prozess der Erstellung einer neuen Light-Map-UV aus dem Statisches-Mesh-Editor.
-
Öffnen Sie den Statisches-Mesh-Editor. Navigieren Sie im Details-Panel zu den Build Settings von LOD0.
Bild für Großansicht anklicken.
-
Generieren Sie Light-Map-UVs mit den folgenden Einstellungen:
Bild für Großansicht anklicken.
- Aktivieren Sie Generate Lightmap UVs.
- Legen Sie Min Lightmap Resolution auf eine ideale Zweierpotenz fest, was die niedrigste Light-Map-Auflösung sein sollte, die dieses Mesh je verwenden würde. Dadurch wird sichergestellt, dass weniger Licht- und Schattenartefakte die UV-Diagramme beeinträchtigen.
- Normalerweise sollte Source Light-Map Index auf 0 belassen oder auf einen bestehenden UV-Kanal festgelegt werden, aus dem die Light-Map-UV generiert wird. Es stehen nur verfügbare UV-Kanäle zur Auswahl.
- Der Destination Light-Map Index legt den UV-Kanal fest, in dem Light-Map-UVs erstellt oder gespeichert werden. Es kann sich um einen beliebigen Wert (wobei der Wert die tatsächliche Anzahl der aktuellen UV-Kanäle für dieses Statisches Mesh darstellt) plus eins handeln.
-
Klicken Sie auf Apply Changes.
-
Legen Sie im Details-Panel unter General Settings Folgendes fest:
Bild für Großansicht anklicken.
- Geben Sie eine Lightmap Resolution ein, die dieses Statisches Mesh standardmäßig für alle Instanzen verwenden soll, die in einem Level platziert werden. Die eingegebene Auflösung sollte höher sein als Min Lightmap Resolution, die zur Erzeugung der Light-Map-UV in Build Settings verwendet wird.
- Legen Sie Lightmap Coordinate Index auf den UV-Kanal fest, der für Ihre Light-Map-UV verwendet wird. Normalerweise sollte dies mit dem Destination Lightmap Index übereinstimmen, der zum Generieren des Light-Map-UV in den Build Settings verwendet wird. Dieser UV-Kanal bestimmt, welcher UV-Kanal bei der Generierung der Light-Map-Texturen während eines Beleuchtungs-Builds verwendet wird.
In diesem Beispiel wurde die Textur-UV verwendet, um eine neue Light-Map-UV zu erstellen. Die Textur-UV wird als Quelle für das Umpacken der Light-Map-UV verwendet und die Textur-UV wurde so angelegt, dass sie keinen Platz verschwendet. Bei diesem Ansatz werden Teile des Mesh basierend auf ihrer Wichtigkeit größer (oder kleiner) skaliert, um eine angemessene Texturauflösung zu erhalten, ohne Platz in der Textur zu verschwenden.


Wenn die Lightmap-UV generiert wird, wird sie so skaliert, dass sie die gleiche Dichte aufweist (normalisiert) und dann mit ausreichend Abstand zwischen den einzelnen UV-Diagrammen in den UV-Raum gepackt, um Licht- und Schattenartefakte aus einem Licht-Build zu vermeiden. Hier bemerken Sie möglicherweise, dass in der generierten Light-Map-UV ein wenig Platz verschwendet wird. Dies ist jedoch vernachlässigbar und rechtfertigt nicht die Überarbeitung der UV in einem benutzerdefinierten Werkzeug, nur um diesen Platz zu nutzen.
Regeneration bestehender Light-Map-UVs
Die Regenerierung (oder Umpaketierung) einer bestehenden Light-Map-UV kann über die Build Settings des Statisches-Mesh-Editors durchgeführt werden. Es bietet Vorteile, eine Light-Map-UV für ein Statisches Mesh zu regenerieren.
- Sie können die Auffüllung zwischen UV-Diagrammen ändern, um eine höhere oder niedrigere Min Lightmap Resolution zu verwenden, ohne das Mesh reimportieren zu müssen. Das ist besonders ideal, wenn Sie viele individuelle UV-Diagramme haben und ein kleineres Paket in der Light-Map-UV benötigen.
- Sie können damit alle bestehenden Light-Map-UVs aus jedem Source Lightmap Index umpacken, einschließlich eines zuvor erstellten Light-Map-UV-Kanals.
Die folgenden Schritte demonstrieren die Regenerierung einer benutzerdefinierten UV aus einem importierten Statisches Mesh:
-
Öffnen Sie den Statisches-Mesh-Editor. Navigieren Sie im Details-Panel zu Build Settings von LOD0, um die folgenden Optionen festzulegen:
Bild für Großansicht anklicken.
- Optional Legt Min Lightmap Resolution auf einen neuen Wert fest, der höher oder niedriger ist. Hiermit wird festgelegt, wie viel Abstand zwischen den UV-Diagrammen bestehen soll.
- Legen Sie den Source Lightmap Index auf den UV-Kanal fest, den Sie neu packen möchten
- Legen Sie Destination Lightmap Index so fest, dass er mit dem Quell-Light-Map-Index übereinstimmt.
-
Klicken Sie auf Apply Changes.
Unten sehen Sie einen Vergleich der benutzerdefinierten Light-Map-UV, die ursprünglich mit dem Statisches Mesh importiert wurde. Sie werden feststellen, dass die UV-Diagramme unproportional zueinander skaliert wurden, aber sie ist als Light-Map-UV absolut akzeptabel, da sie die Kriterien für keine überlappenden UVs erfüllt. Durch die Regenerierung der UV werden alle UV-Diagramme normalisiert, um ein gleichmäßig verteiltes Licht- und Schatten-Bake-Ergebnis zu erzielen. Zwischen den einzelnen UV-Diagrammen wird außerdem ein angemessener Abstand eingehalten, um die Entstehung von Schatten- und Lichtartefakten zu verringern.


Es ist erwähnenswert, dass sich die benutzerdefinierte Light-Map-UV mehr auf die Abdeckung kleinerer Teile konzentriert, die der Spieler genauer sehen kann. Durch Erhöhen der Abdeckung einiger Teile kann die Light-Map-Auflösung verringert werden, um dasselbe Ergebnis wie mit der umgepackten Light-Map-Auflösung zu erzielen. Sie können nach eigenem Ermessen entscheiden, ob Sie dies für Ihre speziellen Assets außerhalb von UE5 lösen sollten.