Unity - Kann der Spieler auf einer bewegenden Plattform laufen?
Wie kann ich machen das die Bewegung des Spielers sich auf den FUßboden des Zuges orientiert, sobald dieser den Zug betritt an einem Bahnhof etc. ?
Weil wenn der Zug losfährt würde der Spieler ansonsten hinten an der Wand des Wagens kleben wenn sich die Laufsteuerung komplett nur auf den Normalen Boden orientiert der in dem Bild grün gefärbt ist?
Aber wie kann ich machen das der SPieler sich frei auf dem Orangenen Boden bewegen kann während der Zug sich über dem grünen Boden bewegen tut und das bei hoher Geschwidigkeit ?
1 Antwort
Ja, das kann er aber nur, wenn er parentiert zum Waggon ist.
Warum ist das so?
Das ist wie in der realen Welt. Sobald ein Gegenstand oder Lebewesen auf ein Objekt tust, ändert sich der sogenannte Space vom World Space zum Lokal Space des Objektes. Das Objekt aber bleibt im World Space.
Du musst einfach nur beim betreten des Zuges den Player an den Waggon parentieren.
In Unity gameObject.SetParent() oder gameObject.transform.parent
In GTA 5 z.b. und anderweitige Spiele mit Züge z.b. Train Simulator 2020 gibt es keinerlei probleme mit dem laufen in einem sich fahrenden Zugs, auch wenn der mit 200 Km/h fährt. bei Garry's mod z.b. würde man einfach an die hinterste Wand gepresst werden und möglicherweise sogar dadurch dann noch leben verlieren. Aber was ganz genau muss ich da also umstellen und hat das etwas mit dem rigidbody zu tun?
Kannst du mir optimalerweise sogar ein YouTube Tutorial verlinken?