Rigfy で人物用のリグを作る方法
Rigifyのアドオンを有効化し、人物モデルは用意しておく。
rigの生成
手順をメモっているが、GenerateRigが成功するまでエラーに悩まされたので、途中途中で試しにGenerateRigをしてみてエラーが出ないか確認したほうがいい。
全部終わっていざという時にエラーになると原因箇所を探すのが大変。
モデルの準備
モデルをワールドの原点に配置する。原点がモデルの中心の足の間にくるように、SetOriginなどで原点の位置を調整したりする。
モデルのLocationやRotationが0に、Scaleが1になるようにしておく。
なっていない場合はApplyTransformを実行する。

髪の毛などは非表示にしておく。
メタリグを出す
Shfit +Aで Armature -RigifyMetaRig – Humanで元となるメタリグを出す(もし表情や指などをいじらないシンプルなリグでいいなら、BasicHumanの方を使っても可)

テンキーの0でビューポートを正面に切り替え、リグの高さをSキーで大雑把に合わせる。サイズを変更したら、リグを選択した状態で、Ctrol+A – Apply Scaleで変更をApplyしておく。

リグのスケールも人物のスケールも1になっていればOK。

あとObjectDataPropertiesのRigifyの箇所からUpgradeFaceRigを最初にやっておく。

リグの表示をStickにする方が良い。


こっちのほうがずれを確認しやすい。
メタリグのボーン位置を修正する
メタリグを選択してEditModeに移動する。
左右対称ならミラー編集をアクティブにしておく。

あとはボーンの位置やサイズを微調整していく。
ただしマウスでぐりぐりボーンを動かすのではなく、テンキーで正面や真横、真上などの表示にし、Gキーで移動させたほうがいい(変に回転したりするのを防ぐため)
PoseModeを利用する – 例えば腕など
Ctrol + Tab でPoseModeに入り、その状態でオブジェクトに合わせて調整するという方法を併用すると能率が上がる。
例えば腕
ミラー編集をアクティブにしておく(し忘れた場合は、ポーズをコピーしてはりつける)
上腕を選択してR – Y や RZで角度を調整する
あとは段々と指の方へ向かって各ボーンのポーズを整える
(サイズの変更は指の方に影響してしまうので、そういうのはEditModeやった方がいい)

指とかはこの付け根のボーンを使うと能率が良い。

ある程度できたら、PoseModeを出る前にボーンを選択して(全選択でもOK) Ctrol+ A – ApplyPoseAsRestPose を 実行しておく。そうすればEditModeに移動してもPoseModeで作ったポーズが維持可能。

ワイヤーフレーム表示を利用する
大雑把でいいボーンもあるが、関節などはできる限りボーン配置の精度を上げたいので、ワイヤーフレーム表示にして調整すると調整が捗る

重なっているボーンを扱う際に注意する
Rigifyのボーンには下の画像のように分離しているけど同じ位置に配置されているというものがある。

これを扱う際は、両方を選択して一緒に動かすほうがいい。(首と背骨の位置にあるSpine3とSpine4が画像のように離れていると後でエラーが出た)
ばらばらになってしまった場合は、Snap機能をアクティブにして、TargetをVertexにし、ひとつの球体を選択してもう一つに近づける。それで同じ位置にくればOK

顔のボーンの調整
大雑把に移動させる
Faceボーンという顔の親ボーンがある。PoseModeでこのボーンを動かして、大雑把に当たりをつけると作業が捗る(横移動は左右対称が崩れるのでやらないように注意)。
PoseModeなので移動させたらCtrol + AでApplyPoseAsRestPoseを実行するのも忘れないようにする。

例、目とか
とりあえずLキーでパーツ目周りのパーツがどこまで影響あるか確認する。

下に伸びているボーンの選択を外し動かしていく。

Sキーなどでまとめてサイズを調整し、あとは微調整していく。


ある程度調整したら試しにGenerateRigをやってみてリグが生成できるか確認しておく。
Generate Rig
全部の調整が終わってからやるのではなく、作業の途中でリグが生成できるかをたましておいたほうがいい。
一旦オブジェクトモードに戻り、メタリグを選択して Ctrol+A -AllTransform を実行する
そしたらリグを選択してObjectDataPropertiesを開き、GenerateRigを実行する。

うまく行けば新しいリグが表示される(使っていた方のメタリグは残しておく。カスタマイズや修正をやる時に必要)

ウェイトをつける
自動でウェイトをつける
とりあえず目や歯などは無視して、基本のBodyにウェイトをつけていく。
Bodyオブジェクト – リグ の順で選択し、Ctrol+P で WithAutomaticWeightsを実行する。

問題なければリグを選択して動かしてみる。
AutmaticWeightが失敗する
複雑なオブジェクトだと失敗することがよくある。
対処法1 MergeByDistanceを行う
対象のオブジェクトを選択してEditModeに入り、全選択して、Mesh-CleanUp – MergeByDistanceを実行する。
対処法2 Scale
①リグとオブジェクトにParentingをやっておく。できているかの確認は、リグを拡大するとオブジェクトも一緒に大きくなればOK。ならない場合は、オブジェクト – Rig の順番で選択して Ctrol+P でやっておく。
②リグのScaleを100にする。

③オブジェクトの余分な頂点グループを削除しておく。

④Bodyオブジェクト – リグ の順で選択し、Ctrol+P で WithAutomaticWeightsを実行する。
そうすると、リグは大きいままで、オブジェクトが小さくなる(画像は口辺りのメッシュがなんか変なことになっているがここではスルー)

⑤オブジェクトだけ選択し、Alt+PでClearParentを実行する。

⑥リグのScaleを1に戻す。

⑦オブジェクト – Rig の順番で選択し再度 Ctrol+P – WithEmptyGroupsを実行する。

⑧リグを選択して Ctrol+Tab で PoseModeに移動し、動きを確認する。

リグをカスタムする
ボーンを追加する
①メタリグを選択してEditModeに。
②ボーンを出す。
Samplesの中に用意されているものを利用するなら簡単。
Shift+Aでも出せる。

③Samples出だしたやつは最初から割り当てられているが、Shift+Aで出したボーンを使う場合、一旦ポーズモードに入って(EditModeではできない!)、BonePropertiesのRigTypeにどれかしらを割り当てる(BasicRawCopyはリグ生成時にも同じように生成され、BasicSuperCopyはWidgetで割り当てられたスタイルのリグになる)。
終わったらEditModeに戻る。

例えば下のようにすれば生成された時に立方体のリグパーツになる。

④出したボーンに親を割り当てる。子-親の順に選択してCtro+P
⑤左右対称に編集したい場合は、ボーンを複製し、名前の末尾に “.L” や “.R” をつける。
⑥配置が済んだらGenerateRig
Rig Layers Panelのカスタム
特にウェイトペイント用のDeformボーンコレクションの表示非表示切り替えを楽にしたいので、ここにDeformの切り替えボタンを配置していく。
メタリグを選択して、ObjectDataPropertiesのBoneCollectionUIから新しくDEFを追加する。


そしたらこのDEFを選択した状態(背景が青になっている状態)で下に移動し、UILayoutの箇所を開き、一番下の三角アイコンをクリックする。問題なければこっちにもDEFが出るはず。

上の方にあるRe-GenerateRigを実行する。

リグが生成されたら、RigLayersのパネルを見てみる。問題なければDEFがあるはず。クリックしてDeformボーンの表示非表示が機能しているか確認する。

オフのとき

オンにすると表示される。

パネルの表示名を変えたい場合は、カスタムリグを選択して、UILayoutの部分で修正する。


リグの見た目を変える
PoseModeに入り、変えたいボーンを選択する。
BonePropertiesのViewportDisplayの箇所を開く。
色は上の2つ、形状はCustomObjectの箇所で変更する(手軽なのはその他のボーンの箇所で使われているシェイプを確認し、それを流用するという方法。例えば手の見た目を四角にしたいとかなら、胴体の _torso のようなオブジェクトを利用する)

コメント