【Blender】Rigfy の使い方

Blender

Rigfy で人物用のリグを作る方法

Rigifyのアドオンを有効化し、人物モデルは用意しておく。

モデルの下準備

モデルをワールドの原点に配置する。原点がモデルの中心の足の間にくるように、SetOriginなどで原点の位置を調整したりする。

モデルのLocationやRotationが0に、Scaleが1になるようにしておく。
なっていない場合はApplyTransformを実行する。

モデルの手のひらを画像のような向きにしておいた方がいい。

元となるリグを出す

ビューポートのモードをSolidモードにして、透過をアクティブにしておく。

Shfit +Aで Armature -RigifyMetaRig – Humanで元となるリグを出す(もし表情や指などをいじらないシンプルなリグでいいなら、BasicHumanの方を使っても可)

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

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

元リグをモデルに合わせて配置する

元リグを選択してEditModeに移動する。

左右対称ならミラー編集をアクティブにしておく。

あとはボーンの位置やサイズを微調整していく。
ただしマウスでボーンを動かすのではなく、テンキーで正面や真横、真上などの表示にし、Gキーで移動させたほうがいい(変に回転したりするのを防ぐため)

またCtrol + Tab でPoseModeに入り、その状態でオブジェクトに合わせて調整するという方法を併用すると能率が上がる(PoseModeではボーンの球体部分単体での移動とかはできないのでそういうのはEditModeでやる)
PoseModeを出る前に、ボーンを選択して(全選択でもOK) Ctrol+ A – ApplyPoseAsRestPose を 実行しておく。そうすればEditModeに移動してもPoseModeで作ったポーズが維持可能。

体のボーンでの注意点

首と背骨の位置にあるSpine3とSpine4が画像のように離れていると後でエラーが出る。なので2つの球体をまとめて選択して移動するようにすること。
ばらばらになってしまった場合は、どちらかの球体(球体Aとする)を選択し、Shift+S – Cursor to Selected でカーソルを球体Aの位置に配置、次にもう一方の球体Bを選択し、Shift +Sで今度は Selection to Cursor を実行する。そうすると球体が同じ位置になるのでエラーを回避可能。

顔のボーンの調整

最初

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

EditModeに入りボーンを微調整していく。Spine006というボーンが選択する際じゃまになるので、選択した状態でCtro +Iで選択反転、shift + H で非表示にしておくと作業を進めやすい。(再表示はAlt +H)

TIPS

必要に応じてスナップ機能をOnOFFして作業すると能率が上がる。

EditModeで特定のボーンを選択した状態で Ctrol +Lキーを押すとリンク選択で関連するボーンをまとめて選択できる(画像だとアゴのボーン)。これを利用すると作業が捗る。

注意点

口の端のボーンのように、いくつかの球体が重なっている箇所がある。これらはまとめて選択して動かさないと、後でリグ生成の時にエラーが出るので注意。(もしバラけさせてしまったなら、座標をコピーペーストして揃えるか、Shift+Sでカーソルを移動させ、もう一度Shift+Sで球体をそのカーソルの位置に移動させるなどする)

Generate Rig

ボーンの調整が終わったら、メタリグを選択して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に移動し、動きを確認する。

コメント

タイトルとURLをコピーしました