Startseite
Zurück Übersicht
Leak
Eine Leak - Meldung im MBuilder ist so ziehmlich das erste, was ein Anfänger bei seinem ersten Compile sieht.
Nun, dies passiert selbst erfahrene Mapper und das Übel lässt sich meistens schnell beseitigen oder man beachtet
ein paar Grundregeln, die ein Leak erst garnicht entstehen lassen.
Was ist ein Leak ?
Was ein Grid ist und das man sich beim Mappen innerhalb dieses Grids bewegen sollte, wissen wir schon. Denn
das Gitternetz in unseren Radianten und alles was dort drinnen ist, stellt unsere Welt da. Alles was über den Grid
hinaus gemappt oder auch ausversehen verschoben wird, ruft eine Fehlermeldung hervor. Genau so verhält es sich
auch mit der kompletten Umgebung. Mit der Skybox grenzen wir unsere Map vom eigendlichen Void oder dem
Nirwana ab. Der MBuilder erkennt hier sofort eine eventuelle Lücke und gibt somit eine Fehlermeldung aus und
bricht den Compilevorgang ab. Sagen wir mal ganz simpel, durch ein Leak kann der Compiler seine Grenzen nicht
abstecken und landet sozusagen im Nimmerland....den grenzenlosen .........in der Mapperwelt Void genannt. Das
gleiche passiert, wenn man ohne Skybox eine Interrior - Map erstellt hat. Also eine Map, die sich nur im
Innenbereich abspielt und keine Außenwelt wie Terrain oder Himmel notwenig macht. Dort reicht dann schon eine
kleine Lücke in einer Wand oder Decke aus, um einen Leak zu verursachen......und oft ist es sehr schwer, diesen
wieder zu finden.

Nun würden viele sagen.........ich mache trotz allem und grundsätzlich eine Skybox um meine Map. Dies ist
eigendlich auch richtig, weil man so, vorausgesetzt die Skybox schließt wirklich dicht ab, nicht mehr auf eventuelle
Lücken und Spalten achten muss, die man dann mit seinem Gebäuden usw. erzeugen könnte. Diese verursachen
dann nämlich unseren Leak. Sicherlich ist es bei kleinen Maps immer ratsam eine Skybox darum zu ziehen, auch
wenn sie nur im Innenbereich spielt. Aber bei großen Maps und vielen Details, geizt man am Ende doch um jeden
FPS Punkt. Und eine Skybox, gerade wenn sie eine große Map umschließen soll, erfordert viel Rechenaufwand.
So erstellen und setzen so manche erfahrene Leveldesigner nur Skyboxen an Stellen, wo es wirklich Notwenig ist.

Egal wie ihr euch entscheidet, eine Lücke in der Skybox oder in Wand und Decke bei Interrior Bereichen
verursachen einen Leak und somit eine Lücke im System.

Eine andere Ursache, wenn eine Leak Meldung angezeigt wird, kann ein gesetzes Entity oder Model wie z.B. Licht
oder func_door im Außenbereich sein. Also außerhalb unserer Skybox ......sprich im Void.


Wie finde ich einen Leak am besten und beseitige diesen ?
Zuerst einmal bekommen wir die allbekannte Meldung im Compiler :
******* leaked *******
Was ist zu tun ?

Hier könnt ihr getrost den Compile Vorgang abbrechen. Die Map wird eh nicht mehr richtig Compilt, der Vis
Compile wird abgebrochen und allenfalls läuft nur die Light Berechnung. Kurz und gut......abbrechen. Und wenn
ihr es noch nicht getan habt, den Radianten öffnen, sowie eure Map rein laden. Die meisten von euch werden
sicherlich mit dem externen MBuilder compilen, was auch richtig ist. Aber um uns die Leaks anzeigen zu lassen,
müssen wir den Radianten und unsere Map laden.
Hier wollen wir den internen Compiler des Radianten nehmen. Dückt auf der oberen Navileiste auf Bsp und dann auf
eine Compilevariante euer Wahl. Dies ist auch egal, weil der Compiler einen Leak gleich am Anfang des
Compilevorgangs in seiner Console anzeigt. Wenn ihr die Leak Meldung gesehen habt, könnt ihr den Compile
abbrechen. Nur, wenn die Map schon etwas größer ist. Denn wir brauchen nicht so lange warten.

Jetzt könnt ihr schon im Radianten im Konstruktionsfenster eine rote Linie erkennen, die uns den Verlauf des
Leaks anzeigt. Manchmal sind das ziehmlich wirre und verschlängelte Linien, die uns nicht weiter stören sollten.
Siehe auch Bild. Denn unser Hauptaugenmerk gelten den Außenwänden von unseren Gebäuden ( nur Interrior )
oder ebend der Skybox. An dieser Stelle, wo die Linie austritt, ist unsere Schwachstelle. Schließe dort die Lücke
und drücke erneut auf Bsp........solange, bis kein Leak mehr angezeigt wird. Erst dann kannst du deine Map
abspeichern und mit dem externen MBuilder compilen.
Zusammenfassung
- Die Skybox muss absolut dicht sein
- Sämtliche Außenwände, die euere Map vom Void abgrenzen oder den freihen Raum blocken, sollten dicht sein.
( gilt nur für Innenmaps ohne Skybox )
- eine func_door oder rotationsdoor sollte nicht in Außenwänden eingebaut werden, die unsere Map vom Void
abgrenzen.
- Die Skybox oder Brushes dürfen nicht zum Make Detail gemacht werden. Dies deutet der Compiler als Leak.
- Wenn ihr Wasser mappt, solltet ihr zuerst eine "Wanne"bauen....also Flussbett oder einen Grundboden für das
Gewässer
- Löcher im Terrain, die eine direkte Verbindung zur unteren Ebene haben, sollten dicht ( mit Brushes verkleiden
usw.) sein oder ihr solltet kontrollieren, ob der untere Boden der Skybox vorhanden ist.
- Brushes mit Texturen, die nicht solid sind (notsolid), z.B. Wasser, Schlamm usw. könnt ihr nicht als Abgrenzung
zum Void nehmen. Diese müssen einen Behälter haben......("Wanne")
- immer die richtigen Texturen ( Skytexturen ) für die Skybox verwenden, z.B. clips, Decals durchsichtige notsolide
Texturen kannst du nicht nehmen.
- Achte darauf, das nicht versehendlich Entitys, Nodes o.ä. im Void stehen
Zum Thema Compilen und dessen verschiedene Einstellungen, kannst du unter Bsp nachlesen.

Weitere Fehlermeldungen und dessen Bedeutung, sowie die Beseitigung, kannst du unter Compile Fehlermeldung
nachlesen.
Hier haben wir ein kleines Beispiel. Zwei Räume
ohne Skybox. Somit sind die Außenwände
unserer Räume auch gleichzeitig die Begrenzung
zum Void.

In diesen Falle ist eine Lücke in der Außenwand
und dadruch auch ein Leak.

Die Lücke muss geschlossen werden und die Map
neu compilt. Erst wenn keine rote Linie mehr zu
sehen ist, haben wir alle leaks beseitigt.