GEC1
Begriff

Drehmoment

Eine Kraft, die einen Rigidbody um eine Achse dreht, statt ihn zu verschieben. In Unity heißt das AddTorque. Richtung und Länge des Vektors geben Achse und Stärke.

Kurz

Eine Kraft schiebt einen Rigidbody in eine Richtung. Ein Drehmoment dreht ihn um eine Achse: ein Drehkreuz, ein Windrad, eine Kiste, die sich beim Wegfliegen überschlägt.

// ein Ruck um die senkrechte Achse
rb.AddTorque(Vector3.up * 4f, ForceMode.Impulse);

Genauer

Das Drehmoment ist ein Vektor. Seine Richtung ist die Drehachse, seine Länge die Stärke. Vector3.up dreht um die senkrechte Achse wie ein Karussell, Vector3.right wie ein Rad, das auf euch zurollt, Vector3.forward wie die Zeiger einer Uhr, auf die ihr schaut.

Wie bei AddForce gibt es zwei übliche Arten:

Artwirktwohin im Code
ForceMode.Impulseein einzelner Ruckbeim Event, z. B. beim Tastendruck
ForceMode.Force (Standard)gleichmäßig in jedem Physik-Schrittin FixedUpdate()

Was bremst: Angular Damping am Rigidbody, sonst dreht sich etwas ohne Reibung sehr lange weiter. Was sperrt: Constraints › Freeze Rotation verhindert die Drehung um einzelne Achsen. Ein kinematischer Rigidbody reagiert auf kein Drehmoment.

Eine Kraft, die nicht am Schwerpunkt angreift, erzeugt ebenfalls ein Drehmoment: AddForceAtPosition stößt an einer Stelle, und der Körper schiebt sich und dreht sich zugleich.

In Unity sehen

  • Ein flacher Würfel als Arm, Rigidbody mit Use Gravity aus, Constraints: Position ganz gesperrt, Drehung nur um Y frei. Ein Drehmoment um Vector3.up macht ein Drehkreuz.
  • Das Kit hat einen Knoten Kraft, aber keinen für Drehmoment. Wie ein eigener Knoten dafür aussieht, steht in Tag 3.

Weiterlesen