In diesem Modellierungs-Tutorial, erstellt mit Blender 4.3, sehen wir uns an, wie man eine Kette modelliert, die einem durch ein Curve-Objekt definierten Pfad und dessen Länge folgt.



Videotranskript

Hallo zusammen! In diesem Modellierungs-Tutorial, erstellt mit Blender 4.3, sehen wir uns an, wie man eine Kette modelliert, die einem durch ein Curve-Objekt definierten Pfad und dessen Länge folgt. Allgemeiner gesagt, können wir mit der hier gezeigten Technik Objekte modellieren und animieren, die sich automatisch entlang eines beliebigen Pfads vervielfältigen.

Zuerst beginne ich mit dem Erstellen des ersten Elements der Kette. Es gibt verschiedene Möglichkeiten, ein solches Objekt zu erstellen. Ich beginne mit einem Torus und reduziere die Anzahl der Vertices, da die Standardanzahl viel zu hoch ist. Ich rotiere den Ring so, dass zwei Edge Loops entlang der Y-Achse ausgerichtet sind, füge dann zwei weitere Edge Loops genau in der Mitte entlang der Y-Achse mit dem Loop Cut-Werkzeug hinzu und bewege die gesamte rechte Hälfte entlang der X-Achse. So erhalte ich die Grundform des Kettenglieds. Während ich mich im Edit Mode befinde, positioniere ich das Objekt im Zentrum der Szene, sodass sich der Origin im Mittelpunkt des Objekts befindet.

Bevor wir weitermachen, möchte ich darauf hinweisen, dass man die Edge Rings, aus denen das Kettenglied besteht, ganz einfach skalieren kann. Man muss nur im Edit Mode in den Edge Select Mode wechseln, um einen Edge Ring auszuwählen, die Transform Orientation auf Individual Origins stellen, alle Edge Rings mit Select Edge Rings auswählen und dann die Auswahl skalieren. Diese Transformation kann man auch nach Fertigstellung der Kette anwenden, um das Aussehen der Glieder zu verändern. Wenn ich fertig bin, stelle ich die Transform Orientation sicherheitshalber wieder auf Median Point zurück.

Jetzt füge ich eine Kurve in die Szene ein. Es gibt verschiedene Arten von Curve-Objekten, und eines davon heißt Path. Path ist jedoch ein Nurbs-Objekt, das mit externen Kontrollpunkten und einem Gewichtungssystem arbeitet. Daher verwende ich lieber ein Bezier Curve-Objekt, das ich korrekt skaliere und ausrichte, sodass einer der Anfangskontrollpunkte mit dem Origin des Glieds übereinstimmt.

Dann wähle ich das Kettenglied aus und füge einen Array Modifier hinzu. Standardmäßig erstellt dieser eine duplizierte Kopie, die um eine Einheit entlang der X-Achse versetzt ist. Ich bemerke sofort, dass die neue Kopie nicht mit dem Originalobjekt ausgerichtet ist. Das liegt daran, dass ich den Torus anfangs um 10 Grad rotiert habe, und diese Transformation wird auch auf die neuen Objekte angewendet, die durch den Array erzeugt werden. Um dieses Problem zu beheben, wende ich die Rotationstransformation an, indem ich CTRL A drücke und im Menü Rotation and Scale auswähle. Die Skalierung dieses Objekts war gleichmäßig, da ich den Torus im Object Mode nicht skaliert hatte, also hätte ich Scale technisch gesehen nicht anwenden müssen, aber es schadet auch nicht.

Um das zweite Glied innerhalb des ersten zu positionieren, muss ich nur den Wert von Factor X unter Relative Offset verringern. Es gibt hier jedoch ein Problem: In den Array-Einstellungen kann ich keinen Rotationsfaktor einstellen, daher können die folgenden Glieder hierüber nicht rotiert werden.

Um dieses Problem zu lösen, muss ich ein drittes Objekt zur Szene hinzufügen, diesmal ein Empty, das ich genau an der Stelle des Origins des ersten Glieds platziere – ohne es zu skalieren, um Probleme zu vermeiden. Dann weise ich dieses Empty im Array Modifier dem Feld Object Offset zu. Jetzt werden alle Elemente nach dem ersten um 90 Grad um die X-Achse rotiert, wenn ich das Empty entsprechend drehe. Sowohl Relative Offset als auch Object Offset sind nun aktiv: Ersteres verschiebt die Kopien des Glieds, während Letzteres sie rotiert. Wenn ich nun den Wert von Count im Array Modifier erhöhe, entsteht eine Kette entlang der X-Achse.

Jetzt ändere ich den Fit Type des Array Modifiers von Fixed Count zu Fit Curve und weise natürlich die Bezier Curve als zu verwendendes Curve Object für die Länge zu. Auf diese Weise erstellt der Array automatisch genügend Glieder, um der Länge des Curve-Objekts zu entsprechen, allerdings immer noch in einer geraden Linie, vom ersten bis zum letzten Kontrollpunkt.

Damit die vom Array erzeugten Kopien dem Pfad der Kurve folgen, füge ich dem Torus Object einen Curve Modifier hinzu. Die Reihenfolge der Modifier ist wichtig, insbesondere muss der Curve Modifier nach dem Array Modifier kommen. Trotzdem sieht das Ergebnis noch nicht richtig aus, selbst wenn die richtige Deformationsachse ausgewählt ist, nämlich die X-Achse. Schauen wir uns jetzt ein paar Einstellungen an, die dieses Verhalten verursachen.

Zunächst einmal befindet sich der Origin des Curve Objects irgendwo außerhalb der tatsächlichen Kurve. Für ein gutes Ergebnis sollte sich der Origin am ersten Kontrollpunkt befinden, der mit dem Origin des ersten Kettenglieds übereinstimmen sollte. Also gehe ich in den Edit Mode und platziere den 3D Cursor am ersten Kontrollpunkt der Kurve, indem ich ihn auswähle und das Werkzeug Cursor to Selected verwende. Dann wechsle ich zurück in den Object Mode und benutze Origin to 3D Cursor, um den Origin des Curve-Objekts dorthin zu setzen.

Das sieht schon besser aus, aber wir sehen sofort, dass das erste Glied tatsächlich am letzten Kontrollpunkt platziert wurde, und die Kette sich von dort aus nach außen fortsetzt, außerhalb des Kurvenpfads. Das ist ein Hinweis auf ein weiteres Problem: die Richtung der Kurve. Curve Objects haben eine Richtung, die im Edit Mode angezeigt werden kann, wenn man die Anzeige der Normals im Curve Edit Mode Overlays-Menü aktiviert.

Um die Richtung der Kurve umzukehren, also Start- und Endpunkt zu vertauschen, müssen wir im Edit Mode alle Elemente der Kurve auswählen und das Werkzeug Switch Direction aus dem Segments-Menü verwenden. Trotzdem sieht das Ergebnis noch nicht ganz korrekt aus.

Die letzte Korrektur betrifft die Rotation der Kurve. Ich hatte sie ursprünglich um 180 Grad entlang der Y-Achse rotiert, um sie zu spiegeln, was jedoch zu einer gewissen Verwirrung in der tatsächlichen Ausrichtung führt. Um das zu beheben, wende ich die Rotations-Transformation mit CTRL A und Apply Rotation an. Auch wenn der Skalierungsfaktor der Kurve nicht 1 ist, wende ich diesmal Scale nicht an, da dies eine Anpassung weiterer Parameter erfordern würde. Es ist besser, das so zu belassen. Auf jeden Fall haben wir jetzt das richtige Ergebnis.

Jetzt können wir das Curve Object auswählen, in den Edit Mode wechseln und seine Control Points durch Verschieben, Rotieren oder Extrudieren verändern, und beobachten, wie diese Transformationen auf die Kette angewendet werden. Die Anzahl der Kettenglieder ändert sich automatisch entsprechend der Länge der Kurve, die sich aktualisiert, wenn wir die Kontrollpunkte verschieben oder extrudieren.

Wenn ich jedoch auch nur eines der drei Objekte bewege, die wir verwendet haben, um dieses Ergebnis zu erzielen, funktioniert plötzlich nichts mehr. Eine Transformation des Empty wirkt sich auf alle vom Array Modifier erstellten Kopien aus, während das Verschieben der Curve oder des Torus zu einer Fehlanpassung zwischen den beiden Objekten führt, was wiederum zu einem falschen Ergebnis mit dem Curve Modifier führt.

Um dieses Problem zu lösen, ist die einfachste Lösung, den ersten Control Point des Curve Objects, und damit das erste Kettenglied, an die Position des Empty zu verschieben und danach sowohl die Curve als auch den Torus dem Empty zu parenten. Parenting erfolgt über Mehrfachauswahl, wobei das zuletzt ausgewählte Objekt zum Parent der anderen wird. In unserem Fall muss also das Empty als letztes ausgewählt werden.

Sobald das erledigt ist, muss man nur noch das Empty verschieben, um den Startpunkt der gesamten Kette zu positionieren. Danach kann man die Bezier Curve auswählen und in den Edit Mode wechseln, um das Aussehen der Kette zu verändern.

Bevor wir das Tutorial abschließen, hier noch ein kleiner Bonus. Wenn du die Kurve animieren möchtest, kannst du zusätzliche Empties mit den Control Points verknüpfen, indem du eine Technik namens Hooking verwendest. Dafür wählst du im Edit Mode einen oder mehrere Control Points aus und nutzt dann das Werkzeug Hook to New Object. Ich wende dies zum Beispiel nur auf den letzten Kontrollpunkt der Curve an. Das neu erstellte Objekt ist ein weiteres Empty, das ich sofort in Hook Empty umbenenne, um Verwechslungen zu vermeiden. Dieses Objekt muss nicht unbedingt zu den anderen geparentet werden. Auf jeden Fall kannst du für dieses neue Objekt Keyframes einfügen und beobachten, wie sich die Kette animiert.

Der Fit Type des Array Modifiers war auf Fit Curve gesetzt, was für diese Art von Animation möglicherweise nicht ideal ist. Deshalb empfehle ich, stattdessen Fixed Count auszuprobieren. Das war’s mit diesem Tutorial! Ich hoffe, es war hilfreich. Bis zum nächsten Mal!

Tutorials durchsuchen

Geben Sie eine Suchphrase oder mehrere durch Kommas getrennte Schlüsselwörter ein.

3D-Modelle, Tutorials und Ressourcen zur Computergrafik von Francesco Milanese. Nutzungslizenzen für die 3D-Modelle können über die auf den jeweiligen Seiten verlinkten externen Shops zu den jeweils geltenden Lizenzbedingungen erworben werden. Francesco Milanese — Italienische Umsatzsteuernummer (Partita IVA): 06321250877. Kontakt: info@francescomilanese.com


ERWEITERTE DATENSCHUTZ- UND COOKIE-VERWENDUNGSRICHTLINIEN