Hallo zusammen, ich bin Jeff, Hobby-Entwickler. In meinem kleinen 2D-Projekt hält man eine Taste gedrückt, um Kraft für einen Sprung aufzuladen. Linear fühlt es sich steif an, quadratisch zu ungenau. Welche Kurve nutzt ihr, damit es sich natürlich anfühlt? Danke für Tipps!
Linear fühlt es sich steif an, quadratisch zu ungenau.
Wenn x^1 zu wenig und x^2 zu viel ist, dann versuche halt x^(1-komma-irgendwas).
Linear fühlt es sich steif an, quadratisch zu ungenau.
Dein Rechner wird im Rahmen seiner Möglichkeiten genau das rechnen, was du ihm sagst, d.h. was in deinem (unbekannten) Algorithmus bzw. Programm steckt.
Was das Anfühlen betrifft: Orientiere dich an der Physik. Die ist Menschen seit hunderttausenden von Jahren vertraut. Wenn die Auflösung nicht reicht, erhöhe sie.
Welche Kurve nutzt ihr, damit es sich natürlich anfühlt?
Die Kraft einer (einfachen) Feder ist linear vom Weg abhängig. Da dein Taster wohl kaum auf Kraft reagiert, bleibt nur die Zeit statt Weg übrig. Also dann auch linear.
Doppelt so lange drücken -> doppelt so viel Kraft
Die "Spannung" ist linear wegen der Höhenänderung (mit g = const), aber die Entfaltung der Beschleunigung bei einem Sprung ist es nicht, weil der Beinwinkel sich ändert. Das muss realistisch rein. Im Groben geht die Sprunghöhe mit der Wurzel der "Ladung", aber die Beschleunigung ist gegen Ende höher. Im Integral sehe ich an eine Potenz (2/3).
aber die Entfaltung der Beschleunigung bei einem Sprung ist es nicht, weil der Beinwinkel sich ändert.
Kommt drauf an, das Zebulon zum Beispiel hatte gar keine Beine.
Servus. Welche Engine nutzt du? Vermutlich steuert bei dir die Haltezeit die Absprunggeschwindigkeit,oder? Die Sprunghöhe wächst aber mit dem Quadrat der Geschwindigkeit (h = v²/2g). Halb aufgeladen ergibt deshalb nur ein Viertel der Höhe. Darum passiert am Anfang wenig, und am Ende wird es zu grob.
Lass die Haltezeit die Sprunghöhe bestimmen und berechne die Geschwindigkeit daraus -->
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
Die Ease-out-Kurve sorgt dafür, dass der Sprung am Anfang schnell reagiert und sich zum Ende hin fein dosieren lässt. Ladezeit kurz vllt so 0,5–1 Sekunde und gib beim Aufladen sichtbares Feedback, zB mit einem Balken.Mit dem Exponenten dann entsprechend anpassen.
Danke für Tipps!
Hol die einen Mame-Emulaor und schau die die alten Arcade-Olympics-Sport-Spiele an.
HYPER OLYMPIC - ARCADE GAME 1983 [ KONAMI ] https://www.youtube.com/watch?v=h0AZjkrWcBM