アップルパイ技術メモ

活動してて貯まったノウハウを吐き出す場所。

blender 2.83~2.91 リグのリンクは今のところプロキシが無難。だがオーバーライドが色々と便利。

表題通り。ブレンダーでキャラクターを作りリグを組み、それでアニメーションを組むとなると、キャラクターが入ったブレンドファイルと、実際にアニメーションさせるブレンドファイルは分けて管理するのが色々考えて安全だ。ミス操作でどうしようもなくなったという事故を防げる。

で、そうするためには、他のブレンドファイルからキャラクターが入ったブレンドファイルを読み込むっていうことをする。手法は2つあって、リンクとアペンド。

アペンド

アペンドはシンプルに読み込んで元ファイルと同じように扱う。元ファイルのコピーを作るので、基本的には何も気にする必要は無い。欠点は、元ファイルからのコピーなので、元ファイルで変更や修正があっても反映されない。キャラクターのように今後もどんどん使っていき都度改良されていくようなファイルには不向き。逆に装飾品や物など、読み込み先で修正や変更して使う事を前提とした物ならアペンドが向いてる。

リンク

本題。リンクは元ファイルから読み込んだオブジェクトを元ファイルとの関係性を保ったまま扱う。当然元ファイルで修正があっても反映される。素敵。

ただ、このままだとただのオブジェクトなので、リグなども触れなくて不便。そこで「プロキシ」または「オーバーライド」を行う。

プロキシ

従来のリンクを扱う方法。

リンク>コレクション>「アーマチュアやオブジェクトがひとまとめにされたコレクション」を選択して読み込む。

f:id:fruits_pie:20200814115121p:plain

アーマチュアやそれに付随するオブジェクトが全て1つのコレクションに収まっているのが好ましい。ライトやカメラなどは入らないようにする。

キャラクターを選択し、「オブジェクト>関係>プロキシの作成」を選択する。すると一覧が出てくるので、リグを選択する。Auto rig proを使用している場合、hogehoge_rigという名前になっている。

f:id:fruits_pie:20200814115407p:plain

これでプロキシが作成できる。

f:id:fruits_pie:20200814115506p:plain

アウトラインにアーマチュアが追加されて幽霊のようなアイコンがついているのがわかる。これを選択した状態でポーズモードに入ると動かすことができる。

デメリットはいくつかあって、個別オブジェクトのオンオフができない、メッシュを設定したボーンの表示がなんかおかしい、モディファイアを適用できない、マテリアルを変更できない、といった問題がある。

オーバーライド

上記のプロキシに変わるべく現在開発されているのがオーバーライドだ。モディファイアを追加することができるし、それぞれのオブジェクトを個別に触ることもできる。ローカル化するとアペンドと同じように扱うことができ、マテリアルなどの設定もできるようになる。

ただ、まだ開発中なので、現行の2.83ではまだバグが多い。目立つところだと、一度ローカル化すると元に戻せない、ドライバーがサポートされていない(のでボーンとシェイプキーをドライバーで繋いでているとローカル化しないといけないし、その後それぞれのドライバーを設定し直す必要がある)。

2.91を触るとここらへんの不具合はある程度改善される。ドライバーは簡単な物なら問題無く動き、オーバーライドのリセットがあるが、アーマチュアから外されて孤立する。まだまだ完全とはいわないようだ。ただ、それでもメリットは多分にあるので、アニメーションは開発バージョンのblenderで行うというのは十分に選択肢に入ってくると思う。

やり方は簡単で、先ほどと同じ方法でリンクして呼び出したオブジェクトに、「オブジェクト>関係>ライブラリオーバーライドを作成」でオーバーライドを作成することができる。

f:id:fruits_pie:20200814121043p:plain

アウトラインに複数のオブジェクトが連なっているのがわかる。それぞれのオブジェクトにモディファイアを追加したり、変更することができる。

f:id:fruits_pie:20200814121148p:plain

それぞれの変更は差分としてブレンドファイルに保存され、元ファイルを汚染することもない。

f:id:fruits_pie:20200814121317p:plain

プロパティパネルにある鎖のアイコンをクリックするとローカル化できる。そうするとアペンドと同じような扱いになり、マテリアルを変更したり、ある程度弄ることができる。

ただ、そうした場合ローカル化しているので、元ファイルの修正が適応されない(されるかもしれないが、少なくともシェイプキーは適応されなかった)。元のリンク状態に戻すには、アウトラインで右クリック>ID data>ライブラリオーバーライドをリセットだが、不安定。

f:id:fruits_pie:20200814121747p:plain

また、ポーズモードでCtrl+Zで戻るとぶっ壊れる。今のところ再現度100%。ブレンダーファイルを開き直すか、アウトライナーblenderファイルにして該当ファイルを右クリックして再度読み込みすると直る。

今のところ不安定だが、前述したようにメリットも多いので個人的には積極的に使っていきたい。