Jump to content
Unity Insider Forum

Velocity beeinflussen


ThePhil

Recommended Posts

Hallo,

 

ich programmiere gerade ein Spiel in dem ein Ball einen Berg runter rollt. Das Problem ist dass der Ball auf Dauer zu schnell wird. Ich habe dem Ball einen Gravity-Wert zugewiesen. 
Kann man mithilfe des Skriptes die Geschwindigkeit/velocity beeinflussen bzw. überschreiben?

Falls man den die Velocity nur Auslesen kann.. hättet ihr Ideen wie ich den Ball irgendwie verlangsamen könnte?

 

Danke schon mal für Hilfe und Feedback!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn du einen Rigidbody (oder Rigidbody2D) hast, dann kannst du an dem den "Drag"-Wert einstellen. Dieser bremst das Objekt permanent aus, je nach dem, wie doll du ihn einstellst. Ist also möglich, damit so etwas wie Luftwiderstand zu simulieren. Das heißt: Damit beschleunigt dein Ball immer langsamer, bis sich Drag und Gravitation genau ausgleichen und die Maximalgeschwindigkeit erreicht ist.

Wenn du das so nicht willst, sondern ein abruptes Aufhören der Beschleunigung möchtest, dann kannst du in der Tat einfach den velocity-Wert des Rigidbodys setzen. Es reicht da z.B. so etwas:

public float maxSpeed = 10f;

private void FixedUpdate()
{
  rigidbody.velocity = Vector3.ClampMagnitude(rigidbody.velocity, maxSpeed);
}

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...