CS:GO Mapping Tutorial – Brushwork

In der Source Engine arbeitet man mit Brushes. Diese Bausteine bilden die Basis jeder Map und sind für die grundlegende Architektur verantwortlich. Und hier kommt das Brushwork ins Spiel. Du willst sicher keine Map bauen, die nur aus viereckigen Räumen besteht, oder? Deshalb behandeln wir nun die verschiedenen Formen von Brushes und die Tools, mit denen man sie bearbeiten kann. Weil das Bearbeiten von Brushes ein umfangreiches Thema ist, haben wir es auf zwei Mapping Tutorials aufgeteilt.

In diesem ersten Teil geht es darum wie man einen zylinderförmigen Brush erstellt, Objekte kopiert, rotiert sowie gruppiert und Brushes zerschneidet. Außerdem wird mit „func_detail“ eine der wichtigsten Funktionen deiner zukünftigen Mapper-Laufbahn erklärt.

Säule erstellen mit Cylinder Brush

Wie man einen einfachen Brush erstellt, haben wir im ersten und zweiten Tutorial besprochen. Doch der Hammer Editor kann für dich Brushes mit verschiedenen Formen erstellen. Oft braucht man beispielsweise einen Zylinder, deshalb werden wir so einen nun erschaffen.

Wir beginnen mit einem Klick auf das Brush Tool. Auf der rechten Seite werden dann zwei Kästchen mit Dropdown-Menü aktiv. Wichtig ist das zweite Kästchen, das mit „Objects“ betitelt wird. Dort steht im Normalfall „block“ drin – das ändern wir jetzt mal. Durch einen Klick auf das Dropdownmenü können wir „cylinder“ auswählen.

cs go mapping create cylinder

Sobald man „cylinder“ ausgewählt hat, wird auch das kleine Kästchen darunter aktiv. Hier kann man einstellen, wieviele Seiten der Zylinder haben soll. Am besten gibt man eine Zahl ein, die durch 4 teilbar ist. Da acht Seiten etwas wenig sind, erhöhen wir den Wert mal auf 12. Dadurch wird unser Zylinder schon deutlich runder.

Jetzt muss man in der Top-Ansicht einen viereckigen Brush ziehen, dieser bestimmt die Ausmaße des Zylinders. Ich würde 32×32 Units als Maße für den Brush empfehlen. Denk dran auf einem möglichst hohen Grid zu arbeiten. Gegebenenfalls musst du in einer der beiden Seitenansichten noch die Höhe und die Position anpassen. Der Brush soll so hoch sein wie unser Raum. Vergiss nicht dem Brush vor oder nach dem Erstellen noch eine Textur zu verpassen.

cs go mapping create cylinder

Durch Bestätigen des Brushes mit der Enter-Taste haben wir eine Säule im Raum! Doch wir müssen noch etwas Wichtiges einstellen.

Zauberwort: func_detail

Die eben erstellte Säule ist kein Grundbaustein (Boden, Wand, Decke) unserer Map und grenzt auch kein Areal ab. Sie ist eher eine Art Verzierung. Das sollten wir dem Spiel klar machen. Beim Kompilieren ist es nämlich wichtig, dass die Engine weiß, welche Funktion ein Brush hat.

Um den Grund zu erklären, müssen wir einen kurzen Abstecher in ein komplexeres Thema machen: Rendering und Optimierung. Die Source Engine unterteilt jede Map in sogenannte “visleafs”, um zu bestimmen wann welcher Bereich der Map gerendert werden muss. Auch wenn diese Unterteilung manuell beeinflusst werden kann, so hängt sie doch hauptsächlich von der Architektur bzw. dem Brushwork ab.

Die visleafs müssen also clever aufgeteilt sein, um eine möglichst gute Performance zu gewährleisten. Doch wenn wir jetzt eine Säule mitten in den Raum stellen, dann wird aus einem einfachen visleaf plötzlich eine komplizierte Anordnung vieler visleafs (linkes Bild).

source engine func_detail

Das kann verhindert werden: Unsere Säule wird mit „func_detail“ einfach zu einem Brush-Entity (rechtes Bild). Wähle die Säule mit dem Selection Tool aus und klicke auf der rechten Seite bei „Move selected“ auf den Button „to Entity“.

hammer editor brush to entity

Es öffnet sich ein neues Fenster. Dort sollte oben bei “Class” automatisch “func_detail” stehen. Falls nicht, dann gib es manuell ein. Es reicht ein Klick auf “Übernehmen” und das Fenster kann wieder geschlossen werden.

hammer editor func_detail

Hinweis: Auch nach einen Klick auf “Abbrechen” bleibt dein Objekt ein Entity der ausgewählten Klasse. Willst du den Schritt rückgängig machen, kannst du dazu einfach den „to World“ Button nutzen.

Ein Brush, der zu einem “func_detail” gemacht wurde, hat keine Auswirkungen mehr auf das Rendering. Das Resultat ist eine bessere Performance im Spiel. Deshalb solltest du alles, was nicht zum Grundgerüst der Map gehört, zu einem „func_detail“ machen. Du baust eine Treppe? func_detail. Ein Torbogen? func_detail. Holzbalken oder ein ganzes Gerüst? func_detail. Alles was im weitesten Sinne eine Verzierung ist, sollte ein „func_detail“ sein.

Kopieren leicht gemacht

Um die Arbeit zu beschleunigen kann man bereits erstellte Elemente natürlich auch kopieren. Dabei ist es egal, ob es sich um einen Brush oder ein Entity handelt. Zum üben fügen wir eine zweite Säule in die Map ein, indem wir die gerade erstellte Säule – die nun ein Brush-Entity ist – kopieren.

Zum einen lässt sich ein ausgewähltes Objekt in jeder der vier Ansichten ganz einfach mit Strg+C kopieren und mit Strg+V an einer anderen Stelle einfügen. Dann muss man aber die Position des neuen Objekts wieder anpassen.

Deswegen lernst du gleich eine hilfreiche Methode: Wähle die Säule mit dem Selection Tool aus, halte die Shift-Taste gedrückt und ziehe in der Top-Ansicht mit der linken Maustaste aus der Säule eine Kopie heraus. Sobald du die Maustaste loslässt, entsteht die Kopie.

cs go mapping copy brush

Das funktioniert natürlich in allen Ansichten. Erstellst du eine Kopie in der Top-Ansicht, dann wird diese nur seitlich auf der X- und Y-Achse verschoben. Die Position auf der Z-Achse bleibt bei dieser Methode und diesem Beispiel unverändert. Das ist ganz schön praktisch, also merk es dir.

Schnipp-Schnapp – das Clipping Tool

Jetzt packen wir die Schere aus. Wir bauen einen zweiten Raum und nutzen die Gelegenheit, um uns mit dem Clipping Tool zu beschäftigen. Eine unserer Wände wird jetzt in mehrere Teile zerschnitten. Dort entsteht später ein Verbindungsgang zum neuen Raum.

Wähle eine Wand mit dem Selection Tool aus und wechsel dann auf das Clipping Tool.

cs go mapping clipping tool

Die Handhabung mag am Anfang etwas umständlich wirken, ist aber ganz einfach. Das Clipping Tool nimmt zwei von dir bestimmte Punkte, um damit die Schnittlinie zu bilden. Geh also in die Top-Ansicht und zieh dort mit der linken Maustaste eine Linie durch die ausgewählte Wand.

cs go mapping clipping tool

Solange du den Schnitt nicht mit ENTER bestätigt hast, kannst du die beiden Punkte verschieben. Platzier sie so, dass nacher in der Mitte der Wand ein Durchgang enstehen kann. Noch einmal zur Erinnerung: Arbeite mit einem möglichst hohen Grid. Es macht dir das Leben im Editor einfacher und kommt dir später zugute. Ich empfehle für diese Aktion eine Einstellung von 16 oder sogar 32 Units.

Das Tool lässt übrigens Optionen offen, was nach dem Schnitt mit den neuen Brushes passieren soll. Eine rote Umrandung bedeutet, dass dieser Teil gelöscht wird, während der weiß umrandete Teil bestehen bleibt. Du kannst die Optionen durch erneutes Anklicken des Clipping Tools oder mit der Tastenkombination Shift+X durchgehen.

Bei unserem ersten Schnitt soll nichts verloren gehen, der gesamte Brush muss also weiß umrandet sein. Mit der Enter-Taste wird der Brush schließlich zerteilt.

cs go mapping clipping tool

Jetzt hast du zwei unterschiedlich breite Teile der Wand. Wähle den breiteren Teil aus und zerschneide ihn erneut mit dem Clipping Tool. Diesmal soll beim Schnitt der innere Teil rot sein, so dass dieser automatisch gelöscht wird und in der Mitte der Wand eine Lücke entsteht. Meine Lücke ist 128 Units breit.

cs go mapping clipping tool

So sollte das Endergebnis aussehen:

cs go mapping clipping tool

In Zukunft musst du nur die Möglichkeiten erkennen, wie du das Clipping Tool einsetzen kannst. Du könntest beispielsweise einen Brush in einer der Seitenansichten schräg durchschneiden, so dass eine Rampe entsteht.

Ein neuer Weg

Jetzt wird an die Lücke in der Wand ein Gang angebaut. Das wird unser Durchgang zum zweiten Raum. Hier können wir mit einem bereits erlernten Trick arbeiten: Neue Brushes orientieren sich an der vorherigen Selektion.

Also wähle eine Wand des bestehenden Raums aus und erstelle dann einen neuen Brush, der eine der Wände des Durchgangs bildet. Du musst aber darauf achten, dass du nach Anwählen des Brush Tools auf der rechten Seite die Einstellung von „cylinder“ wieder auf „block“ stellst.

cs go mapping create pathway

Mit der gleichen Vorgehensweise kannst du jetzt noch die zweite Wand, Boden und Decke des Durchgangs erstellen. Ich hab den Gang einfach mal 128 Units lang gemacht. Bei dieser Beispiel-Map ist das aber relativ egal. Es geht schließlich nur um das Lernen des Brushworks.

Zuletzt musst du den neuen Brushes noch die passenden Texturen geben. Du kannst dazu einfach mit dem Texture Application Tool die im ersten Raum verwendeten Texturen übertragen. Diese Vorgehensweise wurde im vorherigen Tutorial ausführlich behandelt. Der Durchgang sollte dann etwa so aussehen:

cs go mapping create pathway

Der zweite Raum

Was wir jetzt machen, wird beim Erstellen einer richtigen Map eher nicht angewendet und ist auch nur zur Übung gedacht. Wir kopieren nämlich einfach den ersten Raum, drehen in und fügen ihn an das andere Endes des Verbindungsgangs wieder an.

Elemente gruppieren

Wir schauen uns vorher aber noch kurz eine nützliche Funktion an. Beliebige Elemente lassen sich im Hammer Editor gruppieren. Dadurch kann man sich in manchen Fällen kompliziertes Selektieren einzelner Elemente ersparen.

Um das zu üben, können wir einfach mal die Lampe und das Licht-Entity in eine Gruppe packen. Schließlich gehören die beiden quasi zusammen. Das Selection Tool muss aktiv sein. Halte dann Strg gedrückt und wähle beide Entities aus. Mit der Tastenkombination Strg+G kannst du sie in eine Gruppe packen. Wenn du fortan eines der beiden Entities auswählst, wird das andere automatisch auch ausgewählt.

Willst du nur ein Element einer Gruppe auswählen, dann ist das auch kein Problem. Auf der rechten Seite ganz oben findest du unter dem Eintrag „Select“ drei Buttons: „Groups“, „Objects“ und „Solids“. Du kannst also bestimmen, ob ganze Gruppen, einzelne Objekte oder sogenannte „Solids“ ausgewählt werden. „Solids“ sind beispielsweise Einzelteile von Brush Entities.

hammer editor group objects

Übrigens lässt sich eine Gruppierung mit Strg+U auch wieder auflösen.

Den ganzen Raum kopieren

Um unseren Raum zu duplizieren, müssen jetzt alle Elemente, die nicht zum Verbindungsgang gehören, ausgewählt werden. Halte Strg gedrückt und klicke alle Brushes des ersten Raumes sowie die Lampe und das Licht-Entity an (letztere können wie gerade beschrieben auch eine Gruppe sein).

Mit unserem Trick von vorhin können alle ausgewählten Elemente ganz einfach kopiert und verschoben werden. Halte Shift gedrückt und ziehe die Duplikate in der Top-Ansicht aus deiner Auswahl heraus und in die freie Fläche am Ende des Verbindungsganges. Sie befinden sich dann schon automatisch auf der gleichen Höhe wie ihre jeweiligen ursprünglichen Elemente.

cs go mapping copy multiple objects

Nach dieser Aktion hat der neue Raum noch die falsche Ausrichtung. Er muss erst gedreht werden. Sind die Bestandteile des neuen Raums ausgewählt (was sie direkt nach dem Kopieren automatisch sind), dann benutze die Tastenkombination Strg+M, um das Menü für Transformation aufzurufen. In diesem Menü kannst du sowohl Brushes als auch Entities – oder eben beides zusammen – drehen, skalieren und bewegen. Also stelle sicher, dass links „Rotate“ ausgewählt ist und gib dann bei der Z-Achse „180“ ein.

cs go mapping rotate

Alles, was du jetzt noch tun musst, ist den Raum sauber an den Verbindungsgang anzuschließen. Bewege dazu die komplette Auswahl in der Top-Ansicht. Denk auch hier wieder daran mit einem passenden Grid zu arbeiten, das nicht zu klein eingestellt ist. Sonst entstehen möglicherweise kleine Lücken und Kanten, die Probleme verursachen.

cs go mapping tutorial brushwork

Unsere Map besteht jetzt immerhin schon aus zwei betretbaren Räumen. Aber wie gesagt: Bei einer richtigen Map macht man normalerweise keine zwei identischen Räume. Zum Kennenlernen der verschiedenen Tools im Hammer Editor war diese Aktion aber ganz gut geeignet.

Das Thema Brushwork ist damit aber noch nicht abgeschlossen. Im zweiten Teil stellen wir noch mehr mit Brushes an! Am Ende gibt es dann auch eine Beispiel-Map zum Download.