Es gibt verschiedene Möglichkeiten einen Spieler nach oben auf eine Plattform zu kriegen: Rampen, Aufzüge, Seile, Katapulte oder Teleporter (um nur einige zu nennen).
In HiBe gibt es bisher Rampen, Leitern, Teleporter und (in einem versteckten Level) auch so etwas wie ein Katapult. Leider funktionierte mein Leiterscript nicht (mehr) und daher brauchte das Ding eine Generalüberholung.
Das alte Skript arbeitete mit Physics, d.h. es hatte versucht den Rigidbody, der am Spieler hängt (oder an dem der Spieler hängt?) durch Anwendung von entsprechenden Kräften die Leiter hoch bzw. runter zu bewegen. Dazu kamen noch ein paar andere Effekte, die den Spieler an der Leiter hielten.
Die Leiter sollte intuitiv zu bedienen sein. Man lief einfach darauf zu. Wenn man sich vorwärts näherte, stieg man sie rauf. Wenn man rückwärts an den Rand ging, dann stieg man sie runter. Kein extra Interaktion und keine Cutscene zum hoch- oder runtersteigen.
Das ganze schien zu Beginn auch gut zu funktionieren, allerdings gab es von Anfang an auch ein paar Probleme:
– Beim Herabsteigen ist man oft auf halbem Wege von der Leiter gefallen. Wenn man rannte noch schneller.
– Der Übergang zum Boden oder zur Plattform oben war hakelig. Irgendwann (vermutlich durch eine Änderung an einem der physikalischen Werte des Spielers) hat es dann gar nicht mehr funktioniert.
Jetzt bewege ich den Spieler komplett manuell. Sobald er die Leiter berührt, wird die Physik und die Steuerung für ihn abgeschaltet bis er sie wieder verlässt.
Zusätzlich konnte ich an der vertikalen Bewegung schrauben, so dass man die Leiter nicht mehr einfach “hochslided”. 🙂