Für eine gute Playerbewegung solltest Du Mindestens 4 Bewegungen machen:

Nach oben (bein hoch)
Nach vorne (Schritt nach vorn, wobei das Bein gehoben ist)
Nach unten (bein nach unten, wie ein Mensch so läuft)
Weiter nach unten bewegen, wenn das bein noch in der Luft hägt (gravitation, wenn Loch oder Abschüssige Steigung)

-> Wenn der Player im letzten Frame nach unten gefallen ist, und keinen Boden erreicht hat in der zeispanne, dann
blockieren die ersten drei Bewegungen.

So Kannst Du einen Player machen, der Treppen hochlaufen kann,
und in Löcher fällt, und vor allem: nicht bei kleinen
Steinchen oder kanten hängen bleibt.
Die Schritthöhe sollte ungefär die Hüfthöhe sein.
(oder Kniehöhe, je nachdem wie agil er sein soll)


Einzigstes Problem: der Player kannn so an die Decke Stoßen, ist also nur gut bei Outdoor leveln, für Indoor:

Mach die Kollisionshülle beim laufen nur
für den Oberkörper+ Kopf. Lasse den Player mit Traces
auf Hüfthöhe schweben.
Ist der Trach nach unten größer als die Hüfthöhe, las ihn fallen.
ist sie kleiner lass ihn steigen.


Glaub mir diese Beiden Lösungen sind besser als 90%
aller Movementskripte hier. (Inclusive den Movement skripten von IntenseX)

Die meisten Movementskripte sehen einen Menschen praktisch als Kasten mit kleinen Röllchen. Dadurch bleibt dieser natürlich leich hängen. Sieh den Spieler als eine Kollisionsentity
die aktiv eine Bewegung ausführt und automatisch kleineren Hindernissen ausweicht (nach unten und auch zur Seite).
Den beinaperat kannst du auch praktisch als "flexieblen leeren raum" sehen, Da beine sich leicht anpassen.



Last edited by Oxy; 08/06/08 21:24.