庭子ちゃん 3D 制作振り返り4 リギング

  • 2022.11.07
  • CG
庭子ちゃん 3D 制作振り返り4 リギング

今回はリギングです。ボーンやアーマチュア、ウェイトペイント関連です。
mmCGさんのリギング講座はこちら。いつもお世話になっています。

アーマチュア作成

まずは自分の復習の意味もかねて用語の説明から。

  • ボーン:アバターを動かす骨。ヘッドとテイルがあります。
    さらに2種類あります。
    • デフォームボーン:メッシュを変形させるボーン。通常こちら。
    • ボーン:名前はただのボーンだがメッシュ変形させないので制御ボーンに使われる。
  • アーマチュア:親子関係のあるボーン群です。Blender用語で一般にはスケルトンと呼ばれるようです。
  • リグ:デフォームボーンを制御する仕組みとインタフェース
    IK(Inverse Kinematics), FK(Forward Kinematics)、制御ボーンなどです。

まずは左半分のアーマチュアを作ります。

ボーンの編集モードで、左右対称にさせたいボーン群を選んで(マウスの範囲ドラッグ)、アーマチュア→名前→自動ネーム(左右)を選びます。

すると自動的に「.L」がつけられる!

そしてさらに、その選択状態でアーマチュア→対称化を選択すると・・・

名称(左は.L、右は.R)も含めて、左右対称アーマチュアのできあがり!Blender、強力すぎます!

ウェイトペイント

次はウェイトペイントです。

  • 自動ウェイト:
    オブジェクトモードでボディ(ターゲット)メッシュを選択後、シフト押しながらボーンを選択、
    Ctrl-P アーマチャ変形→「自動のウェイトで」

自動ウェイトは超便利。主力で使って、どうしようも無いときに手で修正。今後もポリゴン数複数対応(3万ポリゴン版、7万ポリゴン版)していくと、メッシュ変更するたびにウェイト塗り直しになる。そのためにも主力は自動ウェイトにしています。

自動ウェイトやり直すときは頂点グループ全削除してからやるのが無難。

  • 自動ウェイト全削除 → 頂点グループ全削除
    あるオブジェクトのウェイト情報をクリア(全消去)したい
    オブジェクトモードでそのオブジェクトを選択。
    メッシュプロパティの頂点グループを全削除
    頂点グループ リスト右のVから「全グループ削除」

ボーンごと個別に自動ウェイトやりたくなるときもあります。

  • 特定ボーンから自動ウェイト設定
    たとえば髪の毛ボーンは除いて、体のボーンからのみ自動ウェイト設定したい
    一度失敗したならば上記の自動ウェイト全削除してからやる(頂点グループ全削除)
    ポーズモードで、ウェイトつけたいボーンを選択。(例:髪の毛は非選択)
    オブジェクトモードにもどりメッシュを選択して、ウェイトペイントモードに移行。
    (上記ボーン選択は生きている)
    ウェイトペイントモードの上部「ウェイト」から「ボーンから自動割り当て」
  • ボーンを動かし、メッシュ形状確認しながらながらウェイトペイントしたい!
    とても重要なモードですが「できない!」ときが結構ある。そういう場合は下記をチェック
    ポーズモードからウェイトペイントモードへ移行できないとき
    [いずれもポーズモードにて]
    ・編集→オブジェクトのモードをロック チェックボックスをoff
    オーバーレイのボーン→形状をフェード チェックボックスをoff
    特に2番目がよく外れています(知らないうちに!)。こまめに確認しましょう。
    これでポーズモードからメッシュ選択できるようになり、
    メッシュ選択時に Ctrl-TABでウェイトペイントモード選択できるようになる。そのウェイトペイントモードでは、Ctrl-左クリックでボーンが選択できて、RやGなどでボーン動かしながらウェイトペイントすることができます。

そうそう、こちらのRTX3060環境ではBlender3.2に切り替えたときウェイトペイントが超重くなりました。最近、デフォルトonになっているGPUサブディビジョンをoffにすることで軽快になりました。

  • ウェイトペイントが重いとき
    編集→プリファレンス→ビューポート→細分化→GPUサブディビジョンをoffに!

服のウェイト

今後の使い勝手を考えて、下着を延長しスパッツ・スポーツブラにしました。

この密着系衣服サーフェスデフォーム(サーフェス変形)で対応しています。しかしVRChatに持って行くとうまく動かないので、最終的にはボディテクスチャに書き込みました。ゆくゆくはちゃんと下着を作りたいです。

服のウェイトはデータ転送レイヤー使って、自動設定です。

  • ウェイト転送(通常の服など)
    オブジェクトモードで、服オブジェクトなどのたー別途オブジェクトを選択、
    モディファイアー追加から、変形→「データ転送」モディファイアーを追加。ソースはボディなどのオブジェクト。
    「頂点データ」にチェック、そしてその中の「頂点グループ」を選択。
    「データレイヤーを生成」を押すと頂点グループが服オブジェクトに生成される。(メッシュプロパティで頂点グループ確認すること)
    Ctrl-Aでデータ転送モディファイアーを適用

こんな感じになりました。

髪の毛リギング

もう根性の地道な世界なので詳細書きませんが、206個!の髪の毛ボーンをメッシュ境界ごとにいれてウェイトペイントしました。髪の毛は自動ウェイト使えないのですべて手塗りです。

そして、mmCGさんHair RIg講座に従ってrigid bodys generator使って髪の毛リグ完成させました。

206個の髪の毛ボーンは、VRChatのボーン数128本以下に引っかかるので、現在は抜いています。近いうちにVRChat対応の適度な髪の毛リグを作りたいと思っています。

2022/04/10:

CGカテゴリの最新記事