Nicht eingeloggt
Registrieren

Wie man das AmbientLighting austrickst


Wie man das AmbientLighting austrickst

Um dieses Tutorial durchführen zu können, sollte man die Grundlagen des Unreal Editor 3 beherrschen.



Schritt 1: Die Vorbereitung

Was brauchen wir? Fangen wir zuerst mal mit einer Beispiel Map an.
Ihr könnt einfach einen Würfel ausschneiden und dort ein Static Mesh und eine ZoneInfo (Actor Class Browser (kurz:ACB): Actor->Info->ZoneInfo) platzieren, oder etwas komplexeres für dieses Tutorial verwenden. Eure Map sieht das dann ungefähr aus:
1.jpg
Kaum etwas, das man von einem Mapper heutzutage erwartet, aber mehr brauchen wir ja eh nicht, ist ja nur ein Beispiel.
Falls ihr noch keinen Rebuild gemacht habt, so klickt nun auf BuildAll
Um den Effekt zu am besten verdeutlichen, sollte eure Map jetzt im Lighting Only und Dynamic Light Mode komplett schwarz sein (ich habe die Decke Unlit gesetzt, um zu zeigen wo oben und unten ist - und damit die AmbientBrightness später einen Sinn macht).


Schritt 2: Die AmbientBrightness setzen

Markiert eure ZoneInfo und öffnet die Eigenschaften (Properties).
Geht unter ZoneLight und dort sehr ihr drei Teile, die zum AmbientLighting gehören:

[Wer sich schon vorher mit AmbientLighting beschäftigt hat, kann diesen Teil überspringen]
__________________________________________________ ________________________________________________
__________________________________________________ ________________________________________________ __________________________________________________ ________________________________________________
__________________________________________________ ________________________________________________

Setzt die AmbientBrightness auf einen Wert, der eure Beispiel-Map erhellt. 64 ist doch ein schöner Wert, nehmen wir den doch mal!

Wenn ihr den Schieberegler auf 64 gestellt habt und im Dynamic Lighting Mode seid, so sehr ihr, dass vor dem Rebuild nur euer Static Mesh eine veränderte Helligkeit hat. Hier mal ein Bild, um das zu verdeutlichen:
5.jpg
Darin liegt der ganze Trick und das werden wir jetzt gleich ausnutzen.
Einmal auf BuildAll klicken und ihr werdet bemerken, dass euer Static Mesh heller ist, als euer BSP. Wenn ihr euch überzeugen wollt, so könnt ihr zum Lighting Mode wechseln.


Schritt 3: Das Beleuchtungsproblem beheben


Wahrscheinlich könnt ihr euch langsam denken, worauf ich hinausarbeite.
Wir werden nun die AmbientBrightness von 64 zu einem Viertel davon heruntersetzen, also 16. Somit haben wir das Beleuchtungsproblem der Static Meshes gelöst. Um das zu verdeutlichen, hier mal ein paar Bilder.
Vorher:
6.jpg
7.jpg
Nachher:
8.jpg
9.jpg
Man sollte aber nicht mehr rebuilden, deshalb empfehle ich, dass ihr dieses Beleuchtungsproblem erst dann behebt, wenn ihr eure Map veröffentlichen/beenden wollt, sonst passiert das:
10.jpg
11.jpg
Man müsste dann also wieder die Methode anwenden, damit die Beleuchtung von BSP und Static Meshes gleich bleibt:
12.jpg
Static Meshes tendieren in der Regel dazu, bei AmbientBrightness immer vier mal so hell dargestellt zu werden, wie BSP. Woran das liegt kann ich nicht sagen, da müsste man schon die Entwickler der Engine, also Epic Games, persönlich fragen.
Diese Methode greift die Leistung auch nicht sonderlich an, sie bleibt beinahe gleich:

Vor der Behebung des Lichtproblems: zwischen 376 und 377 frames per second
Nach der Behebung des Lichtproblems: zwischen 374 und 375 frames per second

Die durchschnittliche Anzahl an fps verändert sich nur minimal, man kann es also auch in normalen Maps verwenden. Ich zum Beispiel habe es aus Neugier bei einer normalen Map verwendet und die fps sind nur minimal gesunken. Bei sehr komplexen Maps, die an sich schon fps-Probleme haben, rate ich jedoch davon ab diese Methode zu verwenden. Die Auswirkungen auf die Performance bei sehr detaillierten Maps sind mir (speziell auf älteren Rechnern) nicht bekannt.


Noch ein paar letzte Worte und ein paar Standardtipps von mir:

Arbeitet immer schön am Grid, modifiziert keine Dateien von anderen ohne Erlaubnis und verändert keine Dateien des Spiels, da dies zur Inkompatibilität im Multiplayermodus mit anderen Spielern und auf Servern verursachen kann!


Das war's!



Ich wünsche viel Spaß und viel Glück beim Mappen!
Möge der UEd Goblin sich von euren Maps fernhalten!

Sly.