Haradirki.de

Türen:
Beispielmap: indextut14.vmf

Nun will ich dir zeigen, wie man Türen erstellt. Dafür habe ich mir einen Raum erstellt, der ein paar Türrahmen enthält:

leerer Raum

Fangen wir mit unserer ersten Türe an. Hierzu erstellen wir einen Brush, der genau in den ersten Türrahmen passt. Jedoch machen wir ihn nicht so dick, den Grund dafür siehst du gleich. Hier ist mein Brush:

Door01

Wie du sehen kannst, ist mein Brush etwas schmaler als der Türrahmen. Ich erstelle die Türe immer 96x8x128 Units, also 96 Units lang, 8 Units breit und 128 Units hoch. Nun gehen wir gleich im Menü auf "Tools" und wählen dort "Tie to Entity". Hier öffnet sich gleich ein neues Fenster. Hier wird uns wieder als Entity ein "func_detail" angeboten:

func_door

Jedoch wollen wir ein "func_door" haben. Also tippst du entweder "func_door" ein, oder du öffnest das Pulldown-Menü und suchst dort nach dem Entity. Dann drücken wir gleich auf "Apply":

func_door

Wenn du alles richtig gemacht hast, steht nun ganz oben "Object Properties: func_door". Nun kommen wir noch kurz auf eine wichtige Keyvalue eingehen, der "Move Direction". Hiermit kannst du angeben, in welche Richtung sich die Türe bewegen soll:

func_door

Wie du siehst, kann man hier die Richtung wie bei allen anderen Entities auch in dem schwarzen Kreis einstellen. Bei meiner Türe geht sie im Winkel von 0° auf, d.h. sie wird sich also (im Top-Fenster) gesehen, nach rechts bewegen. Hier solltest du es auf alle Fälle gleich auf deine Türe abstimmen, falls du die Türe in eine andere Richtung gebaut hast. Nun schauen wir uns die Türe gleich mal im Spiel an:

ingame screenshot

Wie du sehen kannst, bewegt sich unsere Türe nach rechts. Dort wartet sie ein paar Sekunden und schliesst sich dann wieder. Nun kehren wir wieder in den Hammer Editor zurück. Hätten wir nun die Türe genauso dick gemacht wie der Türrahmen, würde es jetzt zu einem "z-Fighting" kommen. Hier "kämpfen" 2 Texturen darum, welche dargestellt wird. Da sie ineinander liegen, werden sie gleichzeitig dargestellt. Dies ist ein sehr unschöner Fehler und sollte unter allen Umständen vermieden werden!

Nun wollen wir eine andere Türe bauen, nach dem gleichen Muster. Dazu erstellst du wieder einen Brush, der genau in den Türrahmen passt. Dann wählst du im Menü "Tools" und dort "Tie to Entity". Hier wählst du wieder "func_door" aus. Nun wollen wir uns die anderen Keyvalues ansehen.

Ein wichtiger Punkt bei Türen ist die Keyvalue "Speed". Standartwert ist 100. Ich habe hier mal den Wert auf 50 geändert, d.h. die Türe öffnet sich langsamer als vorher:

tie to entity

Eine andere wichtige Keyvalue ist "Lip". Lip bedeutet, dass die Türe dann nicht ganz in der Wand verschwindet, sondern um den angegebenen Wert aus der Wand herausragt. Das wirkt einfach etwas realistischer so. Standartwert ist 0, ich gebe hier mal 2 ein:

func_door

Übrigens habe ich bei der Türe noch die Move Direction auf "Up" geändert. Das bedeutet, dass die Türe nun in der Decke verschwindet, jedoch um den "Lip"-Wert noch aus der Decke herausragt.

Kommen wir nun zu einer anderen Möglichkeit, eine Türe zu erstellen. Diese Möglichkeit kam in Half-Life zum Einsatz. In Half-Life 2 gibt es zwar eine bessere Methode, aber ich will dir auch diese "alte" Methode zeigen, weil sie einiges sehr gut verdeutlicht. Diese Türe soll nun drehbar sein, d.h. sie soll sich um eine Achse drehen. Dazu habe ich einen Brush für die Türe erstellt, der diesmal genau in den Türrahmen passt und auch so breit ist wie der Türrahmen:

func_door_rotating

Jetzt bauen wir uns die Achse für die Türe. Dazu benötigen wir wieder eine spezielle Textur. Diese heisst "tools/toolsorigin". Daher öffnen wir nun die "Texture Application" und klicken auf Browse. Hier geben wir nun als Befehl "origin" für den Filter ein:

Origin-Brush

Nun wählst du die Textur mit einem Doppelklick mit der linken Maustaste an. Nun schliesst sich der Texture Browser. Nun kannst du auch gleich auf "Apply" klicken und die "Texture Application" schliessen. Nun erstellen wir einen Brush mit der Origin-Textur. Dieser Brush muss nun so hoch sein wie die Türe sein und er muss gleich lange in die Türe wie in den Türrahmen hinein ragen. Hierzu mal ein Bild:

func_door_rotating

Wie du sehen kannst, ist nun der Brush mit der Origin-Textur genauso hoch wie der Tür-Brush selbst. Ausserdem ragt er zur Hälfte in die Türe hinein. Nun selektierst du noch zu dem Origin-Brush den Türbrush dazu:

overlapping tools  texture

Nun klickst du im Menü auf "Tools" und dort auf "Tie to Entity". Nun erscheint ein neues Fenster. Hier geben wir als Entity-Namen "func_door_rotating" ein. Nun klickst du auf "Apply". Wenn du alles richtig gemacht hast, heisst das Fenster nun "Object Properties: func_door_rotating":

func_door_rotating

Nun kannst du das Fenster auch gleich schliessen. Nun müssen wir nur noch die Türe in den Türrahmen schieben. Dann können wir uns die Türe schon im Spiel ansehen:

screenshot in game

So, nun habe ich dir ja gesagt, dass dies eigentlich eine alte Möglichkeit ist, solche Türen herzustellen. Jedoch zeigt der Origin-Brush eben die Rotations-Achse sehr schön, deswegen wollte ich dir diese Möglichkeit zeigen.

Nun wollen wir aber noch eine Türe bauen, diesmal mit den Möglichkeiten, die uns Half-Life 2 bietet. Dazu bauen wir uns wieder einen Brush, der genau in den Türrahmen passt:

Brush

Übrigens kannst du hier schön sehen, wie sich die Texturen des Origin-Brushs mit dem Türrahmen überschneiden. Bei den Texturen in dem "Tools"-Ordner macht das nichts, bei vielen anderen aber kann das die Ursache für schwere Grafikfehler sein! Nun aber zurück zu unserer Türe. Wie gewohnt gehst du jetzt im Menü auf "Tools" und wählst dort als Unterpunkt "Tie To Entity". Nun erscheint ein neues Fenster. Hier wird uns wieder "func_detail" vorgeschlagen, doch wir wollen wieder ein "func_door_rotating" bauen. Dazu kannst du es einfach eintippen oder im Pulldown-Menü auswählen. Sobald du "Apply" gedrückt hast, wird der Brush zu dem "func_door_rotating":

func_door_rotating withour origin brush

So, nun sehen wir uns mal die Top-Ansicht genauer an. Hier siehst du das Entity in rot - und in der Mitte dieses Entities befindet sich ein Kreis mit einem gelben Strich. Wenn du mit dem Mauszeiger über diesen Kreis fährst, verändert sich der Cursor in ein Viereck. Nun kannst du den Kreis anklicken und ihn verschieben. Wir verschieben ihn im Top-Fenser genau zwischen die Türe und den Türrahmen:

set origin

Wenn du dich nun übrigens im "Camera"-Fenster von der Türe entfernst (aber dabei noch selektiert hast) dann erscheint genau an der Stelle, an der sich der Kreis befindet, ein blauer Ball.Wenn du nun die Map compilierst, sieht es so aus:

Screenshot in Half-Life 2 Counter-Strike Source

Im Prinzip ist also der Kreis der Ersatz für den Origin-Brush. Nun wollen wir aber nochmal eine Türe erstellen und uns etwas mit den Keyvalues eines "func_door_rotating" beschäftigen. Dazu kopiere ich einfach unsere Türe in den letzten freien Türrahmen. Nun drückst du "ALT" und "ENTER". Nun können wir uns die Keyvalues genau ansehen. Schauen wir uns zunächst die Keyvalue "Speed" an. Diese haben wir aber schon bei der anderen Türe abgehandelt, also sollte es dir nicht unbekannt sein. Standartwert ist hier 100. Ich halbiere diesen mal zu 50.

Nun schauen wir uns die Keyvalue "Distance" an. Standartwert ist hier 90. Dieser Wert gibt an, wie weit der Winkel ist, in dem sich die Türe öffnet. Wie du bei der letzten Türe gesehen hast, öffnet sich diese um genau 90°. Dies ist in der Realität etwas übertrieben. Daher ändere ich den Wert auf 82.

Die letzte Keyvalue die hier wichtig ist ist die Keyvalue "Delay before Reset". Dies ist die Zeitspanne, in der die Türe offen bleibt. Also der Zeitraum nachdem sich die Türe geöffnet hat und bevor sich die Türe wieder schliesst. Standartwert ist hier 4, ich ändere ihn mal zu 2. Nun schliesst sich die Türe also schneller.

 

zurück zur Hauptseite

Half-Life 2 Hammer Tutorial, Copyright (c) 2005 Dirk "Haradirki" Marmann, erstellt mit Wordpad

Dieses Tutorial ist grundsätzlich Freeware und darf für den persönlichen Gebrauch weiterkopiert werden. Es darf allerdings NICHT ohne meine Einverständniss auf anderen Homepages als HTML-Datei oder zum Download angeboten werden. Es darf nichts hinzugefügt, verändert oder gelöscht werden. Weiterhin darf es nicht auf digitalen Medien, z.B. CD-Medien veröffentlicht werden, wenn ich nicht ausdrücklich meine Einverständniss dazu gegeben habe. Alle Rechte bleiben beim Autoren. Wird aus diesem Tutorial zitiert, währe ich sehr dankbar, wenn ihr dabei auf eine meiner beiden Homepages http://www.haradirki.de oder http://www.dead-in-bed.net hinweisst.

 

http://www.haradirki.de   http://www.dead-in-bed.net