Zum Inhalt springen

Blender Dokumentation/ Tutorials/ Workflow/ Mit Objektbibliotheken arbeiten

Aus Wikibooks
Diese Seite bezieht sich auf Blender v2.43

Wenn man eine komplexe Szene aufbaut, wird man nicht alle benötigten Objekte in einer Datei speichern wollen, insbesondere wenn mehrere Personen an der Szene arbeiten. Außerdem sollen sich bei Änderungen an den verknüpften Dateien die Objekte in der Szene ändern. Blender bietet dazu ein ausgefeiltes Hilfsmittel, die Link-Funktion.

Die Link-Funktion wird genauso aufgerufen wie Append, also mit

Abbildung 1: Blick in eine Blend-Datei.
  • Shift-F1 oder File->Append or Link
  • Suchen Sie im Verzeichnisfenster die entsprechende Datei auf, und klicken auf die Datei.

Sie sehen nun eine Übersicht über die in der Datei vorhandenen Kategorien (Abbildung 1).

  • Wählen Sie die Kategorie Object und wählen Sie die gewünschten Objekte mit RMT aus. Wählen Sie nicht die Kategorie Mesh aus, da Sie sonst nur die Meshdaten importieren.
  • Klicken Sie auf den Button Link (Abbildung 2).

Mit Relative Paths werden die Dateien relativ zueinander verlinkt, so dass - wenn Sie das Verzeichnis verschieben - alle Verlinkungen erhalten bleiben.

Abbildung 2: Ein Objekt aus einer anderen Datei verlinken.

Eigenschaften verlinkter Objekte

[Bearbeiten]

Verlinkte Objekte erkennt man zum einen daran, dass sie bei Auswahl mit einer anderen Farbe dargestellt werden als normale Objekte. Außerdem findet man das Li-Zeichen für verlinkte Datenblöcke, z.B. auf dem Link and Materials-Panel.

Für verlinkte Objekte gelten folgende Einschränkungen:

  • sie können nicht verschoben werden
  • sie können nicht im Edit-Modus bearbeitet werden
  • man kann das Material nicht ändern
  • Modifier und Multiresolution werden beim Speichern und Wiederöffnen der Datei entfernt.

Das einzige was Sie dauerhaft mit einem verlinkten Objekt machen können, ist das Verschieben auf einen anderen Layer. So können Sie Objekte in den Render ein- bzw. ausblenden.

Wenn Sie die Datei neu laden, wird das verlinkte Objekt aktualisiert. Ein verlinktes Objekt bringt alle zugehörigen Daten mit, also:

  • sein Mesh mit
    • Meshmaterial inklusive aller Texturen, auch der UV-Texturen
    • Shape-Keys
  • seine Objektdaten
    • Objektmaterial inklusive Texturen
    • Objekt-Ipos und Aktionen
    • Modifier

Die zu einem Modifier gehörende Armature wird aber nicht importiert, da es sich dabei um ein eigenes Objekt handelt. Sie müssen also ebenfalls die Armature auswählen und sie am besten ebenfalls verlinken.

Mögliche Probleme:

  • Ein Objekt mit einem Armature-Modifier und Shape-Keys ignoriert die Shape-Keys, wenn die Armature fehlt. Importieren Sie ebenfalls die Armature.
  • Es ist mir manchmal passiert, dass beim Löschen eines verlinkten Objektes und anschließendem Wiederverlinken manche Daten nicht aktualisiert wurden. Das liegt vermutlich daran, dass Blender Datenblöcke erst aus dem Speicher entfernt, wenn die Datei geschlossen wird.



Namenskonflikte sind ansonsten kein Problem, sie können beliebig viele Objekte mit gleichem Namen aus unterschiedlichen Dateien verlinken. Blender kommt damit zurecht, Sie werden dann allerdings die Übersicht verlieren.

Verlinkte Objekte bearbeiten

[Bearbeiten]
Abbildung 3: Ein verlinktes Objekt mit Armature im Outliner-Fenster.

Man wäre in der Benutzung von verlinkten Objekten sehr stark eingeschränkt, wenn man an Ihnen überhaupt keine Eigenschaften ändern könnte - insbesondere z.B. nicht einmal den Ort.

Ein Blick in das Outliner-Fenster (Abbildung 3) hilft sehr dabei, die Beziehungen zwischen den verschiedenen Datenblöcken zu verstehen.

Wählt man das Mesh-Objekt aus, und drückt L, stehen drei Optionen zur Auswahl: Make local:

  • Selected Objects: Ausgewählte Objekte sind lokal, aber nicht ihre Meshdaten und die Objektmaterialien. Sie können das Objekt jetzt verschieben und mit verschiedenen Modifiern (z.B. Subsurf) versehen, aber nicht das Material ändern. Bei Armatures können Sie keine Posen erstellen oder verändern.
  • Selected Objects and Data: Ausgewählte Objekte und Datenblöcke sind lokal. Jetzt verhält sich das Objekt wie ein ganz gewöhnliches Objekt. Machen Sie die Armature-Daten eines verlinkten Objektes lokal, kann das Mesh des Objektes nicht mehr von der Armature verformt werden (Abbildung 4).
  • All: Alle in der Szene verwendeten Objekte und Datenblöcke sind lokal.
Abbildung 4: Das Problem: eine lokale Armature kann kein verlinktes Objekt verformen.

Aber was ist, wenn man ein Meshmodell mit zugehörender Armature verlinken will, aber die Posen in der Szene noch verändern möchte? Dazu gibt es die Proxy-Objekte.


Proxy-Objekte

[Bearbeiten]

Der Hauptzweck von Proxy (Stellvertreter)-Objekten dürfte zur Zeit sein, ein verlinktes Objekt durch eine verlinkte Armature zu animieren, und dabei in der Szene noch eigene Posen zu definieren.

Abbildung 5: Eine Armature als Proxy-Objekt.
  • Verlinken Sie Armature und Objekt in eine Szene.
  • Wählen Sie die Armature aus.
  • Drücken Sie Strg-Alt-P->Make Proxy Object.

Das Ergebnis im Outliner sehen Sie in Abbildung 5. Die Posen können jetzt lokal definiert werden, die Armature selbst (also die Bones) sind verlinkt. Die verlinkten Posen sind in der Blenderdatei aber erhalten geblieben, sie können den Bones die verlinkten Posen ebenfalls zuweisen, dann aber (natürlich) nicht mehr bearbeiten.

Ich will ein Proxy-Objekt in einer Gruppe verwenden.

Nach meinen Erfahrungen können Sie das zwar tun, aber dann keine eigenständigen Animationen mehr für das Gruppenobjekt definieren.



Ein Proxy-Objekt erlaubt es, einen Teil der Daten eines Objektes lokal zu überschreiben, und in der Objektdatei zu definieren, welche Daten überschrieben werden dürfen. Dieses Konzept ist zur Zeit noch nicht sehr weit entwickelt, und funktioniert nur für das Posen von Bones.

Abbildung 6: Der Bone Bone.002 befindet sich auf einem geschützen Bone-Layer.
  • Ein Bone kann sich auf einem oder mehreren Bone-Layern befinden (auf dem Armature Bones-Panel).
  • Diese Bone-Layer können ein- oder ausgeblendet werden (auf dem Armature-Panel). Zusätzlich können sie geschützt werden, das geschieht durch Strg-LMT. Erkennbar ist eine geschützte Ebene an dem schwarzen Punkt.

In Abbildung 6 befindet sich der Bone Bone.002 auf Bone-Level 1 und 3, Level 3 ist unsichtbar aber geschützt.

Wird diese Armature in eine andere Datei verlinkt und ein Proxy-Objekt erzeugt, kann man jeden der Bones im Pose-Modus bewegen, wird die Datei aber wieder geöffnet (also auch die Library-Daten neu gelesen), werden die Posen von Bones auf geschützten Bone-Layern wieder zurückgesetzt.

Das ist im Moment noch nicht wirklich nützlich, aber ein interessantes Konzept.



Übersicht

[Bearbeiten]

In der folgenden Tabelle wird noch einmal zusammengestellt, welche Eigenschaften aus der Vorlage wiederhergestellt werden (Ja), welche Eigenschaften übernommen werden aber verändert werden können (Nein), bzw. welche Eigenschaften sogar verloren gehen (Ver). Die verlorenen Eigenschaften können dann in der importierenden Datei gesetzt werden. Objekteigenschaften sind Loc/Rot/Size, Partikeleffekte, Constraints usw.

Bei einer Armature entspricht das Mesh dem Aufbau des Skeletts, also z.B. der Benennung der Bones. Die Besonderheiten im Pose-Modus wurden ja bereits beim Proxy-Objekt besprochen.

Vorlage: MeshMesh MatShapeKeysObj MatObj IpoObjekteigenschaftenActions
Linked: Ja Ja Ja Ja Ja Ja Ja
Local Object: Ja Ja Ja Ja, man kann aber zum Mesh Mat wechseln. Nein Nein Nein
Proxy Object: Ja Kein Material oder Ja Ja Kann nicht eingestellt werden. Ver Ver Die Actions werden importiert, aber nicht automatisch zugewiesen.
Local Object & Data:Nein Nein Nein Nein Nein Nein Nein

To-Do

[Bearbeiten]
  • Gibt es eine Möglichkeit bei Änderungen an der Bibliotheksdatei das Objekt automatisch neu zu laden?
[Bearbeiten]