元記事:
blender.org - Proxy Objects
Proxy Object
Blender のパワフルな機能の一つに、他の Blend ファイルからデータをリンクして使用できることがあります。この時、このような参照データは常に他のファイルから読み込まれるだけで、編集はできません。
これは多くのケース、特に小道具や背景、編集がもう必要ない、Object のアニメーションなどでは上手く動作します。
また、参照データの(一部の)編集ができれば、と思う場合もあるでしょう。特にキャラクタアニメーションの設定で、完全なキャラクタを外部ライブラリから読み込みたいが、そのキャラクタのアニメーターに、Pose や Action についてまだ作業することを容認している場合などです。
図1この図は、あるライブラリからキャラクタを読み込んだ時の動作を示すものです(赤が参照されているデータ)。
- SC は Scene
- OB は Object
- ME は Mesh データ
- AR は Armature
- AC は Action
Pose は Object の一部であることに注意して下さい。Mesh Object はデフォームモディファイアである Armature Object にリンクしています。この状況では、参照されたキャラクタは一切編集できません。
図2もし、Object と Pose を Make Local すれば、その Object を色々動かしたり、Pose を設定できます。しかし、ライブラリから読み込まれた Mesh Object には、もうモディファイアは使用できません。
図3この図はモディファイアの衝突を解決できる方法を示しています。また、Mesh Object 自身をローカルにする必要ができました。
この状況の大きな欠点は、もう Pose 全体がライブラリから読み込まれないことです(これにはすべての IK と Constraint も含まれます)。つまり、ライブラリ内での重要なリギングの更新が無視されるということです。
もし、キャラクタ全体を参照し続けることができ、更に、ファイル内でいくつかの部分をローカルで編集できるよう設定できるなら、かなり改善されるでしょう。
図4これは Proxy Object の動作です。Proxy Object と、参照された Object と Pose が並び、ローカルで行った編集が参照データをオーバーライドできるようになりました。
Proxy Object の追加
ライブラリにリンクされた Object を選択・アクティブにしたあと、[Ctrl]+[Alt]+[P]を押します。
これで、新しい Object を追加し、ライブラリ Object を参照する Proxy(代理)が作成され、そのライブラリ Object は Scene から削除されます。
Outliner ではこれはゴーストアイコンで表示されます。
Proxy Object とのシンクロ
Proxy Object には、データをローカルで編集できるというだけでなく、更に特定のデータの保護もできるという、重要な特長があります。
プロテクトの設定がされているデータは、常にライブラリから(通常ファイル読み込みや Undo/Redo のステップで)元に戻されます。このプロテクトは、参照されるライブラリ自身で設定されます。つまり、そのライブラリファイル内でのみ、ローカルで変更できる部分を設定できる、ということです。
Pose については、Bone Layer 単位で保護するよう指示することができます。保護された Layer は黒いドットで示されます。ボタン上を[Ctrl]+クリックすることで、保護・保護解除できます。
注意- これは作業中のものであり、特に大きなアニメーションプロジェクトにおける評価用です。
- 現在、Proxy は他の Object にも同様にサポートしていますが、Object の Transform のみです(モディファイアや、Constraint などはサポートされていません)。
- Group 内の Armature への Proxy のサポートも追加される予定です。
元記事:
blender.org - Proxy Objects