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について
https://gyazo.com/03241d2d576056a3064a74eef957ec0c
Blenderにおける「ユーザー」とは、Blenderをさわっている作業者のことではなく、
Data-Blockを使用しているData-Blockのことを指している。
上のスクショの例だと、MaterialのUserはCube(Mesh)だし、Cube(Mesh)のUserはCube(Object)になる。
Userのないデータブロックは、いわゆる「未使用ノード」扱いになるため保存されなかったり、あやまって
削除されてしまうことになる。
ので、間違って削除されないように「使用してないけど消されない」ようにするため「FakeUser」を指定する。
Link
Data-Blockは、他のblendファイルからもLinkを作る事が出来る。
このLinkというのが、Mayaでいうところのリファレンスに近い機能。
https://gyazo.com/81b50b5e608f319f0ea96b3994249601
リファレンスとは違い、シーンをリファレンスするわけではなく、blend内に含まれる
Data-BlockをそのままLinkすることができる。
https://gyazo.com/c8c8af5878ccb5679725c31e0d3b6c96
オブジェクト単位、マテリアル単位でもLinkを作成できるが
個別にLinkを作るのが面倒な場合は、Collectionを作成してから
そのCollectionをLinkしてあげれば、複数のオブジェクトをまとめてLinkすることができる。
Linkで読み込んだデータは、鎖のようなマークが付く。
https://gyazo.com/6e43ec327032c4d11f04e52d9e6cb087
この状態だと、シーン内では一切編集することが出来ない(移動なども)
背景などのようなデータを読み込む場合は問題ないが、
モデルデータをLinkして共有したい場合はこのままだとNGなので「プロクシ」を作成する。
https://gyazo.com/e964afed551483ae871cfe36acb8655a
編集したいオブジェクトを選択して、Object>Relations>Make Proxy... をクリック。
https://gyazo.com/f9325efd760df47d1c4302f4747b938a
クリックすると、↑のようにプロクシを作成する前のオブジェクトは残したまま
_proxyと言う名前のオブジェクトが追加される。
https://gyazo.com/9b88c293b900f43bf20dad7a30191404
Linkしただけの場合は、移動やスケールなどの変更も、モディファイアの使用もできないが
プロクシを作成した後ならば移動もできるし、モディファイアも使用できる。
https://gyazo.com/5680bf692511567067cbb2bdf1e95e53
試しにLink元を編集してから、再度シーンを開き直すと
https://gyazo.com/aab4a9b0f7db06fe89a5ebdedacbc19a
Link元の編集を適応した状態で、プロクシで変更した情報が適応される。
このプロクシは、オブジェクト単位で作成する必要があるので、1つのモデルが複数のオブジェクトで作成されている場合は
編集したい数分プロクシを作成する必要がある?
(Collectionを選んでProxyを作成した場合、押したあとにCollection内のオブジェクトを選択するウィンドウが表示される)
一部リンクを残してAppend
Proxy作成以外でLinkしたオブジェクトを編集したい場合は、「MakeLocal」をする。
https://gyazo.com/8623cdf89e7d408931b569f31a20a205
このMakeLocalを押すと、選択したオブジェクトのみ読み込むことが出来る。
例えばObjectを選択しMakeLocalすると、ObjectはLinkからはずれるが
MaterialやMeshのLinkは残ったままになる。
共通モデルを使用してアニメーション、モデルはあとで差し替え...のようなフローを作りたい場合は、
プロクシ使って編集するようなフローが一般的なのか...?