Blender 2.8 の使い方 (13) Rigifyによるリギング

前 (ボーン) www.mztn.org 次 (パーティクルヘア)


Rigify アドオンの使い方

前回 はアーマチュア(ボーン)の基本的な操作の説明でした。 人型のモデルにボーンを埋め込む (リギング) ことは単純に考えると人の骨格に合わせてボーンを設定するだけです。 しかし、実際にボーンを埋め込むとなると、背骨や手の指の骨など、かなりの数のボーンが必要になり、設定が大変なことが予想されます。 目や口、表情まで考えると気が滅入ります。

Blender に組み込まれた標準のアドオンとして、人型モデルのリギングを目的とした 「Rigify」があります。 人型だけでなく動物も含めたリギングが簡単に実現できます。 今回は「Rigify」を使って、 人型のモデルのポーズを自由に操作することを目的とします。

blender28_12.png

人型モデルへのリギング

Rigify を適用する人型モデルとして、頂点数の少ない人型モデルを作ってみました。 人型の基本は左右対称なので、向かって右半分の形を作って、左半分に ミラーモディファイア を使用(反転コピー)しています。

使用したモデル

ミラーモディファイア を有効にした状態で、790頂点のローポリモデルを使います。 デフォルトの立方体 (2m) から、主として「押し出し[E]」を使って下に伸ばして作成しました。 最終のサイズは高さ 18m になっていて、人間の身長の10倍ほどのモデルです。

little_man5_00.png

斜め後ろから。後頭部のポリゴンは削減できそうな感じです。

little_man5_01.png

手と顔のアップ。 一応、手の指は 5本あって、関節もあります。

little_man5_02.png

ファイル名は little_man5_00.blend (754KB) でダウンロードできます。ご自由にお使いください。

Rigify アドオンの有効化

Rigify は組み込みのアドオンですが、最初は有効になっていないので、 プリファレンスの「アドオン」から「リギング」を選択して Rigify にチェックを入れます。

Regify00.png

メタリグの追加

Rigify を有効化して オブジェクトモードで追加 を選ぶと、アーマチュア以下に Human、Animal、基本という項目が増えます。メタリグとは、使いやすいボーンの構成(リグ)を作成するためのリグです。

一旦、リグを作成したあとは、メタリグを削除しても構いません。

little_man5_03cat0.png

例えば、猫を選ぶと猫用の骨格が現れます。

little_man5_03cat1.png

今回は人型のモデルにリギングするため、Human(Meta-Rig) を選択します。

little_man5_03rig.png

Human(Meta-Rig)は高さ約 2m の骨格なので、人型モデルをメタリグ(骨格)と同じサイズに縮小します。 骨格を拡大するより、モデルの大きさをメタリグ(骨格)に合わせた方が問題が少ないと思います。

little_man5_04.png

モデルの高さ(Z)を 2.02m まで縮小しました。

little_man5_05.png

モデルの拡大縮小率を1.0にするため、「オブジェクト/適用/全トランスフォーム」を実行します。

little_man5_05apply.png

メタリグの編集

メタリグのボーンをメッシュに合わせて移動、回転、拡大縮小して 顔のパーツ、腕や足、指の関節の位置をモデルに合わせます

色々な方向から見てボーンとメッシュの位置を合わせますが、選択部分を中心に回転すると操作が容易になります。 プリファレンスの「視点の操作」で「選択部分を中心に回転」にチェックを入れて、 自動パースのチェックを外すとオブジェクトを見失いにくくなります。

ViewRotation.png

オブジェクトモードでメタリグを選択して、編集モードに切り替えます。 プロパティのアクティブツールのタブから「X軸ミラー」にチェックを入れて、左右対称に編集できるようにします。

little_man5_05edit.png

顔の部分も細かくリグを設定できます。 眼球、まぶた、アゴ、鼻、耳など位置合わせが必要な箇所は多くあります。 いろいろな方向から見たり、邪魔な部分を一時的に非表示 [H] にしたりしてボーンの関節部分を移動させます。

ボーンの接続部分を移動させる場合は、円形選択やボックス選択 でボーンの先端と根本を両方同時に選択すると、ボーンの接続部分が分離しにくくなります。

little_man5_05face.png

手と指の部分も細かくモデルと位置を合わせます。 他のボーンが重なって表示されて見にくい場合は、見たい部分を選択、[Ctrl+I] で選択を反転、[H] で選択部分を隠すと 見やすくなります。 すべて表示する場合は [Alt+H] で戻ります。

little_man5_05hand.png

全体にわたって、モデルの関節の位置とメタリグの関節位置を合わせていきます。 位置合わせが終わったら、人型モデルのミラーモディファイアを適用して、右半分のメッシュも実体化しておきます。

little_man5_07.png

リグの生成

メッシュとボーンの位置合わせが終わったら、オブジェクトモードに変更して 「Generate Rig」ボタンを押します。

little_man5_08_v2a.png

生成されるリグをすべて表示するためには、「ビューポート表示」で「最前面」にチェックを入れます。

little_man5_08b_v2b.png

リグのカスタマイズ

「Generate Rig」ボタンの上に Rigify Layer Names というパネルがあり、 リグ生成後のボーンのボタン名などを設定できます。

little_man5_08_v2.png

左端のアイコンは表示するボーンのレイヤーを指定します。次はリグ生成後のボタンの名前。右端の数字はRig LayersのUIを決めます。

RegifyLayerNames.png

「Generate Rig」ボタンを押して、リグを生成した後にサイドバーを表示すると Rigify Layer Names パネルで設定したボタンが表示されます。 ボタンを押すと、個々のリグの表示/非表示を制御できます。

little_man5_08b_v2b.png

Generate でのエラーと対策

Generate ボタンを押すと、"RIGIFY ERROR: Bone 'spine.004': Cannot connect chain-bone position is disjoint." のようなエラーが表示されることがあります。 ボーンの位置の編集で、問題が発生しています。

little_man5_07_error.png

今回はボーンの位置の編集時に背骨の上端(spine.003)と、首の根元(spine.004)が分離してしまったことが原因です。背骨の上端(spine.003)を選択して、右クリックして表示されるコンテクストメニューから、「スナップ/カーソル→選択物」をえらんで 3Dカーソルを背骨の上端ボーン(spine.003)のテールに正確に移動します。

little_man5_07_snap1.png

3Dカーソルが背骨の上端ボーン(spine.003)のテールに移動したことが確認できます。

little_man5_07_snap2.png

次に首の根元のボーン(spine.004)のヘッドを選択して、右クリックして表示されるコンテクストメニューから、「スナップ/選択物→カーソル」を選択します。

little_man5_07_snap3.png

背骨の上端(spine.003)と、首の根元(spine.004)が正確に接続され、Generate ボタンのエラーは解消されるはずです。

little_man5_07_snap4.png

モデルとリグの接続

リグを生成した直後は、人形モデルのメッシュとは別のオブジェクトで、なんの関係もありません。 リグをメッシュの親に設定して、メッシュの頂点にボーンのウェイトを設定する必要があります。

little_man5_09.png

オブジェクトモードでリグを選択した状態。

little_man5_09b.png

オブジェクトモードでメッシュを選択した状態。

little_man5_09c.png

シフトキーを押しながらリグを選択します。 最後に選択されたオブジェクトがアクティブオブジェクトになりますが、メッシュとリグを接続するためには、「最後にボーン」と覚えておきましょう。

little_man5_09d.png

その状態で、メニューから「オブジェクト/ペアレント/自動のウェイトで」を実行します。

little_man5_09e.png

右上のアウトライナーの表示を見ると、リグの下層にメッシュが移動していることが確認できます。

これで、人型モデルのメッシュは、リグの動きに合わせて変形するようになります。

little_man5_09f.png

リグの操作とメッシュの変形

Rigify アドオンで生成したリグ(コントローラ)を見やすいように表示しました。 コントローラが多すぎてわかりにくい場合は、サイドバー[N]の「アイテム」にある「Rig Layers」をクリックすることで、各コントローラを非表示にできます。

little_man5_10.png

上半身、手、足のコントローラのアップです。

little_man5_10a.png

腕の3種類のコントローラだけを表示しています。インバースキネマティクス(IK)、フォワードキネマティクス(FK)、微調整(Tweak) です。

普通に生活していて、肩の関節の動きを気にすることはないと思います。しかし、「何かに触れる」、「上に挙げる」、「横に広げる」といった具合に、手の位置を意識することは多くあります。

手の位置は、足の位置、腰の回転、肩の向き、肘の角度、手首の向きといった順で決まってきます。 数学的にも座標変換の順序です。 一方、手の位置から逆に、手首の向き→肘の角度→肩の向き→腰の回転→足の位置のように計算することをインバースキネマティクス(IK)と呼びます。 数学的に普通の座標変換の順序は、インバースキネマティクス(IK)の逆ということでフォワードと呼ばれるようになりました。

little_man5_10b.png

さて、手のひらに表示されている赤いコントローラはインバースキネマティクス(IK)のコントローラです。 位置を変えたり、回転させたりすると、肘や肩の関節は自動的に角度が変わります。 肘の位置は青いTeakコントローラで修正できます。

little_man5_10b1.png

グリーンの線と円はフォワードキネマティクス(FK)用のコントローラです。 赤枠で示したサイドバーの値を変更すると、IKとFKで設定した中間の姿勢に設定することができます。

little_man5_10b2.png

いろいろなコントローラを操作することで、人型のモデルのポーズや表情を自由に操作できます。 今回のモデルでは表情を操作できるほどの詳細なメッシュではありませんが。

little_man5_10c.png

Rigify は非常に機能が多く、さらに詳細な機能はRigifyのマニュアルを参照してください。



ページ先頭へ


Blender 2.8 - 4.1 の使い方 [目次]

copyright (C) 2019-2024 Jun Mizutani