User Tag List

Ergebnis 1 bis 1 von 1

Thema: Schalter und Türen

  1. #1
    Super-Duper-Moderator Avatar von Ricetlin
    Registriert seit
    18.06.2010
    Beiträge
    2.694
    Renommee-Modifikator
    25

    Schalter und Türen

    Name:  button.jpg
Hits: 413
Größe:  26,5 KB + Name:  door.jpg
Hits: 392
Größe:  53,0 KB

    Willkommen zu meinen bisher zweiten schriftlichen Tutorial.
    Innerhalb dieses Tutorials lernt ihr wie ihr für Portal 2 Schalter (sog. Buttons) und Türen erstellt und diese zum laufen bringt, auch kommen wir hier in den Kontakt mit dem Instance-Feature welches seit Left 4 Dead 2 verwendet wird.
    Die Instanz werden in diesem Thema aber nur angeschnitten, eine ausführliche und detailierte Anleitung folgt in den kommenden Tagen.

    Fangen wir ganz simpel mit dem erstellen einer geeigneten Testmap an.

    Klicke auf die Grafik für eine größere Ansicht 

Name:	tutorial_button0001.jpg 
Hits:	70 
Größe:	89,5 KB 
ID:	1564

    Bei meinem Beispiel muss der Spieler die obere Tür öffnen indem er den Schalter betätigt.
    Aber oh nein! Ungeahnte Komplikationen haben sich dazwischen geschlichen.
    Den Knopf drücken und dann den Lift nach oben nehmen wird nicht funktionieren, da die Tür durch einen seltsamen Wackelkontakt nur 3 Sekunden offen stehen bleibt.
    Ein Portal zur Wand oben schiessen geht auch nicht da das Glas im Wege steht, somit muss man erst nach oben fahren, ein Portal setzen und wieder nach unten gehen und auch dort ein Portal setzen.
    Erst dann kann man den Knopf drücken und durch das Portal huschen und mit einem gewagten Hechtsprung durch die Tür hüpfen.

    So Ironie beseite, es folgt nun knallharte Theorie.
    Wir haben also nun unsere glanzvolle Testmap erstellt, jedoch fehlen uns noch der Schalter und die Tür.

    Wir erstellen als erstes ein Point-Entitie namens "prop_button"
    Klicke auf die Grafik für eine größere Ansicht 

Name:	tut_01.jpg 
Hits:	96 
Größe:	105,8 KB 
ID:	1580

    Hier eine kurze Beschreibung der einzelnen Eigenschaften:
    • Name = Name/Adresse des Entities womit es über das Input/Output-System zu identifizieren und erreichbar ist
    • Entitie-Scripts = Name des Scripts welches nach dem Spawn aufgerufen wird. Mittels Scripts lassen sich weitaus komplexere Dinge zusammenbauen, auch bieten die Scripts eine Schnittstelle von Map-Editor zu gecodeten Spiel-Elementen.
    • Script think function = Name der Funktion des auserwählten Scripts welche automatisch aufgerufen wird
    • Parent = Das Eltern-Entitie an welches das Child (Kind) "geklebt" wird. Wenn das Elternteil sich wegbewegt, tut das Kind es ihm nach (in diesem Fall unser Schalter).
    • Pitch yaw roll = Die Postitionsangaben unseres Entities anhand von Achsen.
    • Delay before reset = Dauer (in Sekunden) bis der Button wieder zurückgesetzt wird und erneut betätigt werden kann
    • Play timer sound? = Ob der Ticktack-Sound nach dem drücken abgespielt werden soll
    • Prevent fast reset? = Ob ein schnelles zurücksetzen gestattet werden soll (den Sinn dieser Eigenschaft habe ich noch nicht verstanden, sollte jemand bescheid wissen postet es doch bitte unten)
    • Skin = Lässt euch zwischen dem typisch sauberen und einem verrosteten Material des Buttons aussuchen


    In den Eigenschaften (Properties) stellen wir bei "Delay before reset" 3 ein damit der Schalter automatisch nach 3 Sekunden wieder zurückgesetzt wird.
    Wenn ihr möchtet das euer Schalter tickt wie die aus dem Spiel müsst ihr "Play timer sound" auf Yes stellen, dafür braucht ihr nicht einmal mehr ein ambient_generic.

    Bevor wir zu den Outputs des Buttons übergehen brauchen wir aber erst einmal eine Tür.
    Diese importieren wir kackendreist von den mitgelieferten sog. Instanzen welche es uns erlauben Mapinhalte in seperaten Dateien auszulagern, in die Hauptmap einzubinden und anschliessend automatisch integriert werden.
    Eine schöne Methode um Ordnung zu halten, Instanzen sind quasi so ähnlich wie Templates, allerdings kann man sie im Hammer und Spiel später durch diverse Parameter beeinflussen unnd allerlei Unfug damit machen.

    Dazu erstellen wir ein func_instance Point-Entitie, ganz recht, kein Brush-Entitie.
    Dieses func_instance wird ohne Zielpfad als klitzekleines Rechteck dargestellt und ist in diesem Zustand nur schwer auszumachen.
    Daher solltet ihr direkt nachdem erstellen mit ALT+Enter die Properties aufrufen und bei "VMF Filename" instances/door/door_entities/door_ents.vmf eintragen (vorrausgesetzt ihr habt eure Testmap im Maps-Ordner des Unterordners sdk_content vom Portal 2 Ordner gespeichert andernfalls müsstet ihr evenutell den Pfad anpassen, ihr könnt auch zu der Ziel-VMF mittels Windows-Öffnen (Browse) eure Instanz suchen).

    Klicke auf die Grafik für eine größere Ansicht 

Name:	tut_02.jpg 
Hits:	98 
Größe:	106,6 KB 
ID:	1581

    Bei "Entity Name Fix Up" schreiben wir den Wunschnamen unserer Tür hin (z.b. "door_exit", damit können wir die Tür per Input/Output ansprechen, obwohl sie sogesehen ja gar nicht in der Hauptmap exisitert.

    Nun passen wir die Instanz lediglich an unsere Testkammer an und dann sind wir mit dem Thema Instanzen auch schon für dieses Tutorial durch.

    Nun öffnen wir noch einmal die Properties des Buttons und gehen auf den Reiter "Outputs".
    Dort erstellen wir folgende Outputs:
    OnPressed | door_exit | instance:door_open_relay;Trigger | 0.00
    OnReset | door_exit | instance:door_close_relay;Trigger | 0.00

    instance:door_close_relay;Trigger oder instance:door_open_relay;Trigger kann auch schon im Hammer selbst ausgewählt werden, ihr braucht es nicht zu schreiben, wird rot hinterlegt).
    Die soeben erstellten Outputs werden als Invalid (also mit dem roten Strich durch das Symbol) dargestellt, sie funktionieren aber, probiert es aus und staunt.

    Klicke auf die Grafik für eine größere Ansicht 

Name:	tut03.jpg 
Hits:	72 
Größe:	53,8 KB 
ID:	1560

    So, falls Fragen bzw. Vorschläge offen sind dürft ihr diese wie gewohnt stellen, bin für jedes Feedback dankbar.
    Auf jeden Fall war es das auch schon, ihr könnt nun eure Testkammer testen, die Tür samt Schalter wird nun einwandfrei funktionieren, wie das mit dem Instance-System genau funktioniert werde ich in einem folgendem Tutorial auch erklären sobald ich es mir auch nochmal genauer angeschaut habe.
    Die VMF und spielbare BSP habe ich dem Anhang beigelegt.

    Klicke auf die Grafik für eine größere Ansicht 

Name:	tutorial_button0004.jpg 
Hits:	59 
Größe:	90,4 KB 
ID:	1565

    Mfg
    Raistlin

    Dieses Tutorial und dessen Medien sind geistiges Eigentum von Rick Erbau und wurden für mappingbase.de angefertigt.
    Weiterverbreitung ohne audrückliche Einverständnis durch den Author oder den Administratoren von mappingbase.de ist nicht gestattet.
    Das speichern des Inhalts für persönlichen Gebrauch ist gestattet.

    Rick Erbau, 2011
    Angehängte Dateien Angehängte Dateien
    Geändert von Ricetlin (14.05.2011 um 22:46:29 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
[email protected]