Keywords

Hierarische Objekte

Diese Grundlage behandelt Objekte, die aus einer Menge von Gelenken und Verbindungen bestehen. Dazu zählen Gruppen, Verknüpfungen und Skelett-Systeme. Bereits einfache Objekte, die aus mehreren Teilen bestehen, sind in den meisten Fällen in Gruppen und Untergruppen eingeteilt. Um eine größere Anzahl von Objekten überschaubar verwalten und bearbeiten zu können, werden Gruppen, Duplikate, Hierarchien, Sichtbarkeitsgruppen (sogennante Layer) und Darstellungsmodis verwendet. Gruppen, Hierarchien und Pivots (Schwerpunkte) sind nicht nur für die Objektverwaltung , sondern auch für die Animation entscheidend. Bei hierarchischen Ketten werden generell Rotations-, Translations- und Skalierungswerte (affine Transformationen) an die untergeordneten Objekte weitergegeben. Hierarchisch gegliederte Ketten werden in weiterer Folge mit vorwärts gerichteter und inverser Kinematik animiert.

Ein Würfel, bestehend aus 6 Flächen, bewegt sich in der Animation einerseits durch Rotation und Translation vorwärts und andererseits faltet sich der Würfel flach auf. Dazu werden die Würfelseiten hierarchisch gegliedert. Die Pivots der einzelnen Flächen werden an den Rotationsachsen positioniert. Bewegt sich der gesamte Würfel, wird das Objekt "bottomnurbsCube1" animiert. Die untergeordneten Objekte erben die Translations- und Rotationswerte. Beim Auffalten drehen sich die einzelnen Flächen um 90°.
Animation: Würfel | swf | 45 kb


Bei komplexen Animationen wie z. B.: bei roboterartigen Abläufen oder Charakteranimationen werden Skelett-Systeme eingesetzt.
Vergleich: Hierarchisch verbundene Objekte / Skelettsystem
(a) Skelett-System: Es werden Gelenke gezeichnet, die automatisch verbunden sind. Wird der joint1 (Gelenk) bewegt oder gedreht, beeinflusst das auch die untergeordneten Objekte.
(b) verknüpfte Objekte: Die sechs Würfel sind hierarchisch geordnet. Wird z. B. ein Würfel gedreht, drehen sich die untergeordneten Objekte mit.

Gelenk (engl.: Joint)
Legt den lokalen Mittelpunkt und das Koordinatensystem für die Objekte in einer hierarchischen Kette fest. Die Verknüpfung verbindet den Drehpunkt eines untergeordneten Objektes mit dem Drehpunkt eines übergeordneten Objektes. Gegliederte hierarchische Ketten werden in den gängigen 3D-Programmen unterschiedlich bezeichnet: Joint (Maya), Bone (3ds max)

Verbindungen (engl.: Link)
Definiert die Verknüpfung zwischen einem übergeordneten und einem untergeordneten Objekt und bildet die Basis für die Übertragung der affinen Transformationen.

Fallbeispiel: Erstellung einer Hierarchie

Das folgende Fallbeispiel verdeutlicht die Verwendung von hierarchischen Verknüpfungen und zeigt die unterschiedlichen Auswirkungen von Parenting und Grouping:

Fallbeispiel:
Die Objekte >sonne<, >erde< und >mond< sollen so animiert werden, dass sich die Erde um die Sonne und um ihre eigene Achse dreht. Der Mond kreist um die Erde und rotiert gleichzeitig um die eigene Achse. Eine naturgetreue Darstellung ist in diesem Beispiel unwichtig.

Lösungsansatz ohne Hierarchie:

Die Objekte befinden sich in der selben hierarchischen Stufe. Wird der Schwerpunkt bzw. der Pivot der >Erde< in das Zentrum der >Sonne< verschoben, kann die >Erde< um die >Sonne< gedreht werden. Das gilt auch für den >Mond< : Der Pivot des >Mondes< wird in das Zentrum der > Erde< verschoben. Werden >Erde< und >Mond< gleichzeitig rotiert, dreht sich die >Erde< um die >Sonne< aber der >Mond< um die Startposition der >Erde<. Der Ansatz führt somit nicht zum gewünschten Erbebnis.

Hierarchie durch Gruppieren

Gruppe (engl.: group)
Ein oder mehrere Objekte werden einem neuen Objekt untergeordnet. Dieses Nullobjekt bzw. diese Gruppe verfügt über einen Pivot und besitzt die Eigenschaften Rotation, Translation und Skalierung. An dieser Stelle sei erwähnt, dass alle neu erstellten Objekte Unterobjekte einer übergeordneten Gruppe "Welt" (World) sind, die nicht als bearbeitbare Gruppe exisitert.

Lösungsansatz druch Gruppieren:
Werden zwei Objekte gruppiert, bilden diese Child-Objekte einer Gruppe. Alle affinen Transformationen der Gruppe werden an alle Unterobjekte bzw. Untergruppen weitergegeben. Beim Gruppieren der Objekte kann der Pivot definiert werden. In der oberen Darstellung befindet sich der Pivot im Zentrum der Gruppe. Eine Rotation um die Y-Achse der Gruppe verursacht in diesem Beispiel eine unrealistische Bewegung. Wird der Pivot der neuen Gruppe in das Zentrum der Erde platziert, dreht sich die >Erde< incl. >Mond< um die eigene Achse.
Die Gruppe besitzt ebenfalls einen Pivot. In der Standardeinstellung liegt der Schwerpunkt der neuen Gruppe entweder im Ursprung (Origin) oder im Zentrum (Center) der Objekte. Die linke Abbildung zeigt die Group Option Box in Maya:
Group under definiert, ob die neue Gruppe in die bereits existierende Hierarchie eingeordnet wird, oder ob diese direkt der "Metagruppe Welt" untergeordnet wird. Group Pivot definiert den Pivot der neuen Gruppe. Beim >parenting< wird im Gegensatz zum >grouping< ein Objekt einem anderen Objekt untergeordnet. Es entsteht kein zusätzliches Objekt (node).

Hierarchie durch Verknüpfung / Parenting

Parenting bedeutet Objekte zu einer hierarchischen Kette zu verknüpfen. Durch Verknüpfen zweier Objekte stellen Sie eine Beziehung zwischen untergeordnetem Objekt (engl. child) und übergeordnetem Objekt (parent) her. In den meisten Programmen wird das zuerst ausgewählte Objekt dem zuvor selektiertem Objekt untergeordnet.

verknüpfen (engl.: parenting, link):
Objekt, dem ein oder mehrere Objekte (auch "child" genannt) untergeordnet sind. Affine Transformationen werden an die Unterobjekte weitergeleitet.

Lösungsansatz druch Parenting:
In dem Fallbeispiel wird der >Mond< der >Erde< untergeordnet. Durch die Rotation der >Erde< dreht sich der >Mond< mit. Der >Mond< kann sich ebenfalls um die eigene Achse drehen. Im nächsten Schritt wird die >Erde< der >Sonne< untergeordnet. Wird die >Sonne< rotiert, dreht sich die >Erde<mit allen untergeordneten Objekten mit.


Animation: Hierarchie (Sonne-Erde-Mond)
mov | 1,06 MB

Skelett-System

Skelett sind eigene hirarchische Ketten. Beim Erstellen von Gelenken bzw. Bones entstehen automatisch Verknüpfungen. Jedes neu gezeichnete Gelenk stellt ein Unterobjekt eines übergeordneten Gelenks dar. Skelett-Systeme werden für Charakteranimationen und komplexe Animationsaufgaben eingesetzt. Diese werden in weitere Folge mit vorwärtsgerichteter und inverser Kinematik animiert.


(a) Character-Setup: Ein Skelett-System steuert die Geometrie. Durch zusätzliche IK-Kontroller werden Hand-Arm-Systeme und Beine animiert.
(b) Roboterarm mit Skelett-System: Die einzelnen Roboterteile sind mit den Gelenken verbunden. Die Gelenke werden animiert, die wiederum die Geometrie steuern.

Ergänzende und vertiefende Module