GEC1
Begriff · raum

Rigidbody

Die Component, die ein GameObject der Physik übergibt. Es fällt, lässt sich anstoßen und prallt ab. Bewegt wird es dann mit Kräften, nicht mehr über die Transform.

Kurz

Ein Würfel mit Collider ist fest, bleibt aber in der Luft stehen. Erst ein Rigidbody übergibt ihn der Physik: Er fällt, rollt, prallt ab und lässt sich anstoßen.

Wichtige Einstellungen im Inspector:

Feldmacht
MassMasse in Kilogramm, Standard 1. Ändert nicht, wie schnell etwas fällt
Linear Dampingbremst die Bewegung, wie Luftwiderstand
Use GravitySchwerkraft an oder aus
Is Kinematicdie Physik bewegt das Objekt nicht mehr; ein Skript oder eine Animation tut es

Genauer

Mit Rigidbody gilt: Die Physik bestimmt die Position. Wer stattdessen die Transform direkt verschiebt, arbeitet gegen sie; das Objekt ruckelt oder rutscht durch Wände. Bewegt wird also über den Rigidbody, meist mit einer Kraft:

Rigidbody rb;

void Start()
{
    rb = GetComponent<Rigidbody>();
    rb.AddForce(Vector3.up * 5f, ForceMode.Impulse);   // ein Stoß nach oben
}

Eine Kraft ist ein Vektor: Richtung und Stärke. ForceMode.Impulse gibt einen einzelnen Stoß, etwa für einen Sprung. Ohne Angabe wirkt die Kraft als gleichmäßiges Schieben und gehört dann in FixedUpdate(). Die Physik rechnet nämlich in festem Takt, unabhängig von der Bildrate (Standard: 50 Mal pro Sekunde).

Kinematisch heißt: Das Objekt nimmt an Kollisionen teil und schiebt andere weg, wird selbst aber nicht geschoben. Typisch für Aufzüge und bewegte Plattformen.

Achtung beim Lesen älterer Tutorials: In Unity 6.3 heißen velocity und drag jetzt linearVelocity und linearDamping.

In Unity sehen

  • Add Component › Rigidbody an einen Würfel über dem Boden, Play drücken: Er fällt.
  • Im Kit stößt der Knoten Kraft einen Rigidbody an.
  • Kollisionsmeldungen hängen vom Rigidbody ab, siehe Kollision.

Weiterlesen