[blender]ドライバーを使ってシェイプキーでボーンの角度と連動させ形状を補正

blender2.82使用
前回の記事では補助ボーンをドライバーで連動させましたが、今回はシェイプキーを使います。



シェイプキーの利点はメッシュをより自由に変形させられる事です。
欠点はオブジェクトごとにシェイプキーを用意する必要がある事です。

より正確にメッシュを制御するにはシェイプキーの方が良いでしょう。
補助ボーンを複数配置するより早い場合もあります。








シェイプキーを作る方法
まずはシェイプキーはどんなものなのか紹介します。
シェイプキーはメッシュデータなどの頂点を変形させる機能です。

まずはオブジェクトを選択してシェイプキーで+を2回押してください。
1回目はBasisが作られます。文字通りベースの形状です。これを編集すると全てのシェイプキーに変更が加えられます。
2回目からシェイプキーが作られます。
以降シェイプキーを作り形状を編集していきます。


注意することはシェイプキーの編集中に頂点や面などの追加や削除、メッシュの構造を変える事は御法度です。
これをやるとシェイプキーが壊れる事があります。
シェイプキーの編集はトランスフォームのみに限定しましょう。
基本的にシェイプキーは形状が確定してから作るものです。
つまりモデリングがおわってから作るものです。







シェイプキーは直線補完
これもシェイプキーの注意点なのですがシェイプキーはあくまで頂点の移動を記録したものに過ぎません。
例えシェイプキーで回転させたとしても、直線的に補完されます。
ここもボーン変形と違うところです。

まぶたの開閉のシェイプキーで直線移動のために眼球にめり込んでしまう事もあります。

シェイプキーがあるとモディファイアを適用できなので注意
これは特にキャラクター作るときにミラーモディファイアを使う事が多いと思います。
しかしミラーモディファイアを適用前にシェイプキーを作ると、モディファイアが適用できなくて困る事になります。
(左右で別々のシェイプキーを作る時など)


一応シェイプキーが少なければ対応する事も出来るのですが、数十ものシェイプキーを作った後だと大変です。

対応方法ですが、残したいシェイプキーを最後に消すとそのシェイプキーが形状に適用されます。
これを応用してシェイプキーの数だけ複製し、それぞれのシェイプキーを形状化させます。
その後、それらの形状にモディファイアを適用させ、基本形状に再度それぞれの形状をシェイプキーとして結合します。
もちろんシェイプキーの結合はメッシュ構造が同一だからこそ出来る事です。

再度書きますが、シェイプキーはモデリングが完全に終わってから作るものです。



本題:ドライバーでシェイプキーとボーンを連動させる
前置きが長くなってしましましたがここからが本題です。
前回の腕のモデルを使います。

まず腕を曲げた状態でメッシュを編集できる様にします。





シェイプキーを作ります




この状態で腕が適切な形になる様にシェイプキーを編集します。
今回はこの様にシェイプキーを作りました。
力こぶと肘の出っ張りと埋まりの改善をしました。



このシェイプキーにドライバーを追加します。
ここら辺の設定の詳細は前回の記事をご覧ください



ちょっとシェイプキーの効きが強すぎるので少し調整します。
シェイプキーの式を-varから-var*0.4に変更して効果を弱めました。

これで完成です。
関節周りは闇雲にボーンを増やすより、シェイプキーで補正した方が早いかも知れません。