コンテンツにスキップ

Data-Block の User,Link,Proxy

Data-Block とは、Blender の基本となるデータ単位で、
mesh,object,material,texture,node-tree,scenes,text,brush,evenscreen
が Data-Block の扱いになる。
Bone や Vertex は Data-Block ではなく、Scene や Mesh に内包される扱いになっている。
Blender は、この Data-Block を 1 つの blend シーン内で Link
あるいは他の blend シーンから Link する形で構成されている。

Maya 的に言うノードがこの Data-Block?

User について

Blender における「ユーザー」とは、Blender をさわっている作業者のことではなく、
Data-Block を使用している Data-Block のこと を指している。
上のスクショの例だと、Material の User は Cube(Mesh)だし、
Cube(Mesh)の User は Cube(Object)になる。

User のないデータブロックは、
いわゆる「未使用ノード」扱いになるため保存されなかったり、
あやまって削除されてしまうことになる。
ので、間違って削除されないように
「使用してないけど消されない」ようにするため「FakeUser」 を指定する。

Data-Block は、他の blend ファイルからも Link を作る事が出来る。
この Link というのが、Maya でいうところのリファレンスに近い機能。

リファレンスとは違い、シーンをリファレンスするわけではなく、blend 内に含まれる
Data-Block をそのまま Link することができる。

オブジェクト単位、マテリアル単位でも Link を作成できるが
個別に Link を作るのが面倒な場合は、Collection を作成してから
その Collection を Link してあげれば、複数のオブジェクトをまとめて Link することができる。

Link で読み込んだデータは、鎖のようなマークが付く。

この状態だと、シーン内では一切編集することが出来ない(移動なども)
背景などのようなデータを読み込む場合は問題ないが、
モデルデータを Link して共有したい場合はこのままだと NG なので「プロクシ」を作成する。

編集したいオブジェクトを選択して、Object>Relations > Make Proxy... をクリック。

クリックすると、↑ のようにプロクシを作成する前のオブジェクトは残したまま
_proxy と言う名前のオブジェクトが追加される。

Link しただけの場合は、
移動やスケールなどの変更、モディファイアの使用もできないが
プロクシを作成した後ならば移動もできるし、
モディファイアも使用できる。

試しに Link 元を編集してから、再度シーンを開き直すと

Link 元の編集を適応した状態で、プロクシで変更した情報が適応される。

このプロクシは、オブジェクト単位で作成する必要がある。
1 つのモデルが複数のオブジェクトで作成されている場合は
編集したい数分プロクシを作成する必要がある?
(Collection を選んで Proxy を作成した場合、
押したあとに Collection 内のオブジェクトを選択するウィンドウが表示される)

一部リンクを残し Append

Proxy 作成以外で Link したオブジェクトを編集したい場合は、「MakeLocal」をする。

この MakeLocal を押すと、選択したオブジェクトのみ読み込むことが出来る。
例えば Object を選択し MakeLocal すると、Object は Link からはずれるが
Material や Mesh の Link は残ったままになる。

共通モデルを使用してアニメーション、モデルはあとで差し替え...のようなフローを作りたい場合は、
プロクシ使って編集するようなフローが一般的なのか...?