Ich suche nach einer Möglichkeit, zwei separate Objekte zu verbinden, damit beim Verschieben des ersten Objekts auch das zweite Objekt verschoben wird. Der Begriff Eltern wird verwendet, aber wie kann ich ein Objekt übergeordnet machen?
Antwort
Wählen Sie für eine schnelle und einfache Antwort das Objekt aus, das wird zuerst verbunden (untergeordnetes Objekt) und dann das Objekt ausgewählt, das Transformationsdaten an das untergeordnete Objekt (übergeordnetes Objekt) überträgt. Die Auswahlreihenfolge ist wichtig. Das übergeordnete Objekt muss zuletzt ausgewählt werden, damit es die aktives Objekt . Drücken Sie nun Strg P > Objekt .
Es gibt viele Möglichkeiten, übergeordnete Objekte in Blender zu erstellen. Sie können Objekte aus fünf verschiedenen Fenstern übergeordnet haben: 3D-Ansicht, Eigenschaften-Editor, Outliner, Text-Editor und Konsole sowie eine entmutigende Liste verschiedener übergeordneter Typen.
Es scheint, dass Elternschaft eine komplexe Tortur ist. Lassen Sie mich versuchen, sie zu vereinfachen.
Aus dieser großen Liste gibt es wirklich nur drei Arten von Elternschaft. Dies sind Objekt , Armatur und Vertex .
Die Unterschiede in den vielen Elterntypen
-
Objekt Ist bei weitem der häufigste Elterntyp. Es wird in acht der dreizehn Elterntypen verwendet.
Jedes Mal, wenn zwei oder mehr Objekte ausgewählt werden, ist der Objekt-Elterntyp verfügbar. Jede Übersetzung (Skalendrehung und Position) in das übergeordnete Objekt wirkt sich auf das untergeordnete Objekt aus. -
Ankerverformung Dies ist wohl die komplizierteste Gruppe der Elternschaft Typen. Ankerverformung ist nur verfügbar, wenn das aktive Objekt ein Anker ist. Es legt ein übergeordnetes Objekt fest, wobei das ausgewählte Objekt das untergeordnete Objekt und das aktive Objekt (der Anker) das übergeordnete Objekt ist. Es fügt dem untergeordneten Objekt einen Modifikator Armature hinzu, wobei der Anker bereits als Zielobjekt des Modifikators festgelegt ist. Zu diesem Zeitpunkt wird nichts weiter als ein reguläres übergeordnetes Objekt ausgeführt. Die drei Unteroptionen Leere Gruppen , automatische Gewichte und Umschlaggewichte werden im Rigging-Prozess verwendet.
-
Knochen Ist nur verfügbar, wenn das aktive Objekt eine Armatur ist. Entspricht genau einem übergeordneten Objekt, aber hier wird das Kind aus einem einzelnen Knochen transformiert.
Im Bild unten habe ich den Ring herum positioniert Wählen Sie mit dem Finger und dann Shift den Anker aus. Mit dem Anker als aktivem Objekt können Sie in den Pose -Modus wechseln und den richtigen Knochen auswählen Knochen, mit Strg P > Knochen . -
Knochenrelativ Entspricht Knochen, mit dem Unterschied, dass sich Änderungen ergeben Im Bearbeitungsmodus für den übergeordneten Bone wird das untergeordnete Objekt nicht beeinflusst.
-
Kurvenverformung Ist nur verfügbar, wenn das aktive Objekt ein Kurvenobjekt ist ( Bezier- oder Nurbs-Kurve). Es legt ein übergeordnetes Objekt fest, wobei das ausgewählte Objekt das untergeordnete Objekt und das aktive Objekt (die Kurve) das übergeordnete Objekt ist. Es fügt dem untergeordneten Objekt einen Modifikator Kurve hinzu, wobei die Kurve bereits als Zielobjekt des Modifikators festgelegt ist.
-
Pfad folgen ist wieder nur verfügbar, wenn das aktive Objekt ein Kurvenobjekt ist. Is legt ein übergeordnetes Objekt fest, genau wie die Kurvenverformung. Es animiert auch die Auswertungszeit für das Pfadanimation für das Kurvenobjekt.
-
Pfadbeschränkung Ist die letzte Option, die nur für Kurvenobjekte verfügbar ist. Sie legt keine übergeordneten Elemente fest, sondern fügt dem ausgewählten Objekt mit der Option „Pfad folgen “ hinzu Das Ziel der Einschränkung als aktives Objekt (die Kurve).
-
Gitterdeform Ist eine spezielle Option, die nur verfügbar ist, wenn das aktive Objekt a ist Gitter. Es legt das Gitter als übergeordnetes Objekt und das ausgewählte Objekt als untergeordnetes Objekt fest und fügt dem ausgewählten Objekt einen Gittermodifikator hinzu.
-
Vertex Dies ist einer der drei Haupttypen der Elternschaft. Es unterscheidet sich von einem übergeordneten Objekt darin, dass dem Kind nur Standortinformationen gegeben werden. Es ist die Position des Scheitelpunkts, der das übergeordnete Element ist. Das übergeordnete Objekt muss nicht verschoben werden, aber ein Modifikator kann die Position des Scheitelpunkts ändern. Das untergeordnete Objekt wird verschoben.
-
Scheitelpunkt (Dreieck) Auf den ersten Blick mag es genauso aussehen wie ein übergeordnetes Objekt, aber es ist genau dasselbe wie ein übergeordnetes Scheitelpunkt, außer dass es jetzt 3 Scheitelpunkte gibt. Aus drei Eckpunkten erhält das Kind nun Position, Skalierung und Drehung wie bei einem übergeordneten Objekt. mit dem Vorteil der Verfolgung der Eckpunkte.
Die 3D-Ansicht
Am häufigsten werden übergeordnete Objekte in der 3D-Ansicht mit zwei oder mehr ausgewählten Objekten angezeigt. Drücken Sie Crtl P > Object . Beachten Sie, dass das übergeordnete Objekt das aktive Objekt und das untergeordnete Objekt das ausgewählte Objekt ist. Dies entspricht der Verwendung des Menüs in der 3D-Ansichtskopfzeile Objekt > Übergeordnetes > Objekt . Untergeordnete Beziehungsschiffe werden in der 3D-Ansicht durch eine kleine gestrichelte Linie dargestellt, die die Ursprünge des Objekts verbindet.
Hier wurden der Würfel und der Affe bereits als Objekt übergeordnet. Der Würfel ist das übergeordnete (aktive Objekt) und der Affe ist das untergeordnete Objekt.
Der Outliner
Der Outliner ist großartig, da keine Verwechslung mit dem aktiven Objekt besteht oder auf welche Weise das Elternteil geht. Sie ziehen einfach das Symbol des gewünschten untergeordneten Objekts und legen es auf dem gewünschten übergeordneten Objekt ab. Wenn es mehr als eine Option für die Elternschaft gibt, werden Sie vom Mixer gefragt, welche Sie verwenden möchten.
Das Eigenschaftenfenster
Sie können einfach das Objekt auswählen, das das übergeordnete Objekt sein soll. Bei dieser Methode ist das aktive Objekt immer das untergeordnete .
Übergeordnete Objekte, die diese Methode verwenden, führen jedoch zu sehr unterschiedlichen Ergebnissen in der 3D-Ansicht oder im Outliner.
In der Abbildung unten befinden sich sowohl der Würfel als auch der Kegel genau an derselben Stelle und haben keine Drehung oder Skalierung. Auf der linken Seite sahen beide vor jeder Elternschaft aus. Ich habe den Würfel sowohl in der Mitte als auch auf der rechten Seite dem Kegel zugeordnet. Das Zentrum wird über die 3D-Ansicht übergeordnet, und rechts habe ich das Feld im Eigenschaftenfenster verwendet.
Der Unterschied ergibt sich aus den verschiedenen Python-Befehlen (mehr dazu im Python-Bereich). Wichtig ist, dass bei Verwendung des Felds im Eigenschaftenfenster der Abstand des untergeordneten Objekts vom Weltursprung (0,0,0) zum Versatz zum übergeordneten Objekt wird. Dies wird im obigen Bild dadurch dargestellt, dass der Würfel 4 Einheiten beträgt entlang der X-Achse des Kegels.
Python
Die letzten beiden Stellen, an denen Sie Objekte übergeordnet haben können, sind der Texteditor und die Konsole . Beide ermöglichen den direkten Zugriff auf die Elternschaft über Python. Die beiden Elternbefehle sind
bpy.ops.object.parent_set()
und bpy.data.objects["child"].parent = bpy.data.objects["parent"]
Dieses Skript wird genau wie die 3D-Ansicht übergeordnet.
import bpy bpy.data.objects["child"].select = True bpy.data.objects["parent"].select = True bpy.context.scene.objects.active = bpy.data.objects["parent"] bpy.ops.object.parent_set()
Diese Codezeile
bpy.data.objects["child"].parent = bpy.data.objects["parent"]
ist das gleiche wie die Verwendung des Eigenschaftenfensters. Der Grund dafür ist, dass im Eigenschaftenfenster bpy.context.object.parent = bpy.data.objects["parent"]
ausgeführt wird, Blender jedoch überall parent_set()
.
Sie können jedoch die Verwendung von bpy.ops.object.parent_set()
vermeiden und das untergeordnete Objekt nach parentin an seiner Position belassen G. Dazu müssen Sie das untergeordnete Element „s matrix_parent_inverse
explizit auf die inverse Weltmatrix des übergeordneten Elements setzen. Siehe folgenden Code:
parent = bpy.data.objects.get("parent") child = bpy.data.objects.get("child") if child: child.parent = parent if parent: child.matrix_parent_inverse = parent.matrix_world.inverted()
Andere Optionen
Es gibt zwei andere Möglichkeiten, die gleiche Art von Beziehung wie ein übergeordnetes Objekt zu erhalten. Diese beiden sind Child Of Constraint und der übergeordnete Aktuator .
Child Of Constraint
Die Child Of Constraint funktioniert genauso wie ein übergeordnetes Objekt, mit dem zusätzlichen Vorteil, dass eine Einschränkung vorliegt: animierbare, mehrere übergeordnete Elemente für dasselbe Objekt, die nur bestimmte Transformationen und nur bestimmte Achsen betreffen.
Wie in der Wenn Sie das Zielobjekt manuell angegeben haben, möchten Sie wahrscheinlich die " Inverse " -Taste in der Taste drücken Einschränkung (dies geht auf den Unterschied zwischen dem Fenster „Eigenschaften“ und der 3D-Ansicht zurück) . Jetzt haben Sie ein Objekt, das sich genau wie das untergeordnete Objekt in einem übergeordneten Objekt verhält.
Eine Besonderheit der Einschränkung besteht darin, dass die Bewegung des untergeordneten Objekts erfolgt, wenn Sie sowohl das untergeordnete als auch das übergeordnete Objekt auswählen und verschieben zusammengesetzt sein, was bedeutet, dass es sich doppelt so schnell bewegt wie das Elternteil. Nach der Bewegung drücken Sie einfach die " Set Inverse " -Taste erneut, um das Kind zurück zum zu bringen korrekter Speicherort.
Mein Lieblingsmerkmal des untergeordneten Elements der Einschränkung ist, dass Sie nur bestimmte Transformationen beeinflussen können. Dies wird im obigen GIF demonstriert.
Parent Actuator
Der Parent Actuator ist ein logischer Baustein und funktioniert nur in der Spiel-Engine.Es macht genau das Gleiche wie ein normales übergeordnetes Objekt. Während die reguläre Elternschaft in der Spiel-Engine funktioniert (es gibt einige Macken ). Der übergeordnete Aktuator bietet den Vorteil, dass der übergeordnete Aktuator im Spiel über Logikbausteine oder Python dynamisch gesteuert werden kann.
Kommentare
- Gute umfassende Liste zum erneuten Betätigen -direkte Leute zu.
- Sehr nett! Was ist in der 3D-Ansicht der Unterschied zwischen " Objekt " und " Objekt ( Transformation beibehalten) "?
- Anson Savage, in Transformation beibehalten behält das Objekt genau die Position bei, an der Sie das Objekt in der 3D-Ansicht angeordnet haben.