rollit
Sep 2007

Roll-It Anleitung

Neue Version verfügbar: Roll-It 2017

Installation

Das PlugIn kann hier heruntergeladen werden: Roll-It.
Einfach den Ordner “RollIt” in den plugins-Ordner von Cinema4D kopieren und Cinema4D ggf. neu starten.
Die Expression findet sich im Objekt-Manager unter Tags / Roll-It oder direkt per Rechtsklick auf ein Objekt im Objekt-Manager.
Der Aufruf der Expression erzeugt das Roll-It-Tag am Objekt. Die Selektion dieses Tags erlaubt im Attribute-Manager die Bearbeitung der Parameter.

Einleitung

Roll-It besteht aus drei Bereichen: Roll, Floor und Rotate, die parallel, aber auch einzeln verwendet werden können. Näheres dazu im Anschluß an die Einleitung.
Tipp: nicht das Roll-It-Objekt selbst animieren, sondern ein hierarchisch darüberliegendes Null-Objekt. So bleibt das Roll-It-Objekt unabhängig von z.B. Positions- und Rotations-Keys und kommt mit diesen nicht in Konflikt. FLOOR funktioniert nicht, wenn man direkt das Roll-It-Objekt keyt: überschreiben diese Positions-Keys die von FLOOR berechneten und das Objekt verbleibt auf der gekeyten Bahn.
Beinahe alle Parameter Roll-Its können gekeyt / animiert werden; auch in XPresso-Schaltungen kann Roll-It genutzt werden.

 

Roll

…rotiert ein Objekt in Abhängigkeit seiner globalen Positionsveränderung; oder anders: läßt ein Objekt entlang seines Weges rollen ;)

Aktiv & Aktiv beim Editieren

Wie jeder der drei Bereiche, kann ROLL mittels “Aktiv” aktiviert oder deaktiviert werden. Die zwei anderen Bereiche sind davon nicht betroffen.
Die Expression wirkt auf alle Interaktionen im Editor-Fenster: bewegt man dort das Objekt, “rollt” es. Ein deaktiviertes “Aktiv beim Editieren” unterbindet diese Interaktion und es werden nur tatsächlich animierte (z.B. mittels Keys) Bewegungen von ROLL interpretiert. Dies ist z.B. von Vorteil, wenn man eine neue Initialisierungs-Position setzen möchte, das Objekt sich dabei aber nicht drehen soll.
Zusammenfassung: Bei deaktivierten “Aktiv beim Editieren”, wird das Objekt nur bei “Abspielen” und beim Rendern gerollt.

Initialisierung

Jedes Roll-It hat eine Initialisierungs-Position und Rotation. Dies ist die Ausgangs-Position und -Rotation, auf die das Objekt bei Bild 0 zurückgesetzt wird.
Die Initialisierung ist lokal, d.h. befindet sich das Objekt in einer Hierarchie und diese wird verschoben, verschiebt sich die Initialisierungs-Position mit.
Beim Erzeugen des Expression-Tags, wird die aktuelle lokale Position und Rotation als Initialisierung gesetzt. Später muß mit “Setzen” eine neue Start-Position/-Rotation fixiert werden.
Mit “Anzeigen” wird das Objekt auf die derzeitige Initialisierung gesetzt bzw. diese im Editor dargestellt.

Radius

Entscheidend für die “Drehgeschwindigkeit” des Objekts ist der Radius. Roll-It versucht gleich bei Erzeugen des Expression-Tags den Radius des Objekts zu ermitteln und im Roll-Tab unter Radius einzutragen. Der Radius entspricht dabei der Hälfte der lokalen Y-Größe des Objekts. Bei manchen Objekten kann Roll-It den Radius nicht bestimmen – so z.B. bei Nurbs-Objekte – und als Radius wird “1″ eingesetzt; in solchen Fällen ist der Radius manuell einzutragen (ein Radius von kleiner gleich Null ist nicht zulässig).

Alternativ zum “Lokalen Umquader” kann der Radius aus der Hälfte der Höhe eines “Globalen Umquaders” ermittelt werden. Diese Methode in Kombination mit “Berechne pro Bild” macht Sinn bei Objekten, deren Radius sich beim Rotieren ändert, z.B. einem Würfel.

Roll-Achse

Per Roll-Achse kann die Rotation auf die Achsen P oder B beschränkt werden. Dies macht Sinn bei z.B. einem Rad, das sich – anders als eine Kugel – nur um eine Achse drehen soll. Die Roll-Achsen sind dabei lokal.

 

Floor

…kümmert sich darum, daß das Objekt auf einem Boden zum liegen kommt bzw. auf diesem “rollt”.
Um FLOOR nutzen zu können, darf das Roll-It-Objekt keine Positions-Keys besitzen: diese überschreiben die von FLOOR berechnete Position und das Objekt verbleibt auf seiner gekeyten Bahn. Stattdessen sollte das Roll-It-Objekt mittels einem hierarchisch darüberliegendem Null-Objekt animiert werden (siehe oben “Tipp”).

Aktiv

Das gleiche Spiel: aktiviert oder deaktiviert diesen Bereich; ROLL und ROTATE sind davon nicht betroffen.

Objekt-Methode

Für die Berechnung des Abstands des Objekts vom Boden gibt es zwei Methoden:
“Roll-It Radius” orientiert sich am unter ROLL gesetzen Radius. Diese Methode ist wenig rechenaufwändig, da dieser Radius ja bereits verfügbar ist, aber natürlich auch ungenauer.
Bei “Geometrie” wird jeder einzelnen Punkt des Objekts zum Berechnen des Abstands zum Boden herangezogen. Diese Methode ist rechenaufwändiger und kann bei komplexen Objekten sehr zeitaufwändig sein.
Anmerkung: “Geometrie” benötigt keine Polygon-Objekte, d.h. es können auch unkonvertierte Grund-Objekte oder z.B. Nurbs-Objekte verwendet werden.

Boden-Objekt

Wird kein Boden-Objekt angegeben, wird die von den Welt-Achsen aufgespannte X-Z-Ebene als Boden gesehen.
Ist das angegebene Boden-Objekt eine Achse / ein Null-Objekt, definiert die X-Z-Ebene dieser Achse den Boden. Anmerkung: Boden-Objekte müssen nicht konvertiert / Polygon-Objekte sein.

Boden-Methode

Ähnlich der Objekt-Methode gibt es zwei Berechnungsarten: bei “Achse” wird nur die durch X und Z aufgespannte Ebene zur Berechnung herangezogen. “Geometrie” dagegen zieht die Punkte des Boden-Objekt in die Berechnung mit ein. Die zweite Variante ist – wie bei der Boden-Methode – die rechenaufwändigere und kann sehr zeitaufwändig sein.

Grundsätzliches

+ Floor akzeptiert auch durch Deformer veränderte und/oder animierte Objekte.
+ Bei “schrägen Böden” kommt es bzgl. der Roll-Berechnung zu Ungenauigkeiten: Roll-It ist keine Physic-Engine und erreicht dort seine Grenzen…

 

Rotate

…schließlich ist ein kleiner Zusatz, mit dem sich das Objekt “stetig” rotieren läßt.

Aktiv

Wieder läßt sich dieser Bereich – unabhängig der zwei anderen – aktivieren und deaktivieren.

Rotate-Global

Um die hier eingetragenen Winkel dreht sich das Objekt global, d.h. aus Sicht der Welt-Achsen:
egal, welche Ausrichtung das Objekt im Raum hat, es dreht sich z.B. um die Welt-Y-Achse (Global.H) Die Grad-Angaben können als “pro Bild” oder “pro Sekunde” interpretiert werden.
Mit “Ausnullen” können die drei Winkel per Mausklick auf null gesetzt werden.

Rotate-Lokal

Dreht das Objekt um seine lokale Achse.
Auch hier können die Winkel pro “Bild” oder pro “Sekunden” gesetzt werden.