Cinema 4d

Cinema 4D Splines Teil 1 (Cinema 4d Tutorial)

Tutorial erstellt von Andreas, letzte Änderung am 07.01.2008



Voraussetzungen
Cinema 4D R6 (+)
Grundkenntnisse Cinema4D
keine Module


Dieses Tutorial wendet sich an die Nutzer, die Splines ab und an mal nutzen, sich aber noch nicht über die Möglichkeiten dieser gemacht haben. Sicherlich werden wir uns hüten, mathematische Grundlagen zu liefern, es geht darum, die Splineproblematik für die tägliche Arbeit "griffig" zu machen. Vielleicht ist auch etwas für den fortgeschrittenen Nutzer entnehmbar; wer weiß schon alles...
Wir werden nicht vorrangig modellieren, sondern vielmehr auf die Splines komplett eingehen und abschließend einen separaten Workshop absolvieren, der auf die Kenntnisse des Spline-Tutorials aufbaut und nicht mehr jeden einzelnen Schritt erläutert.

Wenn man sich dem Thema Spline nähert, gilt es genau genommen 6 Schwerpunkte zu betrachten. Dabei handelt es sich um das Spline- Objekt, die Spline-Erzeugung, Spline-Grundobjekte, Werkzeuge zur Bearbeitung von Splines, dem Modellieren und dem Animieren per Splines.

1. Die Spline

Splines sind eine Abfolge von Stützpunkten. Sie stellen ein Hilfskonstrukt dar, das auf Punkten und deren Interpolation aufbaut. Die Linien, die wir beim Erstellen irgend einer Art von Spline sehen, sind also rein optischer Natur. Sie dienen uns lediglich dazu, den späteren visualisierten Verlauf zu verdeutlichen, der einzig und allein durch die Interpolation bestimmt wird. Eine harte Interpolation zieht eine Gerade bzw. gerade Eckpunkte nach sich, eine weiche Interpolation entsprechend eine gerundete Linie bzw. Kurven.  Es nützt also rein gar nichts, eine herangezoomte, eckig wirkende Spline dadurch "runden" zu wollen, dass man etwa die Zwischenpunkte in die Höhe treibt, es ist schier irrelevant. Zwischenpunkte nehmen nur Einfluss auf die Feinheit der Interpolation. Spätestens im Workshop wird aufgrund praktischer Natur ein eventueller "Aha-Effekt" eintreten..

Daraus folgt zunächst: Eine Spline wird beim Rendern aufgrund des eigentlichen "Nichtvorhandenseins" nicht dargestellt. Es handelt sich um eine "Linie". Die Spline ist eine theoretisch unendliche unsichtbare, lediglich zu Darstellungszwecken im Editor sichtbar gemachte Linie, die wir per Punkte "einschränken". Die kleinste brauchbare Spline ist eine Linie zwischen zwei Punkten (Gerade). Da die Spline zur Visualisierung einen Generator (hier die NURBS-Objekte) voraussetzt, muss es grundsätzlich dem Generator untergeordnet sein. Letztlich: Die Spline -aufgrund  reiner mathematischer Natur, ist auch Hilfsmittel für die Animation

Splines dienen hauptsächlich
1. zum Modellieren mittels Nurbs-Objekten (Ausnahme Hyper-Nurbs)
2.als Hilfsobjekt beim Modellieren (z.B. Duplizieren entlang einer Spline)
3. als Pfad für Animationen


1.1 Segmente

Wenn eine Spline aus mehreren Teilkurven oder Geraden besteht, spricht man von (mehreren) Segmenten. (Das kleinste Segment ist ergo eine Spline, die aus zwei Stützpunkten besteht...)  Wird die Art der  Zwischenpunkte (gleichmässig, unterteilt etc) verändert, werden keine Punkte auf dem Teilstück eingefügt, es verbleibt bei einem Segment. Es nützt also rein gar nichts, eine herangezoomte, eckig wirkende Spline dadurch "runden" zu wollen, dass man etwa die Zwischenpunkte in die Höhe treibt, es ist schier irrelevant. Zwischenpunkte nehmen nur Einfluss auf die Feinheit der Interpolation bei späterer Darstellung mittles Nurbs-Objekten bzw. bei animationssplines auf den weicheren Verlauf. Zur Verdeutlichung der Segment-Problematik sollen uns einmal folgendes Beispiel dienen:

Die Textspline

Zur Erläuterung von Segmenten ist kein Spline-Grundobjekt besser geeignet, als die Textspline. Insoweit greife ich den Spline-Grundobjekten vor.Ruft eine Textspline auf und gebt im Attribute-Manager "design" ein. Betrachten wir uns diese Spline einmal genauer. Wir sehen den Text in praller Schönheit, machen wir die Spline z.B. per Extrude-Nurbs sichtbar, erscheint wie selbstverständlich der Text, aber warum ist in das "d" nicht gefüllt, wir sehen also die Öffnung im "Bauch" des Buchstaben. Das ist der klassische Fall der Segmente.



Die Textspline ist zunächst ein Spline-Grundobjekt mit der Besonderheit, dass einzelne Buchstaben zur Visualisierung mehrere Segmente haben müssen. Wenn das "d" aus einem Segment bestehen würde, sähe es so aus (siehe unten) : Die Textspline ist ein Beispiel, dass ein Spline-Grundobjekt mehrere Segmente haben muss, damit es später unter einem Generator exakt dargestellt werden kann! Selbiges gilt für den Vectorizer. Auch er muss mehrere Segmente bilden, um das Abbild richtig darstellen zu können, handelt es sich letztens um einen "Umrechner" von 2D-Konturen in Splines, dessen Visualisierung wir begehren...



Klingt unspektakulär, hat aber immense Auswirkungen:

1. Modellierung
Ohne große Umstände -den Spline-Werkzeugen kurz vorgegriffen- können wir die Schrift derart umgestalten, dass ein abgetrennte Segment   ein eigenständiges Objekt (verschiebbar etc...) ist , wir müssen also nicht umständlich andere Splines aufrufen, um etwa ansprechende Logoanimationen zu fertigen. Zudem entfällt umständliches Gefummel, die Aushöhlung (den Bauch des "d") von neuem nachzubauen. Die Punkte des Bauches selektieren- das selektierte Segment abtrennen- fertig.



2. Animation
Das ist bedeutend wichtiger. Typischer Fall, ein Linsen- oder Lasereffekt soll die Spline abfahren. Per Auf Spline Ausrichten -Tag wird die Lichtquelle an die Spline geheftet. Welches Segment nun abgefahren wird, ist in dem animierbaren Parameter der XPression zu entnehmen. In unserem Beispiel fährt die Lichtquelle von Bild 0 bis 50 Segment  0 (Segment 0 ist das erste -hier äußere- Segment) ab. Ab Bild 51 bis Bild 100 wird das Segment 1 gekeyt. (Segment 1 ist das zweite Segment der Spline, der "innere Bauch"). Zur Verdeutlichung sind die jeweiligen Segmente orange eingefärbt.

Die Lichtquelle fährt also zunächst das äußere Segment (Segment 0), dann das innere (Segment 1) ab. Die Spline muss -da die Segmente bei einer Textspline bereits unkonvertiert vorliegen- nicht konvertiert sein. Zum Modellieren (oben) musste sie freilich konvertiert werden, um das Segment verschieben zu können. Gekeyt wurden also die Position der auf Spline ausgerichteten Lichtquelle und die Segmente. Zu mehr Eingriffsmöglichkeiten später unter "Werkzeugen".



Das, was man sich also unbedingt verinnerlichen sollte:

Eine Spline besteht mindestens aus einem Segment, kann aber mehrere haben. Die Unterscheidung spielt auch im Späteren bei den Werkzeugen eine einschneidende Rolle! Überall, wo später bei den Werkzeugen der Begriff Segment auftaucht, ist etwas anderes gemeint als etwa die Splinepunkte. Wenn wir das verstanden haben, würde die Beantwortung zweier "Kontrollfragen" nicht schwerfallen: Wieviel Segmente hat der Buchstabe B? Richtig, 3 Segmente... Antwort auf eine zweite Frage wäre: Ob ich die Spline z.B. gleichmäßig mit 80 Zwischenpunkten unterteile, ändert nichts an der Segmentanzahl, hat aber entscheidenden Einfluß auf die Darstellungsqualität und Animationsmöglichkeiten. Später wird uns diese Problematik noch des öfteren streicheln, etwa bei Verbinden von Splines etc.

Wenn wir nun den Unterschied geklärt haben, gehen wir nach der Definition auf das Spline-Objekt ein.

2. Das Spline-Objekt

Ehrlicherweise nutze ich dieses Gebilde selten...eher gar nicht. Es handelt sich um das "Mutter-Objekt". Es sind Splinetyp etc. wählbar. Es wird aufgerufen und es wird im Punkte-Modus eine Spline gesetzt. Dies geschieht per gedrückter Strg-Taste (Win) und linkem Mausklick. Praktisch ist dieses Objekt relativ bedeutungslos, da wir unter den Splines gleich mehrere Splinetypen haben, um nicht unnütz herumzuklicken. Bei dem Spline-Grundobjekt werden Stützpunkte mit harter Interpolation erzeugt. Vorstellbar wäre diese Herangehensweise, um z.B. einen abgehackten Kamerpfad zu erzeugen. Die Spline ist  von Haus aus nicht geschlossen. Jedoch muss man sagen, dass man z.B. mit einer aufgerufenen Bezier-Spline selbiges Ergebnis erzielt, da hier die Spline ebenfalls durch Linksklick erzeugt wird, nicht geschlossen ist und zunächst eine harte Interpolation entsteht...Zudem "erspart" man sich das Gedrückthalten der Strg-Taste...Geschmackssache. Zum anderen erscheint -je nach Aufgabe- eine ganz andere Herangehensweise sinnvoller, nämlich den Spline-Grundtyp zu wählen, der dem Ziel am nächsten kommen würde. Keiner würde auf die Idee kommen, eine Freihandspline zu zeichnen, die Punkte herumzuschubsen und zu Fasen, bis ein Kreis fertig ist. Stimmts?

Tipp
Beim Punktesetzen wird die Y-Koordinate immer auf Null gesetzt, wie deutlich im rechten Screen zu sehen. Das ist wissenswert, da man so z.B. grobe Kamerafahrten im 3D-Editor setzen kann  und "Höhen und Tiefen" (will meinen Y-Koordinate variiert) im Nachhinein einbaut...Einzige Ausnahme- die Freihand-Spline.



3. Die Spline- Erzeugung

Gemeint sind hier nicht die Spline-Grundobjekte, sondern welche Splinetypen uns zur Verfügung stehen, um eigene Splines zu kreieren. Entweder erreichen wir die Splineerzeugung über das Objekte- Menü oder über das Spline-Menü (Standard-Layout C4D)



Zur eigenen Spline-Erzeugung stehen uns also 6 Splinetypen zur Verfügung. Es muss ja einen Sinn haben, schauen wir sie uns der Reihe nach an:

Die Freihand-Spline

Die Freihand-Spline nimmt eine Sonderstellung ein: Zum einen ist sie die einzige Spline, die nicht auf die Y-Koordinate 0 setzt, sondern die werden senkrecht auf die Kamerasicht projiziert. Entweder zeichnet man in einer 2D- Ansicht -dann liegen alle Punkte auf der entsprechenden Ebene oder wir zeichnen sie in der Zentralperspektive mit dem Ergebnis, dass alle Punkte senkrecht zur Kamera gebildet werden.

Erstellt wird sie wie folgt: Nach Aufruf wird die linke Maustaste gedrückt gehalten und frei gezeichnet, läßt man die Maustaste los, ist die Spline erstellt. Das wäre freilich ein schöner Anwendungsfall für ein Grafiktablett :-). Das Parameter Toleranz bewirkt die Exaktheit des Zeichnens. Je höher der Wert, um so runder wird der Verlauf. Dies erreicht Cinema 4D dadurch, dass bei höheren Werten weniger Stützpunkte gebildet werden.



Sehr schön sind mit der Freihand-Spline also Umrisserzeugungen von Vorlagen -etwa die Weltkarte- umzusetzen.



Tipp
Falls beim komplexen Splinezeichnen kurz vor dem Ende etwas schief geht (falscher Umriss) nicht verzagen!
Wir werden später sehen, dass man nicht von neuem anfangen muss, man kann die Spline-Punkte verschieben, Punkte einfügen, Segmente und Splines verbinden; es muss nicht immer von vorn angefangen werden, soll es mal nicht auf Anhieb klappen...Es können also Teilstücke gezeichnet werden.

Da wir die Werkzeuge später betrachten, mag es an dieser Stelle zur Freihand-Spline reichen. Der klassische Anwendungsfall (am besten in einer Draufsicht) sind das Nachzeichnen von asymmetrischen Konturen.

Die Bezier-Spline

Diesen Spline-Typ wird man des öfteren nutzen. Die Bezier-Spline zeichnet sich dadurch aus, dass die interpolierte Kurve durch die Stützpunkte verläuft. Zunächst wird nach Aufruf und Setzen der Punkte ein jeweiliger gerader Verlauf der Spline sichtbar. Die Bezier bietet nun die Möglichkeit, alle oder einige Punkte zu "runden", indem man die vorgegebene harte Interpolation (gerader Verlauf zwischen den Punkten) in eine weiche Interpolation wechselt. Nachdem einem Punkt gesagt wurde, interpoliere weich, werden die Tangenten sichtbar.
Die Erstellung erfolgt entweder durch das Setzen der Stützpunkte und nachträglicher Tangentenbearbeitung oder interaktiv: Setzt man hintereinander zwei Punkte, wird zwischen ihnen eine harte Interpolation gebildet. (links). Beim dritten Punkt lassen wir die Maustaste gedrückt und schieben die Maus in verschiedene Richtungen. Wir sehen, wie Tangenten anliegen und das Segment gerundet wird. Wenn wir weiter klicken, entsteht ab dem vierten Punkt wieder eine harte Interpolation (weil wir nur weiterklicken und die Maus nicht verschieben) Punkt 5 und 6 werden auch wieder hart interpoliert. Das war es zum händischen Setzen.



Tipp
Solange die Maustaste bei Punkt 3 nicht losgelassen wird, sind die Tangenten sofort beeinflussbar, wenn also hier die Naus verschoben wird, springt der Stützpunkt in die weiche Interpolation; bei Loslassen ist der Stützpunkt gesetzt.

Aber die Bezier-Spline bietet noch bedeutend mehr Eingriffsmöglichkeiten. Es wäre ja fatal, auf ein ungefähren Verlauf angewiesen zu sein, da man mit zugekniffenem Auge die Tangenten per Maus steuert. Zunächst einmal ist folgendes wichtig: Nach grober Erstellung der Spline können wir die Stützpunkte im Selektions-Modus selektieren (per Strg-Taste auch mehrere) und im Verschiebe-Modus bewegen. Wenn wir im Verschiebe-Modus den Punkt mittig auf dem Achsenkreuz doppelklicken, öffnet sich das Bearbeitungsfeld der Tangente: Hier haben wir die Möglichkeit, die Lage des Punktes exakt festzulegen [und] die Tangentenlängen/Lagen zu steuern!

In unserem obigen Beispiel wollen wir Punkt 4 genau ausrichten und die Tangenten nach unserem Geschmack "verfeinern". Punkt 4 selektieren wir und wechseln in den Verschiebe-Modus und doppelklicken auf das Achsenkreuz mittig . Das Tangenten-Menü öffnet sich.



In diesem sind die Punktwerte (die Koordinaten des Punktes, identisch mit dem Koordinaten-Manager und die Länge der linken und der rechten Tangente zu entnehmen und genauestens numerisch abänderbar. Unten zu erkennen, was die Längen der Tangenten bewirken. Eine Tangente kann auch die Länge Null haben!  Dann wird ein abgehendes Segment hart (Tangentenlänge = 0) und das andere weich interpoliert (Kurve).



Die Bezier-Spline dürfte die wichtigste beim Spline-Modelling sein. Die Tangenten liegen genau an den Stützpunkten an und sind bearbeitbar. Im unteren Beispiel wurden die gelb markierten Punkte unterteilt, es entstanden zwei neue Stützpunkte (blau) und diesen wurde eine harte Interpolation verliehen. Unter einem Lathe-Nurbs sähe dies so aus. Wir erkennen die "harte" Meshunterteilung an der Interpolation. Zu weiteren Arbeitstechniken verweise ich auf den Workshop.



Die B-Spline

Nicht zu verwechseln -es handelt sich nicht etwa um eine Abkürzung für die Bezier oder eine andere Form dieser. Die B-Spline hat folgende Eigenheit: Ihr Kurvenverlauf geht nicht durch die Stützpunkte.. Daher wird der Kurvenverlauf sehr weich. Daraus folgt aber auch, dass nahe beieinander liegende Stützpunkte mehr Einfluss haben als weiter auseinanderliegende. Die Stützpunkte im linken Screen sind eingekreist. Diese müssen nun verschoben werden, um den Verlauf zu steuern. Des weiteren ist es bei dieser Splineart möglich, auch nach nochmaligem Anfassen des zuletzt gesetzten Punktes, diesen zu verschieben (rechts). Klassische Anwendungsfälle: Weiche Kamerafahrten etc.



Die Akima-Spline

Dieser Splinetyp ist angelehnt an einen natürlichen Verlauf wie etwa beim händischen Zeichnen. Der Kurvenverlauf geht exakt durch die Stützpunkte. Daher wirkt sie bei sehr nahe aneinandergereihten Punkten "eckig", es handelt sich aber nicht um eine harte Interpolation wie bei der linearen Spline. (links) Auch hier gilt das zur B-Spline Gesagtem bezüglich der nachträglichen Punkteverschiebung. (rechts). Wenn also etwas gezeichnet werden soll, wo eine harte Interpolation größtenteils nicht gewünscht ist und vorwiegend weiche Kurven -abhängig vom Abstand der gesetzten Punkte- entstehen sollen, sollte die Akima-Spline zum Einsatz kommen. Wenn man mit einem Bleistift wild zick zack malen würde, wäre die lineare Spline vorzuziehen, sollen mehr Rundungen entstehen, sollte man auf die Kubische Spline ausweichen.



Die Kubische Spline

Noch eine Spline mit weicher Interpolation, wozu das Ganze? Der Kurvenverlauf geht exakt durch die Stützpunkte, es ist ein Überschwingen möglich. Als Überschwingen wird der Effekt bezeichnet, dass bei eng aneinanderliegenden Stützpunkten die Kurve weiter hinausgeht, als notwendig. Bezeichnen wir es einmal als "Schleifeneffekt". Das Überschwingen lässt nur die kubische Spline zu. (Ehrlicherweise muss ich gestehen, dass dies bei einer Akima, wenn der nächste Stützpunkt sehr weit weg liegt auch geht, aber dies ist nicht praktikabel. Die kubische Spline könnte also eine Rolle z.B. bei Sweep-Nurbs-Animationen spielen...



Soviel zur Spline-Erzeugung. Im nächsten Teil gehen wir auf die Spline-Grundobjekte ein, die ja wie alle anderen Grundobjekte konvertiert und bearbeitet werden können, bevor wir uns auf die Werkzeuge stürzen. Zum zweiten Teil bitte da entlang...

Euer Andreas

>> Allgemeine Fragen oder Probleme mit dem Tutorial? Hier gehts zum Forum!

Impressum / Datenschutzerklärung          © der-Webdesigner.net 2002 - 2008           top ▲