Im Folgenden erläutere ich kurz die Funktionsweisen und Einstellungen eines StaticMesh movers.

I. Die Testmap

Ist simpel gehalten, alles wichtige sollte man erkennen.
Wir werden 2 Mover behandeln, die technisch gesehen vollkommen gleich sind. Mit der Zeit wird man immer komplexere Mover in seine Maps einbauen wollen, aber das Grundprinzip bleibt das Selbe.




II. Der Mover

Ein StaticMesh-Mover braucht, wie der Name schon sagt, einen StaticMesh. Das kann ein selbstgebastelter sein oder auch ein SM aus einem Standartpack.



Ich habe diesen aus dem Package AlleriaHardware genommen.
Der StaticMesh wird im Browser markiert, danach wird der SM Browser wieder geschlossen.

Mit einem Klick auf "Add mover" erscheint der Mover nun in deinem Builderbrush.



Jetzt geht es darum, die Punkte zu definieren die er abfahren soll. In unserem Beispiel wären es 3 Punkte. Einmal der Ausgangszustand, einmal das erste Stockwerk und schließlich das 2. Stockwerk. Diese Punkte nennt man Keyframes.

Der Mover wird also an die erste Stelle verschoben wo er starten soll.



Die Keyframes werden mit einem Rechtsklick auf ihn unter Mover gesetzt, angefangen vom Key 0, der de Base darstellt. Das Selbe nochmal, nur diesmal wird Key 1 angeklickt.



Nun schieben wir den Mover ein Stockwerk weiter hoch und klicken uns durch das Keymenü bis zum Key 2. Der Mover wird sehr wahrscheinlich zu Key 0 springen, aber keine Angst, das ist schon korrekt so ;)
Nachdem wir Key 2 aktiviert haben, schieben wir den Mover an die letzte Stelle und bestätigen das ganze indem wir wieder unter mover -> Key 0 ihn zurück zur Base befördern. Nun sind die Positionen gespeichert und der Mover kann weiter konfiguriert werden.

Das Wichtigste wird wahrscheinlich die MoveTime sein, diese beschreibt, wie lange der Mover braucht, um von einem zum nächsten Key zu fahren.

Damit auch alle Keys hinterher genutzt werden, müssen wir noch unter Mover das NumKeys auf die Anzahl der Keys stellen, die wir benutzen wollen. Bei unserm Lift wären das dann 3 anstatt 2.

Tja, wir haben nun einen funktionierenden Mover gebastelt!


III. Die automatische Tür

Die automatische Tür verhält sich genauso wie der Lift, mit der Ausnahme, dass sie vertikal anstatt horizontal steht und nur 2 Keys anstatt 3 benötigt werden, um die beiden Zustände offen und geschlossen zu definieren.

Um es uns ein wenig schwieriger zu machen, wollen wir die Tür triggern. Dass sie sich also dann öffnet, wenn jemand in den Kollisionsbereich eines Triggers tritt.

Den Trigger bekommen wir über den Actorclassbrowser unter Triggers -> Trigger. Ihn adden wir kurz vor den Türmover.

Dem Mover weisen wir wie beim Lift die Keys zu. Movetime und andere Verhalten sind jetzt erstmal nebensächlich, wichtig ist, dass wir dem Mover sagen, dass er nichtmehr auf ein BumpEvent, sondern auf ein TriggerEvent warten soll. Diese Einstellung finden wir unter Object -> InitialState. Anstatt BumpOpenTimed benötigen wir TriggerOpenTimed.

Als nächstes brauch der Mover einen eindeutigen Tag, der hinterher getriggert werden soll. Diesen können wir unter Events -> Tag zuweisen. "Mover" ist die Standarteinstellung, wir nehmen lieber so etwas wie "Tuer1" (Beachte, dass keine Umlaute angenommen werden!) Der Trigger bekommt in seinen Einstellungen diesen Tag als event eingetragen, der ihn mit dem Mover nun in Verbindung bringt.



Und schon ist die automatische Tür fertig!


IV. Die Einstellungen

Unter Mover finden wir einen Haufen Einstellungsmöglichkeiten um das Teil weiter zu verfeinern.


DynamicLightMover

  • Der Mover passt sich der Beleuchtung der jeweiligen Stationen an wo er sich gerade befindet.

 

BrushRaytraceKey

  • Von diesem Key bezieht der Mover seine Beleuchtung. Somit können zum Beispiel Schiebetüren eine angemessene Beleuchtung erfahren, auch wenn sie in der Wand verschwinden.

 

ToggleDirection

  • Steht das auf true, wird der Mover jedes Mal, wenn er getriggert wird, zwischen beiden Richtungen wechseln.

 

BumpType

  • Beschreibt, ob der Mover von Spielern (BT_PlayerBump), von Pawns (BT_PawnBump) oder von allem, darunter Waffenbeschuss und Karmaobjekte eingeschlossen, ausgelöst werden soll (BT_AnyBump).

 

DelayTime

  • Beschreibt eine Zeit in Sekunden, in der der Mover "wartet" bevor er dann losfährt.

 

MoverEncroachType

  • Beschreibt, wie sich der Mover im Falle einer Verklemmung bzw. Kollision mit anderen Objekten verhalten soll.

Bei ME_StopWhenEncroach bleibt er stehen,
bei ME_CrushWhenEncroach wird der Spieler oder Pawn der die Verklemmung verursacht zerstört,
bei ME_ReturnWhenEncroach fährt der Mover zurück und versucht es nochmal, schließlich
bei ME_IgnoreWhenEncroach wird die kollision einfach ignoriert. Kann zu einer "Stotterbewegung" des Movers führen.

 

MoverGlideType

  • Beschreibt, ob der Mover beim Anfahren beschleunigen soll, oder abrupt losfahren soll.

 

MoveTime

  • Beschreibt die Zeit in Sekunden, die der Mover sich nimmt, um von einem Key zum Nächsten zu fahren.

 

OtherTime

  • Beschreibt eine Zeit in Sekunden, die je nach Einstellung des Movers verwendet wird. Ein einfacher Mover verwendet diese Zeit, um an den Stationen so lange zu warten.

 

StayOpenTime

  • Beschreibt eine Zeit in Sekunden, in der der Mover an seinem letzten Keyframe verharrt. Anschließent begibt er sich je nach Einstellung wieder auf den Rückweg.


Unter der Kategorie MoverSounds können verschiedene Sounds, den Zuständen des Movers zugeteilt werden. Diese sollten sich von selbst erklären.

Ähnlich ist es bei den MoverEvents. Hier können je nach Zustand des Movers beliebige Events ausgelöst werden.


Somit ist alles wichtige behandelt.
Die Testmap ist im Anhang.


Dieses Tutorial stammt von www.unrealed.de und www.unrealed.info und wurde der Domain www.mapping-tutorials.net widerruflich zur Verfügung gestellt. Jegliche Weiterverwendung und -veröffentlichung bedarf der Zustimmung von www.unrealed.de. – Für weitere Fragen und fachübergreifende Tutorials rund um die UnrealEngine besuchen Sie www.unrealed.de.