Jump to content
Unity Insider Forum

Beine und Rumpf einer Spinne bewegen


donbruno

Recommended Posts

Hallo NG'ler,

 

man stelle sich folgendes Szenario vor:

 

Ich habe eine Spinne mit einem Rumpf und an dem Rumpf vier Beine (jawohl vier :-),

Die Spinne kann auf dem Bauch liegen und die Beine berühren nicht den Boden.

Um nun aufzustehen, stellt die Spinne ihre Beine auf den Boden und drückt sich hoch.

Wenn die Spinne sich mit den Beinen hochdrückt, dann wird der Rumpf nach oben gedrückt.

 

So weit so gut...

 

Ich habe es so umgesetzt, das die Beine einen RB haben, der auf "Is Kinemetic" gestellt ist, bewegt werden, also ohne Physic, da jedes Bein sich einzeln auf Tastendruck bewegen soll.

 

 

Folgende Probleme habe ich damit:

 

1.) Die Beine gehen durch den Boden durch. Erst wenn ich auf "Use Gravity" umstelle, "finden" die Beine den Bodenkontakt, dies hat aber zur Folge, das der ganze Rumpf zittert und sich bewegt :-(

 

Irgendwie komme ich da nicht weiter... wäre ja schon fast so weit, das ich das ganze Anheben des Rumpfes auch noch programmiere (schwer :-) aber ich würde gerne diesen Teil mit dem Anheben des Rumpfes der Unity Engine überlassen, bzw. diese nutzen.

 

Ohne dieses Zittern!

 

Gruß

Bruno

Link zu diesem Kommentar
Auf anderen Seiten teilen

Problem ist, das ich bei der Animation ja vorher weiß, wie weit sich ein Bein nach oben bewegt und in welcher Reihenfolge....

 

oder ich kenne mich nicht so mit Animationen aus...

 

soll ja so sein, das es mal das erste oder dritte Bein sein kann was bewegt wird oder nur zur Hälfte und das andere ganz usw usw

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dann musst du recherchieren: Schau dir Videos von laufenden Spinnen an, in Zeitlupe, wenn du was findest.

Einige Kommilitonen von mir hatten mal eine tolle Animation gemacht. Wenn ich mich richtig erinnere, haben sie dazu die Beine in zwei Gruppen aufgeteilt, die dann bewegt wurden. In der einen Gruppe waren glaube ich die linken Beine 1&3 und rechts 2&4. In der anderen Gruppe die anderen Beine. Sah sehr spinnig aus.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich schau mal... evtl... habe ich was gefunden.. mal sehen :-)

 

Wäre cool, wenn du das mit der Nachwelt teilen könntest ;)

 

Hättest du mal gleich gesagt, dass es sich um einen Kran handelt. Wenn du den Körper des Krans mit den Beinen anhebst, dann könntest du doch ab einen bestimmten Punkt die Physik weglassen, in dem du Position und Rotation des Rigidbodies auf freeze setzt. Du musst ja nur den Anschein erwecken, dass es logisch aussieht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Bruno, bin nicht wirklich ein guter Ratgeber.

 

Ein Raycast für jedes Bein das ein Kontakt zum Boden findet ?

[/font][/font]
[font="Consolas"][font="Consolas"][font="Consolas"][color=#009695]public[/color][color=#333333] [/color][color=#3364a4]LayerMask[/color][color=#333333] [/color][color=#333333]surfaceLayer[/color][color=#333333];[/color][/font]

if (Physics.Raycast (ray, out hit, Mathf.Infinity, surfaceLayer))
   //wenn ich Terrain getroffen habe

 

Schau dir vielleicht mal das Video von Hummelwalker Placement an.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...