Jump to content

Empfohlene Beiträge

Geschrieben

Kurzanleitung Bones in Blender

Anwendungsbeispiel Bahnschranke mit Gitter

Schlagworte: Blender Bones Animation Baking Bahnschranke mit Gitter

siehe auch:

In dieser Kurzanleitung in 10 Schritten zeige ich euch, wie man eine Bahnschranke mit Gitter mithilfe von Bones animiert und diese anschließend „bakt“. Wichtige Befehle zu Blender oder Objektbezeichnungen werden mit einem grauen Kasten umrandet.



Wozu benötigt man Bones hier überhaupt? (Motivation)

Beschriftung Schrankenbaum mit Gitter.jpg
Der Schrankenbaum folgt bei meinem Modell Blinklichtanlage Bahnübergang einer negativen Rotation um die y-Achse, da dieser in negativer x-Richtung zeigt. Für den Schrankenbaum reicht eine Rotation um die y-Achse von -7,5° bis -90° vollkommen aus, da der Drehpunkt fix ist. Die untere Quertragstange jedoch hat einen Drehpunkt, der sich in z-Richtung und x-Richtung verschiebt, da die Querstreben aufgrund der Gravitation immer sich nach unten ausrichten und folglich auch die untere Quertragstange mit ihrem Drehpunkt sich verschiebt. Hier reicht eine reine Rotation nicht aus und man benötigt eine zusätzliche Verschiebung (Location) die animiert werden muss. Man müsste jetzt für jeden der 96 Frames (4 Sekunden) einzeln die Rotation und Verschiebung animieren und entsprechend die untere Quertragstange immer ein kleines Stücken manuell verschieben, damit die Enden der Quertragstange mit den Enden der Querstreben fluchten. Bones haben aber den entscheidenden Vorteil, dass damit komplexe geometrische Konstruktionen mit wenig Aufwand animiert werden können, ohne dabei unübersichtlich und unflexibel zu werden.



Schritt 1 – Modellierung:

neuen Ordner Gitter im Layer anlegen.jpg

Zuerst legt man einen neuen Ordner Gitter an, indem alle neuen Objekte später hineingeschoben werden können. Für einige Objekte kann man den Modifier Array verwenden.
Modifier Array für die Abstandshalter.jpgModifier Array für die Querstreben.jpg

Ein wenig geschickter finde ich hier den Weg über den Constant Offset anstatt über Relative Offset. Ganz praktisch ist auch die Snap Funktion Snap Funktion.jpg mit der man zum Beispiel die einzelnen Objekte an den Kanten ausrichten kann. Zuletzt setzt man die Parent-Child-Eigenschaft, indem man alle Objekte im Ordner Gitter mit gedrückter Shift-Taste mit den Schrankenbaum verknüpft bzw. darüber schiebt. Dies wird dazu gemacht, dass die Kind Elemente immer den Eltern Element also dem Schrankenbaum folgen. So muss man nicht auch noch diese Kind-Elemente aufwändig animieren.


Wichtig ist auch dass sich die Querstreben etwas mit den Quertragstangen überlappen, damit später in der oberen Schrankenlage kein Luftspalt entsteht. Nicht sichtbare Flächen sollten gelöscht werden.

Überlappung der Querstreben.jpg

Außerdem muss noch der Drehpunkt verschoben werden. Hierfür geht man in den Edit-Mode, selektiert die obersten vier Vertices und drückt dann Shift + S und dann 2 Cursor to selected. Anschließend kann man wieder im Object-Mode unter Set Origin -> Origin to 3D Cursor den Drehpunkt an die Stelle platzieren, in dem man auch den 3D-Cursor platziert hat. Diese Methodik wird uns später beim Platzieren der Bones noch über den Weg laufen.


2 Schritt Texturierung

Hier gibt es ganz unterschiedliche Ansätze über eine selbst erstellte Multitextur bis hin zum Baken einer Multitextur wie in meinem Fall auf die ich jetzt gar nicht näher eingehen möchte. Wichtig finde ich nur, dass man eine strukturierte Orderstruktur sich anlegt. Also eine Version der Modellierung die nächste Version als Texturierung und zuletzt eine Version der Animierung. So kann man notfalls nochmal zurückgehen, wenn man das Projekt zerschießt.


 

3 Schritt – Auftrennen der Querstreben in 31 Einzelobjekte

Auftrennen der Querstreben.jpg

Für die Animation müssen die Querstreben alle als einzelnes Objekt vorliegen. Zuerst wird der Modifier Array applied und dann müssen über die Tastenkombination P -> Selection stückweise daraus einzelne Objekte erstellt werden, indem man immer vier Flächen selektiert. Vielleicht gibt es hier einen geschickteren Weg als über P -> Selection. Über Hinweise bin ich dankbar.


Schritt 4 – Setzen der zwei Hilfsgelenke/-lager

Hilfsgelenke erstellen.jpg

An den oberen Anfang und das untere Ende des Gitters wird jeweils ein Hilfsgelenk als Empty -> Plain Axis eingefügt. Das dient später dazu, den Bones ein Ankerpunkt zu geben. Hier gehen wie beim Platzieren wieder genauso vor, wie beim Setzen der Drehpunkte. Nun müssen wir noch das Hilfsgelenk_Ende_Gitter als Kind von Querstrebe_31 setzen, indem wir die Shift Taste drücken und das Hilfsgelenk_Ende_Gitter auf die Querstrebe_31 schieben. Die Querstreben wiederum müssen Kinder der Schrankenbaums sein. Somit kann man sagen, dass das Hilfsgelenk_Ende_Gitter in der dritten Ebene liegt, sprich ein Enkel von Schrankenbaum ist.


Schritten 5 – Platzieren der Bones (Armature)

Anlegen der Bones_Teil 1.jpgAnlegen der Bones_Teil 2.jpg

Nun erstellen wir die Armature bestehend aus zwei Bones.

  1. Zuerst setzen wir den Cursor an die Position, wo sich auch der Schwerpunkt des Hilfsgelenks_Anfang_Gitter befindet. Dazu benutzen wir die Tastenkombination Shift + S -> 3 Cursor to Active.

  2. Wenn wir die Taste A drücken, können wir die Armature auswählen.

  3. Die Armature zeigt standardmäßig noch nach oben.

  4. Wir wechseln in den Edit Mode, um die Einzelteile der Armature, die Bones, ausrichten, extrudieren und verschieben zu können.

  5. Nachdem wir den Cursor auf Höhe der unteren Quertragstange platziert haben können wir mit Snap -> Selection to Cursor das Ende des Ersten Bones fassen und nach unten ausrichten

  6. Nun ist der erste Bone Bone nach unten ausgerichtet.

  7. Wir verschieben den Cursor an die Position des Hilfsgelenks_Ende_Gitter.

  8. Mit E extrudieren wir den zweiten Bone Bone.001 in positive x-Richtung

  9. Wir verwenden wieder Snap -> Selection to Cursor, um hier den zweiten Bone auszurichten.

  10. Am Ende sollten zwei Kegel, die Bones, zu sehen sein. Zuletzt setzen wir die gesamte Armature als Child vom Schrankenbaum fest.

Gibt es eine Möglichkeit die Kegel ein wenig herunter zu skalieren, ohne dass sich die Positionen verschieben. Das sähe dann wesentlich übersichtlicher aus. Für Hinweise bin ich dankbar.


Schritt 6 – Inverse Kinematics (Add Bone Constraint)

Inverse Kinematics.jpg

Wir wechseln in den Pose-Mode und wählen anschließend den zweiten Bone Bone.001 aus. Damit der Endpunkt des zweiten Bones dem Hilfsgelenkt_Ende_Gitter folgt, nutzen wird die Bone Constraint Inverse Kinematics und tragen dort als Target dieses Gelenk ein.


Schritt 7 – Child Of (Add Object Constraint)

Quertragstange unten_Child of Bone001.jpg

Damit die Quertragstange_unten dem zweiten Bone Bone.001 folgt müssen wir es als Kind (Child Of) von Bone.001 setzen. Manchmal kann es passieren, dass die Quertragstange_unten nicht richtig ausgerichtet ist. Dann klickt man auf Set Inverse.


Schritt 8 – Querstreben: Limit Rotation (Add Object Constraint)

Querstrebe_1_Limit_Rotation.jpg

Für jede der 31 Querstreben fügen wir eine weitere Object Constraint hinzu namens Limit Rotation. Mithilfe dieser Constraint können wird die Querstreben immer im Winkel von 0° ausrichten lassen unabhängig von der Rotation des Schlagbaums, womit sich letztendlich dann die Gravitation nach unten nachbilden lässt.


Schritt 9 – Stützpfeiler: Limit Rotation

Stützpfeiler_Limit Rotation.jpg

Hier gehen wir ähnlich vor wie bei den Querstreben mit dem Unterschied, dass die Max-Position +2° anstatt 0° beträgt. Dies liegt daran, dass in der oberen Position sonst der Fuß des Stützpfeilers in die untere Quertragstange hineinragen würde.


 

Schritt 10 – Prüfen und Baken

Kontrollcheck_Bones_untere Lage.jpg

So sollte am Ende die Armature samt unterer Quertragstange für die untere Position aussehen.

Kontrollcheck_Bones_obere Lage.jpg

Und so für die obere Lage.

Nachdem die Einzelteile sich mit den Bones mit bewegen, können wir diese baken, sprich aus den Rohdaten der Rotation und Location konkrete Frames für die Animation erstellen. Zuerst wechseln wir in den Object-Mode unter dem Reiter Animation und wählen alle 31 Querstreben gleichzeitig aus.
Querstreben Animation baken.jpg
Es öffnet sich ein Auswahlmenü.
Querstreben Animation baken_2.jpg
Hier tragt ihr den gleichen Startframe und Endframe wie bei der Animation des Schrankenbaumes selbst ein. Bei mir sind es einmal von 27 bis 123 für die Bewegung von oben nach unten und dann noch von 200 bis 296 von unten nach oben.

Querstreben Animation baken_3.jpg
Für den zweiten Durchlauf setzt ihr die Auswahl Overwrite Current Action damit nicht die vorherige Animation gelöscht wird. Die Divise beim Baken lautet, so wenig wie möglich zu Animieren. Die Location und Scale bei der Querstrebe werden nicht benötigt und sollten daher nicht animiert werden.

Am Ende sieht die Animation so aus.

Querstreben Animation baken_4.jpg

Der Stützpfeiler wird ebenfalls nur um eine Rotation mit den zwei Animationssträngen animiert. Eine Ausnahme bildet die Animation der unteren Quertragstange.

untere Quertragstange_Animation baken.jpg

Hier muss zusätzlich zur Rotation auch die Location animiert werden.





Das wars auch schon. Viel Spaß beim Ausprobieren. Der neue Editor ist echt cool.

Viele Grüße
Tim

Geschrieben

Hallo @tim-fischertechnik ,

vielen Dank für die "Kurzanleitung".

Nie wieder werde ich "behaupten", etwas von Blender und Animationen zu verstehen.
Mir ist schon bewusst, dass sich meine Kenntnisse von dieser Materie auf einem sehr unteren Amateur-Niveau befinden, aber Du hast sie, dank der Kurzanleitung, etwas angehoben.

Nun zu Deiner Frage in einem anderen Beitrag:

Am 27.7.2025 um 18:26 schrieb tim-fischertechnik:

@SualokinK wie hast du das Nachwippen animiert?

Das Nachwippen habe ich ganz ohne mathematische Berechnungen und Funktionen animiert.
Ich habe ganz einfach an Ende der Animation den Schrankenbaum einige Male, nach Augenmaß und Gefühl, hoch und runter "hüpfen" lassen.

Schöne Grüße
SualokinK

Geschrieben

Hallo,

vor 20 Stunden schrieb tim-fischertechnik:

Für die Animation müssen die Querstreben alle als einzelnes Objekt vorliegen. Zuerst wird der Modifier Array applied und dann müssen über die Tastenkombination P -> Selection stückweise daraus einzelne Objekte erstellt werden, indem man immer vier Flächen selektiert. Vielleicht gibt es hier einen geschickteren Weg als über P -> Selection. Über Hinweise bin ich dankbar.

Du kannst nicht verbundene Teilobjekte (in Deinem Fall das applied Array) eines Objekts...
Bild 003.jpg

... im Edit-Mode mit "P" -> "By loose Parts" auswählen...
Bild 004.jpg

... in Eineinzelobjekte auflösen lassen...
Bild 005.jpg

vor 20 Stunden schrieb tim-fischertechnik:

Gibt es eine Möglichkeit die Kegel ein wenig herunter zu skalieren, ohne dass sich die Positionen verschieben. Das sähe dann wesentlich übersichtlicher aus. Für Hinweise bin ich dankbar.

Du kannst das Aussehen der Knochen eines Skeletts...
Bild 006.jpg

... hier unter "Ansichtsfenster-Anzeige" -> "Anzeigen als" ändern...
Bild 007.jpg

... z.B. Anzeigen als "einzelner Knochen" (und die Namen anzeigen lassen)
Bild 008.jpg

Gruß
EASY

Bearbeitet von EASY

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren