Monster zerbrechen Wand oder Tür

cfw

Garg
Hallo!
Ich bin neu hier und habe nun mit dem mappen begonnen :)
Das tutorial habe ich schon durch.Nun habe ich im Forum gesucht wie man so etwas erstellen kann damit Monster etwas aufbrechen.
Ich wurde auch fündig habe es bloß i-wie nicht ganz recht verstanden :(
Es ging bei mir einfach nicht.
Wäre nett wenn es mir einer ausfühlich erklärt!THX
cfw
 

Tombery

Sarge
hi ich habe etwas gefunden *von Michi* was dier weiter helfen dürfte, ich habs hier eingefügt weil ichs im internet nicht mehr gefunden habe.

NPCs die durch Platten/Türen brechen
Geschrieben von m!chi.be

Saturday, 28. August 2004

Gegner die aus Boden/Modellen brechen
Beispielmap: tut_moveables.zip
Sicherlich ist eine der besten Überraschungseffekte in Doom3, das Gegner aus dem Boden kommen, oder durch Rohre brechen.
In diesem Tutorial wird gezeigt, wie ihr solche Dinge erstellt. Dabei erstellen wir einmal eine simple Bodenplatte die per Trigger hochgeschleudert wird,
dann erweitern wir diese durch einen Gegner der die Platte wegschleudert. Abschließend wird noch ein Model genommen, wo ein Gegner durchbricht. Alle Dinge findet ihr auch in
einer überschaubaren Samplemap.

Einfache Physikalische Bodenplatten
Baut zuerst eure Wunschplatte die ihr verwenden möchtet und positioniert diese nach euren Wünschen. Es macht sich immer gut ,wenn diese Kreuz und Quer rumliegt.
Wenn ihr Lust habt, könnt ihr auh mehrere hinlegen. Am besten ihr baut ein größeres Loch drunter, wo später unser Imp rauskommen wird. Auf dem Shot sieht man die
Konstruktion schon recht gut.


Macht nun eure Bodenplatte/n zu einem moveable_base Entity. Geht nun in das Entity Menü und gebt zuerst den key: nodrop mit dem value: 1 ein. Das heißt, das eure Platten beim Spielstart nicht
in euer Loch fallen. Auf diese Weise werden übrigens auch Platten an der Decke "befestigt", wenn eure Gegner von der Decke kommen sollen. Stichwort Spinnen. ;)
Damit der Spieler die Platten nicht umherschieben kann, legen wir noch den key: notPushable mit dem value: 1 auf die Platten und den key: noimpact mit dem value: 1, um zu verhindern
das andere "Events" unsere Platten verschieben. Somit kann nur unser Schalter den wir später einbauen die Platten umherwirbeln.
Damit ein vereinfachtes Clipping unserer Platte verwendet wird, sollte auch der key: clipshrink und value: 1 gesetzt werden.
Nun wollen wir für unsere Platte die Werte der Beschleunigung angegen. Dies wird mit dem key: init_velocity gemacht. Als Value gebt ihr die Werte ein, die ihr möchtet.
Dabei wird der Syntax value: x y z benutzt. Für jede Achse ein Wert. auch + bzw - Zeichen sind erlaubt. Schwere Platten bekommen kleinere Werte und leichte dementsprechend größere.
Diese Werte sind stark von eurer Map abhängig und ihr müsst experimentieren.
Der Wert für die Winkelbeschleunigung wird über den key: init_avelocity mit dem value: x y z gehandhabt. Wie beim anderen velocity auch.
Es gibt noch weitere keys, wie Schaden der beim auftreffen auf den Spieler verursacht wird und das NPC's nicht die Platten berühren. Stöbert etwas herum, die Keys sind alle selbsterklärend.
Hier ein Shot des Entity Inspectors. Ich habe den Platten noch eindeutige Namen zugewiesen, um diese später für mich zuordnen zu können.



Da diese Platten nun erstmal nur rumliegen geht es mit unserem Schalter weiter. Baut einfach einen Brush in der Größe, die der Spieler nicht verpassen kann und 100%ig durchquert.
Macht diesen Brush zu einem trigger_once. Dier Schalter lößt bekanntlich etwas aus, sobald der Spieler durchläuft. Um unsere beiden Platten auszulösen gebt den key:target mit dem value: platte_1
ein. Weil wir aber zwei Platten haben gebt noch den key: target1 mit dem value: platte_2 ein. Hättet ihr noch mehr zum triggern, wäre der key: target2, target3 usw...
Wenn nun der Spieler durchrennt, werden die Platten sofort umhergeschleudert. Wollt ihr ein wenig Zeit vergehen lassen, könnt ihr die mit dem key: delay und einem value machen der die Zeit in Sekunden angibt.

Bodenplatte mit Imp
Im zweiten Teil der Beispielmap findet ihr noch die gleiche Konstruktion. Diese hat aber hinter dem trigger_once einen trigger_relay der wiederum mit einem monster_demon_Imp verbunden ist.
Der trigger_relay sorgt dafür, das der Imp nicht sofort gespawned wird, sondern ein paar Sekunden gewartet wird. Auch dies habe ich über den key:delay getan. So könnt ihr
das erscheinen des Gegners timen, sodaß es aussieht, als stoße er die Platten hoch.
Bei dem Imp habe ich den key:hide mit dem value: 1 gesetzt, damit er erst spawned, wenn er ausgelößt wird. Das der Imp aus dem Nichts erscheint kann der Spieler nicht sehen, weil der Imp sich
im Boden befindet. Da jeder NPC eigene animationen hat, habe ich die passende über den key: anim mit dem value: outofhole gesetzt. In der kleinen Animationsleiste könnt ihr die Animation vorher ansehen und so sicherstellen das ihr den Imp korrekt platziert habt.
Was noch sehr wichtig ist, das wir ein path_corner Entity setzen. Dieses Entity bewirkt das der Imp, sobald ihr ihn mit dem path_corner verknüpft habt, seine animation (outofhole) abspielt
und nachdem er zu dem path_corner gegangen ist, den Spieler attakiert. Dazu müsst ihr nun nocheinmal den Imp markieren und den key: attack_path mit dem value: 1 setzen.
Würdet ihr die nicht tuen, so würde der Imp gespawned und sofort den Spieler angreifen, ohne aus dem Loch zu klettern. Das wollen wir natürlich nicht. ;)
Natürlich könnt ihr den Imp auch anders auslösen, etwa über ein Item (wie NightWulf im NPC Tutorial beschreibt).



Ein Monster durchstößt eine Tür
Im letzten Teil wollen wir nun einen Pinky durch eine Tür stoßen wollen. Es gibt vorgefertigte Entities die animierte Modelle haben. Wenn ihr einen Blick in /models/md5 werft, könnt
ihr sehen welche ein .md5anim File besitzen. Ich habe einen Türrahmen gebaut und das admin_impdoors Entity dort eingesetzt. Die animierten Modelle haben leider kein clipping, sind also
durchlässig. Geht also bei dem Model, nachdem ihr es eingesetzt und positioniert habt, auf die letzte Animationsframes und baut einen Kasten mit der common/clip Textur darum.
Jetzt wird wieder unsere trigger_once und trigger_relay konstruktion wie vorher gebaut. Der Trigger_once wird mit dem Pinky verbunden, den wir einfach mit dem key: teleport und value: 1
in die Map teleportieren lassen. Das trigger_relay wird mit der Tür verbunden verbunden und bekommt einen delay Wert von 2. Das ist etwa die Zeit die der Pinky für den teleport braucht.
Ihr könnt auch noch andere Effekte mit dem trigger_once verbinden, wie flackerndes Licht, oder Deamonic Effekte. aber das ist Thema anderer Tutorials. ;)






Number of
 
Top