Haradirki.de

Areaportale:
Beispielmap: indextut25.vmf

NachIn diesem Thema will ich dir erklären, wie man Areaportale richtig einsetzt und auch wann man sie eigentlich einsetzt. Zunächst einmal ist zu sagen, dass es 2 Areaportal-Entities gibt:

  1. func_areaportal
  2. func_areaportalwindow

Beide Entities sind brushbasierend, d.h. man muss zunächst einen Brush mit einer speziellen Textur erstellen und diesen dann über "Tools" -> "Tie To Entity" zu einem solchen Entity machen. Areaportale haben die Aufgabe der Engine zu sagen wann sie welche Bereiche der Map ein- und ausblenden soll. Wenn Bereiche ausgeblendet werden, werden sie logischerweise nicht berechnet und so läuft die Map schneller.

func_areaportal mit Gängen:

Zuerst beschäftigen wir uns mit dem Entity func_areaportal in Gängen. Dieses Entity setzt man am besten in Gängen ein, die die Sicht des Spielers einschränken:

Hier im Bild habe ich dir 2 func_areaportal selektiert. Wie baut man nun ein func_areaportal? Dazu benötigen wir zunächst eine spezielle Textur, die sich bei den Toolstexturen befindet: die Textur "tools/toolsareaportal". Dann erstellen wir einen Brush. Dieser muss an allen Ecken an Brushs stoßen. Wenn das erledigt ist, gehst du im Menü auf "Tools" -> "Tie To Entity" und wählst hier "func_areaportal". Nun kannst du auf "Apply" klicken. Wichtig ist bei den Keyvalues vor allen Dingen die Keyvalue "Initial State". Hier kann man zwischen "open" und "closed" wählen:

  • "open" = Das func_areaportal ist beim Start der Map offen, d.h. der Spieler soll durch das func_areaportal sehen können.
  • "closed" = das func_areaportal ist beim Start der Map geschlossen, d.h. der Spieler soll nicht durch das func_areaportal sehen können.

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.

 

func_areaportal mit Türen:

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:

func_areaportal closed
Die Türe ist geschlossen, das "func_areaportal" ist closed.

 

func_areaportal open
Ö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.

 

func_areaportalwindow:

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:

func_areaportalwindow
Der Spieler ist weit genug vom Fenster entfernt. Das func_areaportalwindow blockt die Sicht.

 

func_areaportalwindow
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.

 

 

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