Möchten Sie die Leistung Ihrer benutzerdefinierten Map beschleunigen, sich nicht in Rendering-Schluckauf verzetteln und die Kompilierzeit reduzieren? Hier sind einige Tipps, die Ihnen helfen, jede Karte in Hammer zu optimieren.

Schritte

  1. 1 Räume verschließen. Das ist ein Muss. Wenn es Lecks in der Map gibt, kann der Compiler die Grenzen der Map nicht bestimmen und versucht, alles innerhalb der Map auf einmal zu rendern. Schlimmer noch, alle Bereichsportale, Hinweispinsel und Okkluder in der Karte werden nicht funktionieren, was sie nutzlos macht. Außerdem wird Wasser nicht korrekt gerendert, wenn es in der Karte Undichtigkeiten gibt.
    • In Abb. 1a ist der Raum offensichtlich nicht versiegelt. Wenn Sie diese Karte mit diesem Leck kompilieren, vvis (Der Teil der Kompilierung, der die Sichtbarkeitsdaten bestimmt, kann die Grenzen der Karte nicht bestimmen, da die Visleaves einfach in die schwarze Leere außerhalb unserer Karte "auslecken".
    • In Abb. 1b ist der Raum versiegelt und wird korrekt übersetzt.
    • Um nach Lecks zu suchen, stellen Sie zunächst sicher, dass mindestens eine Entität in der Map vorhanden ist (z. B. ein "info_player_start"), andernfalls funktioniert dies nicht. Speichern und kompilieren Sie die BSP mit F9 oder gehen Sie zu Datei -> Map ausführen. Wählen Sie "Normal" für Führen Sie BSP aus, und wählen Sie "Nein" für beide Führen Sie VIS aus und Führen Sie RAD aus (Überprüfen Sie auch die "Führe das Spiel nach dem Kompilieren nicht aus" Box). Sobald das Kompilieren abgeschlossen ist, schließen Sie das Kompilierprotokoll und gehen Sie zu Map -> Load Point File. Wenn es Lecks gibt, werden Sie aufgefordert, den Vorgang zu bestätigen (z. B. "Standard-Punktdatei laden? [C: \ Programme \ ------>]) Wählen Sie" Ja ", und Sie sehen a rote Linie, die aus der nächsten Entity * durch den Bereich des Lecks herausragt. (* Aus diesem Grund benötigen Sie in Ihrer Map eine Entity, entweder Pinsel oder Punkt. Funktioniert nicht mit Welt- oder Detailpinseln.) Versiegeln Sie das Leck rekompiliere das BSP und lade die Punktdatei Wenn alles versiegelt ist, sollte es einfach in einen leeren Ordner in der Steam \ steamapps \ GAMERTAG \ SPIEL \ mapsrc Mappe. Überprüfen Sie immer auf Lecks, bevor die Karte für die Öffentlichkeit freigegeben wird.
  2. 2 Erstellen Sie Pinsel mit "tools / toolsnodraw". Stellen Sie sicher, dass Sie immer Pinsel mit dem erstellen Werkzeuge / Werkzeugnodraw Textur zuerst und dann Textur nur was der Spieler vom Standpunkt des Spielers aus sehen kann. Wenn Sie nur eine Seite einer Wand sehen, dann texturieren Sie nur diese sichtbare Seite.
  3. 3 Verringern Sie die Anzahl der Pinsel und Flächen. Wenn möglich, bleiben Sie bei der Erstellung von Geometrie mit ein paar großen Pinseln und nicht mit tausend kleinen Pinseln. Weitere Pinsel sind gleichbedeutend mit mehr Flächen und mehr Flächen sind langsamer und kompilieren länger. Fazit: Wenn Sie komplexe Geometrie mit einem oder zwei Pinseln erstellen können, warum sollten Sie dann mehr verwenden?
    • In Abb. 3a gibt es zwei Pinsel: Der linke wurde mit dem Pinsel erstellt Arch Werkzeug die einen 8-seitigen Pinsel mit 40 Gesichtern erzeugte, und der rechte wurde aus einem einzigen abgeschnittenen Pinsel mit nur 11 Gesichtern hergestellt. Letzteres wurde durch Nutzung der Clipping-Werkzeug (Umschalt + X) Um Letzteres zu erreichen, empfiehlt es sich, zuerst die gewünschte geometrische Form aus der Arch Werkzeug zuerst als Referenz. Erstellen Sie dann einen Pinsel mit der gleichen Länge, Breite und Höhe wie der Referenzbogen und platzieren Sie ihn leicht über der Referenz. Wählen Sie den Pinsel und schneiden Sie die Winkel ab. (Sie müssen möglicherweise die Rastergröße ändern ("-" verkleinern, "+" vergrößern) und / oder die Scheitelpunkte (Umschalt + V) des Referenzbogens manuell verschieben, um am nächsten Rasterpunkt zu fangen.) Jetzt haben Sie ein geometrisch identischer Pinsel, aber nur mit weniger Gesichtern!
  4. 4 Nutzen Sie Detailpinsel. Weltbürsten blockieren die Sichtbarkeit, versiegeln die Karte und teilen die BSP in "Blätter" auf, die im Grunde die Art und Weise des Compilers sind, zu bestimmen, was zu einer bestimmten Zeit und an einem bestimmten Ort gesehen werden kann und was nicht. Detailpinsel wurden entworfen, um für den Compiler im Wesentlichen "unsichtbar" zu sein. Die einzigen Bürsten, die Weltbürsten sein sollten, sind die Wände, der Boden und die Decke eines Raumes. So ziemlich alles andere im Raum, das keine funktionierende Einheit ist und die Sicht des Spielers nicht wesentlich blockiert, sollte an eine gebunden sein func_detail Pinsel (Binde mit Strg + T). Da Detailpinsel die Sichtbarkeit nicht blockieren, werden sie nicht kompiliert vvis Berechnungen und wird die Karte nicht in mehr visleaves teilen (was in den meisten Fällen gut ist). Sei gewarnt, dass es die Karte auch nicht versiegeln wird. Stellen Sie sicher, dass alle Weltbürsten die Karte versiegeln, und es sollte keine Probleme geben.
  5. 5 Verwenden Sie Area-Portale und Tipp-Pinsel entsprechend. Flächenportale und Hinweispinsel sind gute Möglichkeiten, die Sichtbarkeit zu begrenzen und die Leistung zu erhöhen, wenn sie richtig ausgeführt werden. Sie sollten diese jedoch nicht in jedem Flur und Fenster platzieren, da die Menge, mit der berechnet werden soll, was gerendert werden soll und wann, sehr wohl übertreffen könnte, den gesamten Raum auf einmal zu rendern. Stattdessen sollten Sie nur Räume mit vielen Details trennen. Dadurch wird Ihr Computer viele unnötige Objekte rendern und die Leistung erhöhen, ohne die Sichtbarkeitsberechnungen stark zu belasten.
  6. 6 Verwenden Sie Okkluder (sparsam). Occluder ähneln einem geschlossenen Portal, da sie nicht wiedergeben, was sich dahinter befindet. Es ist jedoch anders als ein geschlossenes Bereich-Portal, da es keinen Raum versiegeln muss (es kann freistehend sein und keine Weltbürsten berühren) und blockiert nur 3D-Modelle (auch Requisiten genannt). Dieses Tool ist sehr kostenintensiv in Bezug auf die Speichernutzung. Sie sollten daher nur dann Occluder verwenden, wenn sich hinter einer freistehenden Wand ein teures 3D-Modell befindet, das nicht durch Flächenportale abgedichtet werden kann.
  7. 7 Fügen Sie 3D Sky-Boxen hinzu. Nicht unbedingt notwendig, aber es wird dazu beitragen, die Karte viel größer aussehen zu lassen, ohne die FPS (Frames per Second) drastisch zu verlangsamen.3D-Skyboxen werden normalerweise für "große" Outdoor-Karten verwendet, aber es ist möglich, eine Indoor-Karte zu erstellen, wenn Sie eine Außenansicht durch ein Fenster oder etwas Ähnliches sehen können. 3D-Skyboxen sind sehr günstig zu rendern und können eine kleine Karte bis zu 16x größer erscheinen lassen, da 3D-Skyboxen in Hammer auf 1/16 skaliert und dann während der Kompilierung hochskaliert werden.
  8. 8 Fügen Sie Nebel hinzu. Auf großen Outdoor-Karten kann Nebel die Menge der gerenderten Details einschränken und dazu beitragen, dass Ihre Karte dabei realistischer aussieht. Einfach ein hinzufügen env_fog_controller Entität in Ihrer Karte. Auf der "Nebel aktivieren" Option in der Objekteigenschaften Registerkarte, wählen Sie "Ja". Als nächstes bearbeiten Sie die Far Z-Clip-Ebene nach Ihrem Geschmack, die alle Pinsel nach dieser Entfernung entfernen wird, beseitigt die Engine Rendering unnötige Objekte (The Far Z-Clip-Ebene Wert sollte größer sein als der Nebel Ende Wert).
  9. 9 Verrückte dich nicht auf der Lightmap-Skala. Der Lightmap-Maßstab bestimmt im Wesentlichen, wie scharf oder unscharf Schatten auf der Geometrie dargestellt werden. Größere Zahlen verschlechtern die Schattenqualität, können jedoch die Leistung steigern. Im Gegensatz dazu erhöht eine niedrigere Lightmap-Skala die Darstellung der Schatten, kann jedoch die Leistung stark beeinträchtigen. Eine zu große oder zu kleine Lichtkarte kann einen unrealistischen Lichteffekt erzeugen, der entweder zu dumpf oder zu scharf ist. Die Standard-Lightmap-Skalierung für alle Pinsel ist 16, was ein ausgewogener Bereich zwischen Grafik und Leistung ist.
  10. 10 Wenn deine Karte Wasser enthält, lege eine "water_lod_control" -Einheit in die Karte. Diese Entität bestimmt, wie weit Sie von "teurem" Wasser entfernt sein müssen, damit es in "billiges" Wasser übergeht. Teures Wasser sieht viel realistischer aus als billiges Wasser und kostet daher mehr Speicher und Berechnungen am Computer. Eine kürzere Übergangsdistanz wird billigeres Wasser auf einer kürzeren Entfernung produzieren und wird daher eine große visuelle Qualität in der Entfernung verlieren, aber auch die Leistung erhöhen.