Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zerstörbares Objekt



Eric
14.10.2009, 16:51
Hi Leute,
ich erstelle gerade eine Map mit einem Koreanerlager und ich möchte einen Mauerabschnitt des Lagers zerstörbar machen.
Mein Problem:
Das Physics/DestroyableObject-Script erlaubt keine "großen" Models.
Ein kleines Fass kann man wunderbar explodieren lassen.
Die "große" Mauer nicht.

Wie kann ich das trotzdem umsetzen.

Eric

Sensman
14.10.2009, 16:54
Per Trackview lässt du eine Szene abspielen wo eine Explosion das Model verhüllt, wärenddessen wechselst du es einfach aus durch das zerstörte Model.

Pat21
14.10.2009, 16:56
@ Eric
Damit ein Objekt als "Destroyable Object" benutzt werden kann, muss es als dieses exportiert werden mit passenden Funktionen usw.
Die Größe des Objektes spielt dabei keine Rolle. Jedoch gibt es in Crysis nicht viele solch zerstörbarer Objekte, die anderen kann man
nicht zerstören. Damit also ein Mauerabschnitt zerstörbar sein soll, müsstest du das selber erstellen:
http://doc.crymod.com/AssetCreation/frames.html?frmname=topic&frmfile=BreakableObjects.html

Oder du machst das alles per Trackview mit Verhüllung des einen Objektes, spawnen des kaputten Objektes (manche Objekte wurden
auch als "zerstört" erstellt) und die herumfliegenden Teile kann man auch i-wie vorgaukeln.

Eric
14.10.2009, 17:02
Ich möchte nicht, dass das Objekt in mehrere Teile zerspringt, sondern lediglich, dass das Objekt ein anderes Model bekommt.
In meinem Level ist diese Lager mit einer Mauer umgeben.
Vor der zerstörbaren Mauer sind ein paar explodierende Fässer.
In den Eigenschaften des DestroyableObejcts hab ich health auf 2000 gestellt, bei Model das Model einer Mauer genommen und bei destroyed Model das Model der zerstörten Mauer (Alles bereits in der Cryenginge vorhanden)
jetzt möchte ich, dass wenn man die Fässer abschiesst die Mauer kaputt geht.

Bei den explodierenden Fässern habe ich schon nur das Model ausgetauscht, sprich anstatt einem Fass die Mauer genommen und das Objekt ist unsichtbar.

Danke für die schnelle Antwort

Pat21
14.10.2009, 17:06
@ Eric

Damit ein Objekt als "Destroyable Object" benutzt werden kann, muss es als dieses exportiert werden mit passenden Funktionen usw.
Nun, du müsstest nun eigentlich per FG überprüfen, ob eines der Fässer explodiert ist und wenn ja, dann lässt du den einen
Mauerabschnitt verschwinden und einen anderen, welcher vorher dort platziert wurde und am Start per FG versteckt wurde, erscheinen.
Die Objekte müssen GeomEntities sein, damit man sie im FG benutzen kann.

Eric
14.10.2009, 17:12
Das heißt die Mauer kann ohne weiteres gar nicht als DestroyableObject genutzt werden?

hier nochmal ein Screenshot meiner Einstellungen

Edit: Ich dachte mit diesen Einstellungen würde die Mauer, nach 2000dmg, das andere Model bekommen.

Pat21
14.10.2009, 17:13
@ Eric
Ja, genau. ;)

Eric
14.10.2009, 17:14
Die berühmte Frage: Wie dann !? :)

Edit: Ich habe keine Ahnung wie Flowgraph funktioniert

Venom30
14.10.2009, 18:16
Also als erstes würde ich die Heile Mauer und die Kaputte mauer komplett übereinander setzen. Du musst dazu ein RigidBodyEx nehmen: Unter RollupBar --> Entitys --> Physics --> RigidBodyEx. jetzt musst du eine Mauer anklicken und bei "Model" das Modell auswählen. Jetzt kopierst du diesen RigidbodyEx einmal mit STRG + C und ziehst ihn an der Z achse ein wenig nach oben. Am besten Diese 1 mit dem Kästchen oben dabei Markiert haben, damit die Mauer nicht nach der Explosion "verrutscht". Und die fügst dem anderen RigidBodyEx jetzt das Modell der kaputten Mauer hinzu. Nun In der RollupBar bei "Flowgraph" auf "Create" klicken. Dann Hast du ein neues Fenster, in dem erstmal nichts drin ist. Jetzt klickst du Rechts in dem Freien Feld (es ist grau), "Add node" --> "Misc" --> Start
Du hast die Mauer im 3D Fenster (das Spiel selber, also wo du dein Level siehst) markiert und klickst im Flowgraph Fenster wieder rechts und dann auf "Add Selected Entity". Als nächstes markierst du die nächste Mauer und machst es genauso wie mit der anderen mauer: Rechtsklick --> Add Selected Entity. Und zuletzt dasselbe mit dem Fass. Jetzt kommt die Stelle mit dem Verbinden:

Das "Output" des Misc:Start verbindest du mit "Hide" deiner kaputten Mauer.
Sollte das "Hide" nicht bei dem Flow existieren, verbinde "Output" mit "Disable"
Das "explode" oder das "exploded" des Fasses verbindest du mit dem "Hide" der heilen Mauer. Und das "explode" oder das "exploded" des Fasses verbindest du mit "unHide" der kaputten Mauer. Sollte das "UnHide" nicht bei dem Flow sein, verbinde das exploded oder explode des Fasses mit "enable".
Jetzt schließe das Flowgraph Fenster und schieße auf das Fass!

Ich hoffe es war ausführlich genug :D

Eric
14.10.2009, 19:46
Wow super :)
Du solltest ein Tutorial machen - so ausführlich hab ich es nirgendswo gefunden - und es funktioniert.

Tausend Dank :)

Ich habe noch ein Problem:

Wenn ich mehrere Fässer da stehen hab dann verändert sich das Model der Mauer nur wenn ich das Fass abschiesse das getriggert ist.
Wenn ich ein anderes abschiesse und das getriggerte "mitexplodiert" tut sich nichts.

Eric

Venom30
14.10.2009, 20:17
Kopiere einfach mal das "getriggerte" fass.

PS:
Versuche Doppelposts zu vermeiden und benutze besser den "Ändern" Knopf^^

Eric
14.10.2009, 20:20
Hat sich erübrigt - auf einmal funktionierts.

Danke

Venom30
14.10.2009, 20:22
Hat sich erübrigt - auf einmal funktionierts.

Danke
Na immer^^

Könnte an ein neustart des Editors gelegen haben. Neustarts beim Editor sind ziemlich wichtig, wenn etwas nicht funktioniert, was funktionieren müsste, oder funktioniert hat^^

BlauKäppchen
14.10.2009, 20:36
Man kan eigentlich jedes Model als Destroyableobjekt nutzen, man muss nur
bei ab ModelSubObject das "main" entfernen.

Pat21
14.10.2009, 20:55
@ BlauKäppchen
Stimmt da war ja was. :D Du musst dann aber noch bei "DestroyedSubObject" das
"Remain" löschen. Dann geht es.

Sollte echt mal wieder etwas mehr mit dem Editor arbeiten. :D:D

BlauKäppchen
14.10.2009, 21:35
Stimmt ! habs verpeilt^^