Ledge greifen und klettern in Unity3D

16

Ich habe gerade ein neues Projekt begonnen. In diesem Projekt besteht eine der wichtigsten Spielmechanismen darin, dass Sie an bestimmten Punkten in einem Level einen Vorsprung ergreifen und daran festhalten können.

Nun meine Frage, da ich jetzt schon eine ganze Weile damit ringe. Wie könnte ich das konkret umsetzen? Ich habe es mit Animationen versucht, aber es ist wirklich hässlich, da der Player an einem bestimmten Punkt einrastet, an dem die Animation beginnt.

BallzOfSteel
quelle
Sie suchen eine Inverse Kinematics-Lösung. Fortbewegung wäre ein guter Start
Douglas Rae
Versuchen Sie, den Simulationszugriff für einen Simulationszugriff zu simulieren, oder möchten Sie, dass der Spieler nur bestimmte, von Ihnen festgelegte Positionen erfassen kann?
Tim Holt
Wenn Sie sicherstellen, dass alle Ihre Simshöhen ein Vielfaches einer Zahl sind, sagen wir 5, ist es viel einfacher, die Berechnung durchzuführen.
Jonathan Connell
Was ist mit etwas Animation-Blending?
User712092
Oder. Was ist mit der Entkopplung der Animation von der Bewegung? Machen Sie eine Feder zwischen Animationszentrum und Kollisionszentrum. Lassen Sie dann das Animationszentrum zum Kollisionszentrum gleiten.
User712092

Antworten:

3

Ich würde es in etwa so machen, vorausgesetzt, ich wollte die Grab-Locations gezielt steuern ...

  1. Verwenden Sie ein Spielermodell, das eine Stoffpuppe sein kann
  2. Platziere eine kleine unsichtbare Entität an Stellen, die du ergreifen kannst.
  3. Wenn der Spieler aufspringt, müssen seine Hände nach oben gehen
  4. Wenn sich die Hände des Spielers innerhalb einer bestimmten Abzugsentfernung von einem unsichtbaren Greifpunkt befinden, tritt ein "Greifen" auf

Um mit dem Greifen fertig zu werden ...

  1. Lassen Sie das Körpermodell des Spielers auf seinem normalen Sprungkurs in Bewegung bleiben
  2. Ragdoll bewegt die Hände zum Greifplatz
  3. Wenn die Hände den Greifplatz erreichen, verriegeln Sie sie (sie "greifen")
  4. Lass den Körper jetzt zu einer Stoffpuppe werden, wobei die Hände an der Greifstelle festgehalten werden

Um ein Hochziehen von einem Felsvorsprung zu bewältigen ...

  1. Da die Hände des Spielers genau am Aufstiegspunkt festgehalten werden, können Sie eine "Aufstiegs" -Animation starten
  2. Spielen Sie die "Climb Up" -Animation ab

Ich spiele hier ziemlich locker mit den Details, wie man die Ragdoll, die ich zugebe, bewegt und kontrolliert. Die Idee ist jedoch, diese Hände auf den Greifplatz zu stecken und den Spieler dort mit den Händen an den Greifplatz hängen zu lassen.

Tim Holt
quelle