Blender 3D/ Tutorials/ Armatures/ Rotation eines Objektes um eine lokale Achse

Diese Seite bezieht sich auf Blender v2.42a

Die Rotation eines Objektes scheint zunächst eine sehr einfache Sache zu sein:

  • Objekt auswählen, I->Rot.
  • 10 Frames weitergehen (Pfeil-oben),
  • Objekt in die gewünschte Position bringen und wieder I->Rot.

Lässt man die Animation nun mit Alt-A abspielen und hat großes Glück, dann wiederholt das Objekt die gewünschte Bewegung. Aber häufig passieren unerwartete Dinge:

  1. Das Objekt bewegt sich gar nicht. Das passiert immer dann, wenn Sie versuchen ein Objekt um 360° zu drehen.
  2. Das Objekt dreht sich in die falsche Richtung. Bei Drehungen um 180° häufig.
  3. Das Objekt dreht sich vollkommen anders, als Sie es gedreht haben! Das passiert z.B. immer dann, wenn Sie das Objekt nicht in einer der drei globalen Ansichten gedreht haben, sondern z.B. in der Kameraansicht oder bei Drehung um eine lokale Achse.

Die Ursache ist immer die gleiche: Blender speichert bei Objekten die globale Rotation und benutzt den kürzesten Weg zwischen zwei Punkten. Die ersten beiden Fälle lassen sich leicht lösen, setzen Sie einfach mehr Ipos. Der dritte Fall lässt sich so nicht in den Griff bekommen. Vermutlich wollen Sie das Objekt nämlich um eine lokale Achse drehen. Blender speichert aber die Rotation der lokalen Achsen bei Objekten überhaupt nicht.


Es gibt (mal wieder) mehrere Lösungsansätze:

  1. Wenn Sie die Möglichkeit dazu haben, bringen Sie die lokalen Achsen mit den globalen Achsen zur Deckung (Strg-A). Das funktioniert aber nur dann, wenn Sie die Drehung des Objektes um eine globale Achse gut definieren können.
  2. Eine sehr einfache Lösung geht folgendermaßen: ein Objekt sieht die lokalen Koordinaten seines Parents als globale Koordinaten. Parenten Sie das Objekt einfach an ein Empty, und bringen Sie das Empty in die gewünschte Position. Dann bezieht sich die globale Z-Koordinate des zu drehenden Objektes nicht auf die Welt, sondern auf das Empty. Sie drehen weiterhin das Objekt.
  3. Sie parenten das Objekt an den Bone einer Armature. Rotiert wird der Bone. Da dann auch gleich Actions erzeugt werden, soll diese Methode hier vorgeführt werden.


LösungsbeispielBearbeiten

 
Abbildung 1: Dieses Objekt soll um seine lokale Z-Achse gedreht werden.
  • Setzen Sie den 3D-Cursor mit Shift-S->Cursor->Selection auf das Objekt.
  • Erstellen Sie eine Armature. Space->Add->Armature.

Die Orientierung der Armature ist dabei egal, sie wird gleich korrigiert werden.

  • Verlassen Sie den Edit-Modus der Armature mit Tab.

Wenn Sie die Option X-Ray für die Armature auf dem Armature-Panel in den Editing Buttons (F9) anstellen, können Sie die Armature leichter auswählen.

  • Wählen Sie zunächst die Armature aus, dann das Objekt mit Shift-RMT.
  • Mit Strg-C->Rotation kopieren Sie die Rotation des Objektes auf die Armature.

Die Armature ist nun genauso ausgerichtet wie das Objekt.

  • Wählen Sie die Armature aus und wechseln in den Pose-Modus.
  • Wählen Sie das Objekt aus und mit Shift-RMT die Armature (bzw. da die Armature im Pose-Modus ist, wählen Sie den Bone aus).
  • Parenten Sie das Objekt an den Bone mit Strp-P->Bone.
  • Deselektieren Sie das Objekt und stellen Sie sicher, dass nur der Bone ausgewählt ist.
  • Speichern Sie die Rotation des Bones (I->Rot).
  • Wechseln Sie in den gewünschten Endframe.
  • Rotieren Sie den Bone um seine lokale Z-Achse (R-Z-Z).
  • Speichern Sie die Rotation des Bones (I->Rot).
 
Abbildung 2: Zur Verdeutlichung wurden die gloablen Achsen mit eingezeichnet. Das Objekt dreht sich einwandfrei um seine lokale Z-Achse.

Das Ergebnis sollte so aussehen wie in Abbildung 2, das Objekt dreht sich um seine lokale Z-Achse. Die genaue Richtung der Drehachse legen Sie über Orientierung der Armature fest.