WICHTIG: Wenn du hier die falsche Wahl triffst, gibt es einen unschönen Fehler in der Map, einen sogenannten HOM-Effekt. (Hall Of Mirrors) |
In der Map habe ich als "initial State" "open" angegeben, da der Spieler ja beim Start der Map durch das Portal durchsehen soll.
Wesentlich bekannter und öfter wird ein func_areaportal zusammen mit einer Türe eingesetzt. Hier erstellt man die Türe wie gewohnt, muss ihr aber auch einen Namen geben (ich nenne sie "door_01"), denn die Türe soll später mit dem func_areaportal verbunden sein, dass sich das Areaportal mit der Türe öffnet und auch wieder schließt. Sonst bleibt nämlich das Areaportal geschlossen, wenn die Türe aufgeht. Dann gibt es auch wieder einen HOM-Effekt.
Wie erstellt man nun also ein func_areaportal bei einer Türe? Ganz einfach. Zuerst wählst du wieder die Spezialtextur "tools/toolsareaportal" aus. Dann erstellst du einen Brush, der genauso hoch und so breit ist, wie die Türe selbst. Auch die Dicke ist sehr entscheidend. Ein Areaportal funktioniert auch, wenn es nur 2 Units dick ist. Im Bild kannst du ein func_areaportal sehen:

Hier siehst du, dass das func_areaportal genau in der Mitte der Türe sitzt und genau so breit und genau so hoch ist wie die Türe. Im "Camera"-Fenster siehst du auch schön, dass das func_areaportal sehr dünn ist. Nachdem du den Brush an die Türe angepasst hast, wählst du im Menü "Tools" -> "Tie To Entity" und wählst "func_areaportal". Im Zusammenspiel mit Türen ist natürlich die Keyvalue "Name Of Linked Door" sehr wichtig. Hier gibst du den Namen der Türe ein (in meinem Fall "door_01"). Stimmt der Name nicht überein, kommt es zum HOM-Effekt. Die Keyvalue "Initial State" stellen wir jetzt auf "closed", da die Türe ja auch geschlossen ist und niemand durch eine solide Steintüre sehen kann.
Und so sieht es dann im Spiel aus:
Die Türe ist geschlossen, das "func_areaportal" ist closed.
Öffnet sich die Türe, wechselt nun auch das "func_areaportal" auf "open".
| WICHTIG: Um diese Ansicht zu aktivieren, musst du zunächst mit dem Befehl "sv_cheats 1" die Cheats aktivieren. Dann gibst du "mat_wireframe 1" ein. Um diese Ansicht wieder abzuschalten, gibst du einfach "mat_wireframe 0" ein. |
Man kann auch ein Fenster mit einem func_areaportal ausrüsten, jedoch mit dem speziellen Entity func_areaportalwindow. Die Arbeitsweise ist hier auch etwas anders. Während sich ein func_areaportal mit einer Türe bewegt, lässt das areaportalwindow den Spieler nur aus der Nähe durch das Fenster sehen, aus einiger Entfernung kann der Spieler nichtmehr durch das Fenster sehen.
Wie erstellt man nun ein solches "func_areaportalwindow"?
Zunächst benötigen wir dazu ein einfaches Fenster. Ich benutze dafür die Textur "glass/glasswindow37a". Wichtig ist, dass du beim Fenster darauf achtest, nur die beiden Seiten mit der Fenstertextur zu belegen, durch die man tatsächlich sehen kann. Die 4 anderen Seiten, die zur Wand hin zeigen, belege ich mit einer normalen Wand-Textur.
Nun benötigen wir noch ein brushbasierendes Entity. Als Textur wählen wir die Toolstextur "tools/toolsnodraw". Damit erstellen wir einen Brush. Dann wählen wir im Menü "Tools" -> "Tie To Entity" und wählen nun "func_brush" aus. Bei den Keyvalues geben wir nur einen Namen ein (ich wähle als Name "window_01").
Zum Schluss erstellen wir nun unser "func_areaportalwindow". Dazu benutzen wir wieder die Spezialtextur "tools/toolsareaportal". Der Brush muss wieder sehr dünn sein, aber genau so hoch und genau so breit wie das Fenster. Dann wählst du im Menü wieder "Tools" -> "Tie To Entity". Im neuen Fenster geben wir nun "func_areaportalwindow" an. Bei diesem Entity ist die Keyvalue "Rendered Window" von Bedeutung. Hier gibst du den Namen des Fensters ein (bei mir "window_01"). Bei diesem Entity gibt es übrigens kein "Initial State", also brauchst du dir darum keine Sorgen zu machen.
Und so sieht es im Spiel aus:
Der Spieler ist weit genug vom Fenster entfernt. Das func_areaportalwindow blockt die Sicht.
Der Spieler ist nah genug an das Fenster heran und kann hindurch sehen. Das func_areaportalwindow ist inaktiv.
Im oberen Bild kannst du auch gut sehen, wieso verschachtelte Maps oft besser sind als Maps mit freiem Gelände. Durch die große Sichtweite muss viel dargestellt werden, was sich auf die Performance schlecht auswirkt. Hier in dem Gang sieht man nun trotz dem func_areaportalwindow und dem hinteren func_areaportal im Gang fast alles. Daher solltest du also etwas verwinkelter bauen, um die Areaportale einzusetzen.
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 |