# Blender Dokumentation/ Tutorials/ Workflow/ Mit Objektbibliotheken arbeiten

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

## Eigenschaften verlinkter Objekte

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

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

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

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: | Mesh | Mesh Mat | ShapeKeys | Obj Mat | Obj Ipo | Objekteigenschaften | Actions |
| 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

* Gibt es eine Möglichkeit bei Änderungen an der Bibliotheksdatei das Objekt automatisch neu zu laden?

## Links

* Releasenotes zu 2.43, Proxy-Objects
* Die Append-Funktion