Die Antwort von NauticalMile ist großartig (und Bonuspunkte für die animierten Killer-Diagramme). Um einen alternativen Vorschlag zu machen, der nicht unter denselben Problemen leidet (die Radkollision hindert Sie daran, sich an Objekten vorbei zu bewegen, die ein schwebender Körper mühelos durchqueren sollte, schlage ich vor, etwas zu modellieren, das der Realität Ihrer Situation besser entspricht Verwenden Sie keine Kollisionen und Federn mit starren Körpern.
Modellieren Sie Ihren Charakter wie gewohnt als starre Box, aber bei jedem Update wird ein Raycast direkt nach unten (in Richtung Ihres Jet-Schubes) durchgeführt und der Abstand zwischen dem Charakter und dem nächsten kollidierbaren Objekt gemessen. Wenden Sie dann einen Aufwärtsimpuls auf den Körper Ihres Charakters an, der umgekehrt proportional zur Entfernung vom Boden ist. Je näher Sie dem Boden sind, desto größer ist der Impuls. Dies kann ein linearer Anteil oder ein exponentieller Anteil sein, aber Sie möchten nicht, dass er zu groß ist (dh in den Himmel schießt), sodass Sie ihn über einen bestimmten Bereich hinaus dämpfen möchten. Aber im Grunde sollte es ein Gleichgewicht gegen die Auswirkungen der Schwerkraft erreichen, um die Wirkung einer Feder zu erzielen - je näher Sie dem Boden kommen, desto mehr Energie verleiht die Feder, desto weiter entfernt, desto weniger stärkt sie Sie. Kombiniert mit einem Dämpfungsfaktor für die Bewegung,
NB: Diese Kraft sollte darauf beschränkt sein, nur vertikal auf Ihren Körper zu wirken. Andernfalls geraten Sie in reale Probleme, in denen Ihr Charakter instabil ist und vorwärts oder rückwärts taumeln möchte, je nachdem, was sich darunter befindet oder in welchem Winkel sich der Charakter befindet.
Das Springen fügt dieser Kraft dann einfach einen zusätzlichen vertikalen Faktor hinzu - Sie können nicht unendlich hoch springen, aber es hat die zusätzliche Nuance, dass Sie einen zusätzlichen erhalten können, wenn Sie den Sprung richtig einstellen (etwa kurz nach dem Herunterfallen aus einer Höhe) Höhe beim Sprung durch Ausnutzung des Bounce-Effekts.
Dies sollte den Effekt haben, dass eine reibungslose Bewegung über kleine Hindernisse möglich ist, ohne dass Ihre horizontale Geschwindigkeit beeinträchtigt wird. Wenn das Hindernis unter den Jet Raycast fällt, verschiebt sich der Charakter nach oben, verlangsamt sich aber überhaupt nicht.
Tatsächlich kann ein einzelner Raycast instabil sein, insbesondere wenn Sie sich über unwegsames Gelände bewegen. Ich würde vielleicht zwei oder drei Raycasts machen und einen Durchschnitt der Entfernung nehmen; Gewichtung, wenn Sie möchten, oder Verwerfen von Messungen mit einer bestimmten Abweichung vom Durchschnitt. Was Sie nicht wollen, ist ein Fall, in dem sich der Charakter über eine sehr schmale Lücke in einer ansonsten flachen Oberfläche der Welt bewegt und stark nach unten fällt, weil der Strahl zufällig direkt in diese Lücke eindringt.