2017-01-26 4 views
1

Ich entwickle ein Spiel, in dem du in Schiffen schwebst, die über dem Boden schweben. Das Problem ist, dass sie wirklich schwierig zu kontrollieren sind, weil sie keine andere Reibung haben als den Widerstand, den ich in Rigidbody Komponente gesetzt habe. Aus diesem Grund ist die Steuerung sehr unempfänglich. Das Setzen von Ziehen auf wirklich hohe Werte hilft, aber es funktioniert in alle Richtungen und das ist nicht was ich will. Die Lösung wäre, den Schlepper nur zur Seite zu bewegen, so dass das Lenken einfacher ist, aber Vorwärts- und Rückwärtsfahren ist normal. Weißt du wie ich das erreichen kann?Wie wird der Richtungswiderstand in Unity erstellt?

Antwort

1

Wie lautet Ihr Code? Fügen Sie Kraft hinzu, indem Sie rigidbody.AddForce verwenden? Sie wissen, dass es einen zweiten Parameter ForceMode akzeptiert.

Zum Beispiel:

rigidbody.addForce(Vector3.up, ForceMode.VelocityChange) 

Diese wil eine sofortige Kraft hinzufügen, Masse ist es zu ignorieren. Um andere ForceModes zu sehen, sieh dir here an :)

+0

Das ist mein Code: '_rb.AddForce (forwardForce);' also verwende ich default 'ForceMode.Force'. Ich sehe keine Verbindung zwischen 'ForceMode' und meinem Problem. Wie denkst du, dass die Änderung des Force-Modus den Seitwärtswiderstand verändern würde? –

+0

ein bisschen spät, sorry :) Aber der Unterschied zwischen ForceMode.Force und VelocityChange ist, dass Kraft die Kraft über eine lange Zeit anwendet, was es scheint, dass es viel Widerstand gibt –

Verwandte Themen