Nicht eingeloggt
Registrieren

Trigger / Schalter - geschaltene Vorgänge

Das Erstellen von geschalteten/vernetzten Objekten. Wer einem Level den letzten Schliff im Gameplay verleihen will, der sollten hier und dort einige geschaltete Vorg√§nge in den Level einbauen. Solche, vernetzte Objekte k√∂nnen zum Beispiel Schalter sein, die einen Aufzug oder eine T√ľre in Bewegung versetzen. Ebenso k√∂nnen es aber auch Ziele sein, die z.Bsp. in einer UT Assault-Mission zerst√∂rt werden m√ľssen. Man schie√üt gegen das Ziel und eine Aktion wird ausgel√∂st (Sound wird abgespielt/Wand zersplittert/versteckte "Specials" werden zug√§nglich).

 



Um es gleich zu sagen: Dieses Tutorial baut auf einfachem Grundwissen im Erstellen eines Levels auf und ist eins der komplizierteren Kapitel. Es wird vorausgesetzt, da√ü man den Umgang mit einfachen Formen schon erlernt hat und ein konkretes Projekt angefangen wurde. Das Erstellen vernetzer Objekte (z.Bsp.: Schalter/T√ľre; Hebel/Lift) sollte immer zum Schlu√ü eines Levels erfolgen. Der gro√üte Teil der Geometrie sollte bereits erstellt sein.

Ein sichtbarer Schalter


Um einen sichtbaren Schalter zu erstellen, der im Spielverlauf genutzt werden kann, um verschiedene Aktionen auszuf√ľhren, sollte man sich eine Stelle aussuchen, an der ein Spieler den Schalter (Trigger) sp√§ter ausl√∂sen soll. An dieser Stelle sollte man eine Wand- oder Boden-Vertiefung mit mindestens doppelter sp√§terer Schalterfl√§chentiefe erstellen. Nehmen wir an, da√ü unser Schalter sp√§ter 32 WE Tiefe haben wird und 64x64 WE Stirnfl√§che hat, dann sollte unsere Vertiefung mindestens 64 WE Tief sein, jedoch nicht viel breiter als der Schalter. Wir haben das W√ľrfel-Werkzeug mit folgenden Werten f√ľr die Vertiefung gew√§hlt und per "Abziehen"-Funktion aus der Wand geschnitten:


Solid (Punkt setzen)
(Abbildung: 01)
Height: 64
Width: 64
Breadth:64


(Abbildung: 01)


In unserem Beispiel (Abbildung: 01) haben wir einfache Formen gew√§hlt, jedoch sind auch alle anderen erdenklichen Formen von Schalterfl√§chen denkbar, so kannst du auch eine technische Konsole mit Hebeln o.√Ą. ausstatten, die geklappt oder gekippt werden k√∂nnen. Deiner Phantasie sind keine Grenzen gesetzt.

Danach haben wir in unserem Beispiel einen W√ľrfel-Mover (siehe unser Aufzug & Mover Tutorial) mit nachfolgenden Werten erstellt: (vgl.: Abbildung 02)

Solid (Punkt setzen)
Height: 64
Width: 64
Breadth:32


(Abbildung: 02)


Diese Bauform ist unser späterer Schalter, du solltest ihn auch dementsprechend mit passenden Texturen belegen. Leider sieht man unsere Texturen hier nicht.

Setze das "Mover Keyframe/Key0 (Base)", so daß der "Mover" etwas herausragt, so sieht er wie eine große Verlockung aus, dagegenzurennen. Das "Mover Keyframe/Key1" hingegen etwas in die Wand hinein. Versenkt im vorher ausgehobenen Loch wirkt es dann später so, als ob der Schalter in die Wand gleitet. Setze dann unter "Mover Properties (X selected)..." die "Mover/MoveTime" auf einen Wert um die 1.000000 (c.a. 1 Sekunde). Der "Events/Tag" sollte ebenfalls noch vergeben werden, um den Schalter später eindeutig identifizieren zu können. Wähle einen passenden Namen deiner Wahl.

Eigenschaften der Klasse "Trigger"
In unserer Abbildung (03) kannst du die Klasse: "Trigger" sehen, den eigentlichen Schalter, der die sp√§teren Aktionen ausl√∂st. √Ėffne dazu den "Actor Class Browser", markiere die Klasse "Triggers/Trigger" und klicke mit der rechten Maustaste auf eine Fl√§che in der N√§he des Schalters. W√§hle im Kontextmen√ľ den Befehl: "Add Trigger here". jetzt solltest du deinen Schalter schon im 3D-Fenster sehen k√∂nnen, positioniere den kleinen Joystick auf H√∂he des "Movers", etwa 16 WE von dessen "Key0 (Base)"-Position entfernt in den Raum, so da√ü er vom Spieler ber√ľhrt wird, bevor der "Mover" ber√ľhrt werden kann. Rendere den Level einmal und speichere ihn ab (Strg+S).


(Abbildung: 03)


Jetzt solltest du mit der rechten Maustaste auf den "Trigger" klicken und im Kontextmen√ľ "Trigger Properties (x selected)..." w√§hlen. Folgendes Fenster sollte daraufhin erscheinen:

Trage unter "Events/Tag" einen eindeutigen Namen f√ľr den Trigger ein, anhand dessen du ihn erkennen kannst. In unserem Fall w√§re dies der Name des sichtbaren Schalters, den du oben vergeben hast, sowie der Name des zu schaltenden Objektes. Am einfachsten ist es sicher, wenn beide gleich sind! Alle unter "Events/Event" eingetragenen Namen, getrennt durch ein ";", werden bei Ber√ľhrung des Triggers in Bewegung gesetzt.


(Abbildung: 04)


Suche die Rubrik "Trigger" (vgl. Abbildung: 04) und öffne sie. In der nachfolgenden Auflistung kannst Du erkennen, welche Optionen mit deinem Schalter möglich sind:

Kapitel: Eintrag: √Ąnderung:
Trigger bInitiallyActive True=Schalter ist aktiv (normaler Zustand)False=Schalter ist temporär abgeschaltet (z.Bsp. zum Testen)
  bTriggerOnceOnly True=Schalter funktioniert nur einmal (Stillstand bei letztem "Key")False=Schalter kann mehrmals bedient werden
  ClassProximityType Typ der Klassenzugehörigkeit (-?- Textur -?-)
  DamageThreshold Radius um den Trigger herum, der bei "TriggerType/TT_Shoot"-Aktivierung das Trefferfeld markiert.
  Message Nachricht, die nach der Aktivierung des Schalters im HUD aller Mitspieler der Partie angezeigt wird.
  RepeatTriggerTime Zeit nach der der Schalter automatisch nochmals ausgelöst wird,nachdem er zum ersten Mal aktiviert wurde.
  ReTriggerDelay Zeit nach der der Schalter von einem Spieler nochmals ausgelöst werden kann, nachdem er zum ersten Mal aktiviert wurde.
¬† TriggerType TT_PLayerProximity Ausl√∂sung durch Spielerber√ľhrung TT_PawnProximity -???-TT_ClassProximity Ausl√∂sung durch eine Klasse(z.Bsp. anderer "Mover")TT_AnyProximity Ausl√∂sung durch alle Ber√ľhrungen TT_Shoot Ausl√∂sung durch einen Schu√ü



Im Grunde kannst Du jetzt mit deinem Schalter alles aktivieren, was du mit einem "Tag"-Namen belegen kannst. Das trifft so ziemlich auf alle Aktoren in Unreal zu. Jedoch machen nur solche Belegungen Sinn, die ihr Aussehen, oder ihre Position im Level ver√§ndern k√∂nnen. Denkbar ist zum Beispiel nicht nur ein "Mover", ob als Aufzug, T√ľre oder gar eine aufsprengbare/r Wand/Boden, sondern nat√ľrlich auch alle anderen Klassen. Also auch "InfoPoints" (Zonen), "NavigationPoints" (Navigationsnetzwerk), alle Arten von "Light" (Lichter) sowie weitere "Trigger"-Typen. Achte jedoch immer bei der Auswahl der zu schaltenden Klasse darauf, da√ü oft erst spezielle Unterklassen die Option bieten, geschaltet zu werden, wohingegen die Hauptklasse nur einen Zustand hat (immer an)!

Ein "Trigger" mu√ü nicht zwingend in Verbindung mit einem "Mover/Aufzug" gesetzt werden, sondern kann auch ganz alleine f√ľr sich stehen (Bsp.: Beim Betreten eines Raumes geht automatisch das Licht an / siehe: Leuchten, Lampen & Licht).

Eigenschaften der Klasse "Dispatcher"
In unserer Abbildung (05) kannst du die Klasse: "Dispatcher" sehen. Ein Joystick mit zwei Pfeilen und einem Punkt, der bis zu 8 Aktionen ausl√∂sen kann, die zeitlich versetzt stattfinden k√∂nnen. √Ėffne dazu den Actor Class Browser, markiere die Klasse "Triggers / Dispatcher" und klicke mit der rechten Maustaste auf eine Fl√§che in der N√§he des Schalters. W√§hle im Kontextmen√ľ den Befehl: "Add Dispatcher here". Positioniere den "Dispatcher" auf H√∂he des "Movers", etwa 16 WE von dessen "Key0 (Base)"-Position entfernt in den Raum, so da√ü er vom Spieler ber√ľhrt wird, bevor der "Mover" ber√ľhrt werden kann. Rendere den Level einmal und speichere ihn ab (Strg+S).


(Abbildung: 05)


Selektiere den "Dispatcher" und klicke mit der rechten Maustaste darauf, w√§hle dann im Kontextmen√ľ "Dispatcher Properties (X selected)...". Trage unter der Rubrik "Events/Tag" einen eindeutigen Namen f√ľr den Mehrfachschalter ein, anhand dessen du ihn sp√§ter erkennen und ansprechen kannst. √Ėffne danach die Rubrik "Dispatcher". Dort dann jeweils die beiden Unterrubriken "OutDelays" und "OutEvents" (vgl. Abbildung: 06). Unser Beispiel zeigt die √Ėffnung von T√ľren (tuer-0X) und Aufz√ľgen (lift-0X) im Abstand von je einer Sekunde. In der nachfolgenden Tabelle kannst Du erkennen, wie die einzelnen Ereignisse mit verschiedenen Verz√∂gerungen angesteuert werden:


(Abbildung: 06)

 

Kapitel: Eintrag: √Ąnderung:
Dispatcher OutDelays Trage hier die zeitliche Verzögerung der verschiedenen Events ein, die unter "OutEvents" festgelegt sind.( max. 8 Zeiten / 1.000000=1sec.)
  OutEvents Trage hier die verschiedenen Tags der einzelnen Objekte ein (max. 8 Events), die nach dem entsprechenden "Out Delay" angesprochen werden sollen.



Ein "Dispatcher" mu√ü nicht zwingend in Verbindung mit einem "Mover/Aufzug" gesetzt werden, sondern kann auch ganz alleine f√ľr sich stehen (Bsp.: Beim Betreten eines Raumes geht automatisch der Reihe nach das Licht an).


ENDE