Constraint
"Constraint" bedeutet auf Deutsch etwa "Zwang" oder "Beschränkung" und genau das tut dieses Tag: Es beschränkt die Möglichkeiten, wie weit sich ein Objekt im Verhältnis zu einem oder mehreren anderen während der Animation bewegen kann. Die Bedingungen, wie die Bewegungsfreiheit eingeschränkt wird, lassen sich mit einer Vielzahl an möglichen Constraints festlegen, die Sie alle in diesem Tag finden. Vieles von dem, was dieses Tag bietet, hat man früher typischerweise mit XPresso erledigt. Allerdings ist der Aufbau einiger in diesem Tag gebotener Constraints mit XPresso extrem aufwändig, andere lassen sich dort gar nicht erstellen. In jedem Fall aber ist die Berechnung des Constraint Tags wesentlich schneller.
Sie können mehrere Constraints in einem Tag gleichzeitig verwenden und für jeden Constraint mehrere Ziele anlegen. Dadurch sollte es nur nötig sein, mehr als einen Constraint Tag an einem Objekt zu benutzen, wenn Sie gezielt für verschiedene Constraints verschiedene Prioritäten verwenden wollen. Die Auswertungsreihenfolge der Constraints in einem Tag ist:
-
Überobjekt
-
Transformation
-
Spiegel
-
Klammer
-
Feder
-
Ausrichten
- Up-Vektor
Mehrere Ziele in einem Constraint werden in der Reihenfolge von oben nach unten abgearbeitet.
Es lohnt sich sehr, wenn Sie sich näher mit diesem Tag auseinandersetzen. Denn dieses Tag hilft nicht nur bei der Charakteranimation. Wo immer sich etwas bewegen soll werden Sie bald nie wieder auf Constraints verzichten wollen. Aber auch für statische Szenen können Contraints eine große Hilfe sein, zum Beispiel für das Anordnen von Objekten auf einer unebenen Oberfläche.
Beispiel
Stellen Sie sich ein Schwungrad mit Kolben und Zylinder vor. Normalerweise werden Sie das Schwungrad drehend animieren. Jetzt sollen sich natürlich Kolben und Zylinder dementsprechend naturgetreu mitbewegen.
Folgende Dinge sind dabei wichtig: Die Ursprünge von Kolben und Zylinder sollten jeweils in ihren Drehachsen (Werkzeug Achse) liegen. Kolben und Zylinder erhalten jetzt jeweils ein Constraint mit folgenden Einstellungen:
Der Kolben erhält ein Constraint-Tag mit 2 Beschränkungen:
- eine Transformations-Beschränkung, die die Kolbenstange mit ihrem Drehpunkt an den Kurbelzapfen fesselt.
- eine Ziel-Beschränkung, die sich um den Winkel des Kolbens kümmert. Dieser soll exakt auf den Zylinderdrehpunkt gerichtet sein.
Der Zylinder benötigt dann nur noch ein Constraint-Tag mit einer Ziel-Beschränkung, die auf den Drehpunkt des Kolbens (oder des Kurbelzapfens) zielt. Beachten Sie die Auswertereihenfolge von Constraints, die sich voreinstellungsgemäß nach der Reihenfolge im Objekt-Manager richtet. Wenn Sie in obigem Beispiel den Zylinder im Objekt-Manager nach oben (über den Kolben) verschieben, werden die Ergebnisse nicht korrekt sein (es sei denn, Sie greifen direkt in die Expression-Priorität ein, s. hier).
Wenn Sie parametrische Objekte vorliegen haben, deren Ursprung nicht ohne weiteres verschoben werden kann, werden Ihnen die Offset-Werte der Beschränkungen gute Dienste leisten!
Die Constraint-Befehle
Um Ihnen die Arbeit mit dem Constraint-Tag zu erleichtern, gibt es eine Reihe von Befehlen, die in Abhängigkeit der selektierten Objekte das zu erstellende Tag schnell und einfach einstellen. Dabei ist die Selektionsreihenfolge (nicht die Hierarchie der selektierten Objekte) wichtig.
Für die Selektion von Objekten gilt folgendes:
- das erste selektierte Objekt erhält das Constraint-Tag
- alle weiteren danach selektierten Objekte werden jeweils als Zielobjekt eingesetzt.
Es bietet sich also an, erst einmal alles zu deselektieren, dann das Objekt auszuwählen, dass "gefesselt" werden soll und dann mit Ctrl/Cmd-Klick die Ziele zu selektieren, bevor der entsprechende Befehl aufgerufen wird.
Sobald ein Constraint-Tag erzeugt ist und dieses nach wie vor selektiert, können einzelne andere Objekte selektiert werden und beim erneuten Aufrufen eines Constraintsbefehls mit gedrückter Shift-Taste wird das neue Constraint im selektierten Tag abgelegt (anstatt ein neues Tag zu erzeugen).
Das Objekt richtet sich nach dem Zielobjekt aus.
Das Objekt lässt sich nur an der entsprechenden Achse des Zielobjekts bewegen.
Das Objekt wird im aktuellen Abstand zum Ursprung des Zielobjekts "festgenagelt".
Das Objekt bewegt sich spiegelbildlich zum Zielobjekt.
Das Objekt behält konstanten Abstand zum Zielobjekt.
Das Objekt verhält sich so, als wäre es ein Unterobjekt des Zielobjekts und bewegt sich entsprechend mit dessen Bewegung mit.
Das Objekt kann sich nur in der X-Y-Ebene des Zielobjekts bewegen.
Das Objekt wird jeweils am nächst gelegenen Geometrie-Objektpunkt des Zielobjekts festgemacht.
Das Objekt wird im Ursprung des Zielobjekts festgenagelt.
Das Objekt wird im Ursprung des Zielobjekts festgemacht und macht sowohl Winkel- als auch Größenänderung entsprechend mit.
Das Objekt übernimmt ausschließlich den Winkel des Zielobjekts.
Das Objekt übernimmt ausschließlich die Größe (Tab "Koord." im Attribute-Manager: G.X, G.Y, G.Z) des Zielobjekts.
Das Objekt wird an das Spline-Zielobjekt geheftet.
Das Objekt federt dem Zielobjekt hinterher.
Das Objekt wird an die Geometrieoberfläche des Zielobjekts gebunden.
Das Zielobjekt wird als Up-Vector verwendet.
Die Objektbewegung wird auf das Volumen eines polygonalen Zielobjekts bzw. das Innnere eines flächigen Zielsplines begrenzt.