Jump to content
Unity Insider Forum

Pirat mit Haken, Haken schießen (3D-Modell)


Amnesia

Recommended Posts

Hey,

ich habe ein 3D-Modell eines Piraten erstellt der seinen Haken verschießen soll und dann das Objekt an dem der Haken Kollidiert mit ziehen soll, also der Haken soll wieder zurück kommen. 

Der Haken ist aber fest am 3D-Modell des Piraten.

Das script, dass dafür sorgt, dass ein Objekt verschossen wird und dann zurück kommt funktioniert soweit.

Wie bekomme ich das hin, das der Haken Verschossen wird aber nicht mehr am 3D-Modell hängt?

Kann man z.B. das 3D-Modell verändern z.B. das der Arm an dem der Haken hängt verlängert wird? eher nicht oder?

Andere Möglichkeit wäre ja das ich den Haken nochmal alleine modelliere und diesen dann sichtbar mache wenn der Haken verschossen werden soll, dann habe ich aber 2 Haken oder kann ich den anderen Haken der an dem Modell hängt irgendwie verbergen.

Ich hoffe ihr versteht was ich meine xD

Zum besseren Verständnis habe ich mal ein Video raus gesucht

So sollte es dann später aussehen wie bei der 0:30min (siehe den gelben Roboter)

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist das denn jetzt ein einziges Modell?

oder ist es eher ein EmptyObject namens Pirat und dadrinnen sind dann alle einzel modelle (Kopf,Arme...Haken) - wenn ja wäre der Haken ja ein einzelnes Objekt und damit könntest du übers script theoretisch nur den Haken ansprechen und bewegen lassen.

Die Prefabs/Modelle die ich bisher verwende sind eigentlich alle immer aus mehreren einzelteilen zusammen gesetzt, dass man eben beliebig was verändern könnte.

 

Sollte es jedoch wirklich nur ein festes Modell sein, weiß ich nicht wie gut deine Kentnisse im Modellierungsbereich sind & welches Programm du verwendest.

aber du müsstest da dann eigentlich in der Lage sein den Haken wegzuschneiden bzw zu trennen und dann einzeln abspeichern.

Dann das ganze in Unity wieder importieren

Link zu diesem Kommentar
Auf anderen Seiten teilen

ja es ist ein einziges Model

ich könnte natürlich auch den Piraten ohne Haken modellieren und dann den Haken noch mal alleine.

Allerdings funktioniert dann die Animation nicht mehr richtig oder?

Ich arbeite mit Cinema4D, hab halt den kompletten Piraten geriggt und eine Lauf Animation hinzugefügt.

Würde ich den Haken jetzt entfernen und in Unity wieder an das Modell setzten dann wird der Haken doch nicht mehr mit Animiert wenn der Pirat z.B. beim Laufen seinen Arm bewegt oder vertue ich mich da? 

danke für deine Antwort!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bin nun kein 3D-Experte (vielleicht kann da jemand anderes noch Details verraten), aber ich kenne es so, daß in solchen Fällen das Mesh zerteilt wird und das gleiche Rig auf beide Meshes angewendet wird. In Unity wird dann beides importiert und das Rig auf beide Meshes angewendet (SkinnedMesh + Animator). Beim Schießen wird dann beispielsweise der SkinnedMesh des Hakens ausgeblendet und ein 2. (starres) Mesh eingeblendet und über ein Skript bewegt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Würde ich den Haken jetzt entfernen und in Unity wieder an das Modell setzten dann wird der Haken doch nicht mehr mit Animiert wenn der Pirat z.B. beim Laufen seinen Arm bewegt oder vertue ich mich da? 

Ja da irrst Du dich. Kenne mich mit Cinema4D nicht aus, sondern nur ein bissl mit Blender. Aber wird vermutlich ähnlich sein. Der Haken dollte eine eigene Meshgruppe sein, wie bereits erwähnt. Den Haken selbst musst Du dann ebenfalls Riggen und zwar mit dem gesammten Rig deines Modells. Wobei der Haken nur mit den betroffenen Bones am Armstumpf gewichtet wird.

So mache ich das z.Z. in Blender um z.B. meinem Avatar auszurüsten. Z.B. mit einem Helm oder anderem Kleidungsstück. Jedes Modell hat dabei exakt das gleiche Rig. Google mal nach Rigging Clothing evtl. findest Du da was auch für Cinema4D.

Ansonsten würde ich es so umsetzen wie Zer0Cool es beschrieben hat.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 8.9.2017 um 15:46 schrieb Amnesia:

Würde ich den Haken jetzt entfernen und in Unity wieder an das Modell setzten dann wird der Haken doch nicht mehr mit Animiert wenn der Pirat z.B. beim Laufen seinen Arm bewegt oder vertue ich mich da?

Ja, da vertust du dich, denn wenn du den Haken einfach dem Handbone unterordnest, wird er super mit genommen.
Ordne dem Hand oder Armbone (also der letzte Bone des Hakenarmes ein 0 Objekt unter und dem 0 Objekt ordnest du den Haken unter. Der Haken sollte von seinen Achsen so ausgerichtet sein, dass die Z Achse in bzw. gegen die Flugrichtung des Haken zeigt. (Gegen, weil beim FBX Ex/Import von Cinema zu Unity die Zachse verdreht ist)

Ist der Haken ok und dem 0Objekt untergeordnet, richtest und positionierst du das 0Objekt jetzt so, dass der Haken richtig am Arm dran ist.
Nun exportierst du den Haken und den Pirat "mit" dem 0 Objekt einzeln raus.
In Unity selber ordnest du den Haken dann dem Piraten sein 0Object wieder unter.

Bei dem Hakensschuss musst du per Code dann einfach den Haken vom Überobject lösen und nachher wieder verbinden. Dafür gibt es den Transform.Parent Befehl. Ja und der Flug des Haken wäre jetzt auch recht leicht zu lösen, denn es ist einfach die forward Richtung des Hakens.
 

So würde das mit dem Haken an sich gehen. Wie du das mit dem Stahlseil oder der Feder machst, die den Haken ja noch sichtbar mit dem Arm verbinden soll, kann ich erstmal nicht sagen.
Aber da gibts bestimmt auch recht einfache Lösungen für. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...