Rigifyでリグを作成したけど、「曲げたときのメッシュの形が変」とか「肘の折れ方が気になる」といった経験はありませんか?
そんなときに便利なのが補助ボーンの追加とウェイトの手動調整です。
Blenderの標準アドオンRigifyを使ったリグは非常に強力ですが、キャラクターのポーズやアニメーションのときのメッシュの見え方で、細かい調整が必要な場面もあります。この記事では、
- ウェイトペイントでメッシュ変形を修正する方法
- 補助ボーンを追加して動きを調整する方法
の2つを中心に、Rigifyリグを自分好みにカスタマイズする方法を解説します。
この記事は、BlenderのアドオンRigifyで生成したリグのメッシュ変形を調整する方法を解説している中級者向けの記事です。
難易度
調整方法
調整方法には
- ウェイトの手動調整
- 補助ボーンの追加
の2つがあると言いましたが、どういうときにどっちを使ったらいいのでしょうか?
基本的には、ウェイトペイントで直せなければ補助ボーンを使うと考えればOKです。
大体、〇度~〇度回転するときはメッシュが変形してほしいけど、それ以外は変形してほしくない、など、通常のウェイトペイントでは達成できないような機能がほしいときは補助ボーンを使います。
ウェイトペイントで調整する方法
Rigifyでは眉毛のリグを動かすとおでこから頭部にかけて結構広い範囲でメッシュが変形することがあります。
こういう、とにかくメッシュ変形の範囲を変えたい、というときにはウェイトペイントで修正します。
眉毛を動かしても、髪型や頭部が動かないようにウェイトを修正してみます。

DEFボーンを表示する
Rigifyはリグ生成をするとき以下のボーンを自動で生成します。
- ORG ボーン(Original オリジナルボーン)…リグ生成のためにメタリグ情報を保持するボーン
- MCH ボーン(Mechanism 機構用ボーン)…リグのための機構
- DEF ボーン(Deform 変形ボーン)…変形のためのボーン
- コントロールボーン…ユーザーが操作するリグ
デフォルトで表示されているのがユーザーが操作するコントロールボーンですが、ウェイトが乗っているのはDEFボーンで非表示になっています。Bone Collectionsのメニュー内でDEFの目アイコンを表示させてボーンを表示させます。

眉と連動するおでこのボーンのウェイトが頭部にも広がっているのが動きすぎる原因です。頭部メッシュについてるウェイトを、別の、あまり動かないボーンに分配してその場に固定するようにします。
人によってやり方はいろいろあると思いますが、自分は顔周辺で動きすぎるパーツが合った場合は、DEF-spine.006ボーンのウェイトを大きくして動かないようにします。頭部にある大きいボーンです。
(右図はコントロールボーンを不可視化してDEFボーンが見やすいようにしています。)

ウェイトペイントの便利機能:対称化と自動正規化
対称化
ウェイトペイントモードでX軸を対象にペイントするには、ツールバー右側の X Mirrorを有効にします。これにより、左右対称のボーンに対して同時にウェイトをペイントできます。
さらにオプションでTopology Mirrorにチェックをすると、完全にメッシュが左右対称でない場合でも、メッシュのトポロジ(頂点数と配置)が同じであれば左右同時にペイントできます。
自動正規化
Optionsタブを開いてAuto Normalizeにチェックを入れるとウェイトの値を合計1にしてくれる自動正規化の機能が使えます。(自動正規化などでウェイトの合計値を1にしないとうまくメッシュが動かなくなったりする要因になります。)

右図のように中央の大きいボーン(DEF-spine.006)のウェイトを頭部メッシュに乗せます。(髪の毛も同様にする)
すると、自動正規化しているのでおでこのボーンのウェイトがその分減り、眉を動かしても頭部は動かなくなります。
まつ毛なども動きすぎることが多いので、そういうときは少しDEF-spine.006にウェイトを分配して、動きを小さく調整することができます。

補助ボーンの付け方
例えば、Rigifyの足の動きですが、足を前後に大きく振っても、デフォルトではほぼお尻のメッシュが動かないような仕様になっています。
好みがあると思いますが、普通の人間の筋肉の動きとしては不自然です。普通足を後ろに上げるとお尻の筋肉も上げるので、なんだか凹んだように見える人もいると思います。
今回はこういうときに右図の下のようにおしりのメッシュも連動して動かす方法を解説しようと思います。

生成されたリグではなく、メタリグの段階で補助ボーンを追加します。
補助ボーンに使うのはサブリグです。メタリグを選択して編集モードでオブジェクトデータプロパティタブ中の Rigify > Samples から basic.raw_copyをAdd sampleで追加します。
サブリグのリグタイプについては以下の記事で解説しています。↓

変形ボーンにする設定
お尻のメッシュを変形したいので、左右のお尻のメッシュ位置にボーンを移動します。
変形ボーンにするために以下のことが必要です。
- DEF-〇〇という名前をつける
- Deformにチェックをつける
●また、リグ生成したあと、生成されたDEFボーンに連動して動くようにしたいため、リグタイプオプションのRelink Constraintsにチェックをいれてください。
●ちなみにリグへのペアレントも必須です。この場合はSpineボーンにペアレントをしています。

ボーンコンストレイント設定
今回は足を後ろに回転させたときだけ、お尻のメッシュがあがってほしいということで、Transformationのボーンコンストレイントを設定します。
このとき、コンストレイント名の後に「@DEF」をつけることで、ターゲットボーンの名前に、DEFをつけることができ、リグ生成されたDEFボーンをターゲットにすることができます。(例えば今ターゲットボーンをthigh.Lボーンとしていますが、リグ生成した後で、これがDEF-thigh.Lボーンと変更されるということです。)
あとは普通にコンストレイントの設定をしています。ローカル空間に設定し、ターゲットボーンが10度~90度回転したとき、追加した補助ボーンをY、Z軸に沿って動くように設定しています。(このときSource Axisをターゲットボーンの回転軸に設定するのを忘れないようにしてください。)

ウェイトペイント
設定ができたら、リグを再生成します。
※DEFボーンは最初は非表示になっているので、Bone Collectionsで表示させてから作業します
補助ボーンのウェイトをお尻のメッシュにのせて連動して動くようにします。(上の「ウェイトペイントで調整する方法」のセクションで書いたように対称化・自動正規化の機能などを使ってウェイトペイントをすると便利です。)
こうして、足を後ろに上げたときにお尻が上がるという動きをつけるリグのカスタムができました。
補助ボーンはほんとにいろんなやり方がありますので、いろんな方のやり方を勉強して自分なりのカスタムをしてみてください。

Rigifyガイド
Rigifyについて書いた記事を紹介しているガイドです。基礎から応用、調整まで解説しています。



コメント