Ergebnis 1 bis 11 von 11

Thema: [Hilfe] Sprungmechanik mit fixer Höhe

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #5
    Du hast schon recht, g ist eine feste Zahl (die Fallbeschleunigung und im realen Leben ca. 9,81 m/s^2), aber dadurch, dass sie mit dem Quadrat der Zeit multipliziert wird, ändert sich die Schrittweite (und da vor dem g-Term ein Minus steht, wird er wirklich kleiner).

    Hier mal das vereinfachte Ergebnis von h( i*dT ) - h( (i-1)*dT )

    = v*dT + (g/2)*(dT)^2 - g*(dT)^2*i

    Die ersten beiden Terme liefern immer das gleiche Ergebnis, denn v, g & dT sind alle fest vorgegeben (wie gesagt, durch die gewünschte Sprunghöhe, Steigzeit und Anzahl der Zeitschritte).
    Lediglich der letzte Term ist davon abhängig, der wievielte Zeitschritt (das i) es ist. Und dieser Term hat ein Minus davor, d.h. mit jedem Zeitschritt wird dein Additionsschritt kleiner.

    Mit deinen Beispielwerten (v=5, g=1) und einem Beispielzeitschritt von dT=1 sähe das Ganze so aus:

    5 + (1/2) - i = 5,5 - i

    Du siehst, der Additionsschritt wird tatsächlich mit zunehmendem i (gleichmäßig) kleiner, bis er Null rreicht bzw. negativ wird (hier ginge es von +0,5 bei i=5 direkt zu -0,5 bei i=6, da die Zahlen nicht so abgestimmt wurden, dass Null exakt erreicht wird).

    Du versuchst den Additionsschritt rekursiv (aus dem vorigen Additionsschritt) zu berechnen. v = v - g ist dafür korrekt, aber der Startwert ist falsch.
    Der erste Additionschritt ist nicht v, sondern v - g/2. Damit ergäbe sich
    v = 5, g = 1, y = 0
    => Anfangs-v = v - g/2 = 4,5
    1. Schritt: y + v = 4,5;
    v = v - g = 3,5
    2. Schritt: y + v = 8;
    v = v - g = 2,5
    3. Schritt: y + v = 10,5;
    v = v - g = 1,5
    4. Schritt: y + v = 12;
    v = v - g = 0,5
    5. Schritt: y + v = 12,5;

    Passt! (der nächste Schritt wäre negativ und die Figur beginnt zu fallen)

    EDIT: Vorsichtshalber noch eine Anmerkung. Für Sprünge aus großer Höhe solltest du die Fallgeschwindigkeit begrenzen. Das gilt immerhin in der Realität (Luftreibung) und den mir bekannten Spielen (Mario). D.h. sobald dein Additionsschritt einen gewissen negativen Wert (z.B. -10) erreicht bzw. überschreitet, ändern sich die weiteren Additionsschritte nicht mehr und die Höhe nimmt gleichmäßig ab (z.B. y = 50 -> 40 -> 30 usw.).

    Geändert von Ark_X (29.01.2016 um 12:07 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •