Blender Dokumentation: Parenting
Diese Seite bezieht sich auf Blender v2.42a |
Mit Parenting erzeugen Sie eine hierarchisch gegliederte Gruppe von Objekten. Die so erzeugte Parent-Child Hierarchie entspricht am ehesten dem, was Sie aus anderen Programmen (z.B. OpenOffice) an Gruppierung kennen.
Ein übergeordnetes Objekt in einer Gruppe heißt Parent, das untergeordnete Objekt heißt Child. Dabei kann ein Parent viele Child-Objekte haben. Ein Child kann wieder zum Parent von anderen Objekten werden (Abbildung 1). Ein Child-Objekt übernimmt Positionsänderungen, Rotation und Skalierung des Parentobjektes. Die lokalen Koordinaten des Parent sind die globalen Koordinaten des Childs.
Eine Parent-Child Beziehung wird durch eine gestrichelte Linie im 3D-Fenster angezeigt, im Outliner sind die Objekte entsprechend hierarchisch geordnet.
Bedienung
Bearbeiten- Eine Parent-Child Beziehung erstellen
- Um eine Parent-Child Beziehung zu erstellen, wählen Sie zunächst die Child-Objekte aus. Wählen Sie am Schluss das zukünftige Parent-Objekt mit Shift-RMT aus, und drücken Strg-P. Bestätigen Sie Make Parent. Das aktive Objekt (das zuletzt ausgewählte Objekt) wird somit zum Parent der ausgewählten Objekte.
- Auswählen
- Drücken Sie SHIFT-G während Sie ein Objekt ausgewählt haben und es erscheint das Select Grouped Menü (Abbildung 2). Dieses beinhaltet:
- Children: Wählt alle Children des aktiven Objektes an und deren Children usw..
- Immediate Children: Wählt nur die Children des aktiven Objektes an und nicht ebenfalls deren Children.
- Parent: Wählt den Parent des aktiven Objektes an.
- Siblings: Geschwister, also Objekte mit gleichem Parent.
- Die übrigen Optionen beziehen sich nicht auf Parent-Child Beziehungen.
- Löschen der Parent-Child Beziehung
- Wählen Sie das Child-Objekt aus, und drücken ALT-P. Es erscheint das Menü aus Abbildung 3:
- Clear parent: Die globalen Koordinaten des Child sind wieder die globalen Koordinaten der Szene. Daher ändert das Objekt seine Position (Drehung, Skalierung), wenn das Parent-Objekt bewegt (rotiert, skaliert) wurde.
- Clear and keep Transformation: Das Child behält seine Position auch, wenn der Parent bewegt wurde.
- Clear parent inverse: Diese Option entfernt nicht die Parent-Child Beziehung, sondern positioniert (rotiert, skaliert) das Child-Objekt neu. Es wird so positioniert, als wenn sich das Parent-Objekt beim Parenten im globalen Koordinatenursprung befunden hätte.
- Make parent without inverse
- Es gibt eine zweite Möglicheit der Gruppierung: Strg-Shift-P bedeutet Make parent without inverse. Die globalen Koordinaten des Childs werden auf 0 gesetzt, es also auf dem Parent positioniert (rotiert, skaliert).
- Das Child nachträglich auf dem Parent platzieren
- Sie können das Child auf dem Parent platzieren, indem Sie seine Origin [Herkunft] löschen. Wählen Sie dazu das Child an und drücken Sie ALT-O. Das ist insbesondere bei Pfadanimationen nützlich, um das zu animierende Objekt auf den Beginn des Pfades zu setzen.
- Einen Vertex zum Parent machen
- Sie können auch einen einzelnen Vertex zum Parent eines anderen Objektes machen, indem Sie im Edit Mode zunächst diesen Vertex auswählen, anschließend mit Strg-RMT auf das andere Objekt klicken und schließlich Strg-P drücken. Dann übernimmt das Child zwar die Verschiebung des Vertices (bzw. des Objektes), aber nicht seine Rotation. Siehe Abschnitt Referenz: Mesh Menü.
Ich will eine Gruppe von Objekten haben, die sich immer gemeinsam bewegen.
Eine gleichberechtigte Gruppe von Objekten, die immer gemeinsam transformiert (z.B. bewegt) werden, gibt es in Blender nicht, die sog. Gruppen [Groups] haben einen anderen Einsatzzweck. Aber Sie können natürlich immer den obersten Parent der Gruppe bewegen, dem folgen alle anderen Objekte.
Was bedeutet Invers?
BearbeitenEs wurde ja bereits mehrfach darauf hingewiesen, dass beim Parenting die globalen Koordinaten des Childs nicht mehr die globalen Koordinaten der Szene sind, sondern durch die lokalen Koordinaten des Parents ersetzt werden. Deshalb folgt das Child ja auch dem Parent, weil sich der Koordinatenurspung für das Child verschiebt. Gleiches gilt für Rotation und Skalierung.
Wenn ein Objekt also an ein anderes geparentet wird, müsste es seine Position ändern - außer der Parent befindet sich sowieso im Koordinatenursprung. Das ist üblicherweise nicht erwünscht, daher erfolgt das Parenting (für den Benutzer unsichtbar) in zwei Schritten:
- Zuerst werden die Koordinaten des Parent invers angewendet.
- Dann werden die globalen Koordinaten des Childs durch die lokalen Koordinaten des Parents ersetzt.
Ein Beispiel: Der zukünftige Parent hat die Koordinaten (1,0,0), das zukünftige Child hat die Koordinaten (0,0,0). Beim Parenting werden zunächst die Koordinaten des Parent auf das Child invers angewendet - damit hat das Child die Koordinaten (-1, 0 0). Im zweiten Schritt werden die Koordinaten des Parent normal angewendet - nun hat das Child wieder die Koordinaten (0,0,0). Das Ergebnis ist also eine Nulloperation, an der Position des Childs ändert sich nichts.
Bei Make parent without inverse entfällt der erste Schritt. Die lokalen Koordinaten des Parent werden die globalen Koordinaten für das Child, alle Koordinaten des Child werden auf die Koordinaten des Parent gesetzt.
"Clear parent inverse" macht genau das gleiche, die inverse Operation vom Anfang wird aufgehoben.
Links
BearbeitenDie englischsprachige Vorlage dieses Textes