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:

  1. Überobjekt
  2. Transformation
  3. Spiegel
  4. Klammer
  5. Feder
  6. Ausrichten
  7. 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 Kurbelzapfen bewegt den Kolben, der wiederum auf den Zylinder ausgerichtet ist.

Der Kolben erhält ein Constraint-Tag mit 2 Beschränkungen:

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:

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).

Ausrichten-Constraint hinzufügen

Das Objekt richtet sich nach dem Zielobjekt aus.

Achsen-Constraint hinzufügen

Das Objekt lässt sich nur an der entsprechenden Achse des Zielobjekts bewegen.

Klammer-Constraint hinzufügen

Das Objekt wird im aktuellen Abstand zum Ursprung des Zielobjekts "festgenagelt".

Spiegelungs-Constraint hinzufügen

Das Objekt bewegt sich spiegelbildlich zum Zielobjekt.

Ursprungs-Constraint hinzufügen

Das Objekt behält konstanten Abstand zum Zielobjekt.

Überobjekt-Constraint hinzufügen

Das Objekt verhält sich so, als wäre es ein Unterobjekt des Zielobjekts und bewegt sich entsprechend mit dessen Bewegung mit.

Ebenen-Constraint hinzufügen

Das Objekt kann sich nur in der X-Y-Ebene des Zielobjekts bewegen.

Punkt-Constraint hinzufügen

Das Objekt wird jeweils am nächst gelegenen Geometrie-Objektpunkt des Zielobjekts festgemacht.

Positions-Constraint hinzufügen

Das Objekt wird im Ursprung des Zielobjekts festgenagelt.

Transformations-Constraint hinzufügen

Das Objekt wird im Ursprung des Zielobjekts festgemacht und macht sowohl Winkel- als auch Größenänderung entsprechend mit.

Winkel-Constraint hinzufügen

Das Objekt übernimmt ausschließlich den Winkel des Zielobjekts.

Größen-Constraint hinzufügen

Das Objekt übernimmt ausschließlich die Größe (Tab "Koord." im Attribute-Manager: G.X, G.Y, G.Z) des Zielobjekts.

Spline-Constraint hinzufügen

Das Objekt wird an das Spline-Zielobjekt geheftet.

Feder-Constraint hinzufügen

Das Objekt federt dem Zielobjekt hinterher.

Oberflächen-Constraint hinzufügen

Das Objekt wird an die Geometrieoberfläche des Zielobjekts gebunden.

Up-Constraint hinzufügen

Das Zielobjekt wird als Up-Vector verwendet.

Begrenzungs-Constraint hinzufügen

Die Objektbewegung wird auf das Volumen eines polygonalen Zielobjekts bzw. das Innnere eines flächigen Zielsplines begrenzt.