[blender]プロキシオブジェクトでシェイプキーを使う方法

blender2.82使用
通常は他のファイルで作ったオブジェクトを読み込む時、アペンドを使う事が多いと思います。
しかしリンクで読み込むのもメリットが多いです。
リンクで読み込んだオブジェクトは基本的に編集できません。
代わりに元のシーンで変更を加えたら読み込んだ全てのシーンに反映されます。
つまり仮のオブジェクトを置いてレイアウトを作り、同時に細かなモデリングをするなどの作業の分業が出来るのです。
キャラクターでも同じです。アニメーターとモデラーの分業が出来ます。
それに後からキャラクターに変更を加えてもいちいち読み込み直す必要がありません。
しかし残念な事に普通はリンクしたオブジェクトにシェイプキーを追加しても、アニメーションさせる事が出来ません。
そこで今回はリンクしたオブジェクトのシェイプキーをアニメーションさせる方法を紹介します。














リンクしたオブジェクトを動かすにはプロキシ作成が必要
リンクしたオブジェクトは編集は愚か移動させる事すら出来ません。
元のシーンから読み込んだらそこに置いておくだけです。
それ以降元シーンの変更が自動的に反映されます。
しかしそれではあまりに不便なのでプロキシ作成をして動かせる様にします。


プロキシ作成してもシェイプキーは使えない
プロキシ作成すると動かせる様になるのですが、元のシーンでシェイプキーを追加してもリンク先で反映されますがそれを使う事はできません。


シェイプキーを使うにはドライバーを追加しよう
リンクオブジェクトのシェイプキーを使うにはまずドライバーを追加します。
エンプティなどでも良いのですが後のことを考えるとアーマチュアをお勧めします。
大抵の場合アーマチュアも設定しますからね。
それにシェイプキーの数だけドライバーを設定するのでアーマチュアならボーンを増やすだけでリンク先に反映されます
せっかくなのでアーマチュア込みで設定しましょう。


リンクで読み込むオブジェクトとアーマチュアなどはコレクションにまとめてリンクする時はコレクション単位で読み込むと良いでしょう。
その後プロキシ作成でアーマチュアを選択するとドライバーによってシェイプキーが制御できます。

ちなみにエンプティとメッシュオブジェクトの場合はエンプティをプロキシ作成しましょう。








シェイプキーを追加できるか確認してみる
リンクオブジェクトのシェイプキーを使うことが出来たので、元シーンでシェイプキーを追加しても反映されるか確認してみましょう。
先ほども書いた様にシェイプキーの数だけドライバーを設定する必要があります。
という事はそれだけボーンも増やすという事です。
シェイプキーやボーンはもちろん、ボーンウェイトも反映されましたね。成功です。


モデラーとアニメーターの分業が可能になる
Lightwaveはもともとモデラーとレイアウトの2種類で構成されているので自然とこうなるのですが、blenderでもこの方法を使えば分業が可能になります。
まず最低限モデラーはキャラクターの大きさと基本的なボーンは確定させなければいけません。
その後は、アニメーターがキャラクターの基本シーンからリンクしてプロキシを作成し、アニメーションを付けていきます。
その間、モデラーはキャラクターの細かい造形やテクスチャ、シェイプキーを追加していきます。
モデラーの成果はアニメーターがファイルを開くたびに更新されていくわけです。
もちろん個人制作でも複数のシーンを作った後でキャラクターの不備に気づいたら後から直せるわけです。


気になる新機能、ライブラリオーバーライド
この機能はblender2.81で追加されたプロキシを置き換えるものになるらしいのですがまだ未完成といった感想です。
プロキシ作成。シェイプキーは使えるが複数読み込むとおかしくなる




ライブラリオーバーライド。複数読み込んでも動作するがシェイプキー は動かない


https://wiki.blender.jp/Dev:JA/Ref/Release_Notes/2.81/Library_Overrides
その一つがまさにシェイプキーの未対応です。
一応シェイプキーを動かす方法もあるのですが、私がやってみた結果ドライバーを再設定する必要があったり、ファイルを開き直すとまたドライバーを修正する必要があるなどまだまだ問題を抱えています。(私のやり方が間違っているのかもしれませんが)
ライブラリオーバーライドでもドライバー再設定して使うことが出来るが保存して開き直すとまた設定し直し
現状はまだまだプロキシ作成を使った方が良いと思います。