ZBとBlenderでUE4用のキャラを作る #8:Blenderでリグ組み
第8回目はリグ組みをしますよ!
初回で書いたように、ゲーム用キャラはボーン数などにまだまだ制限があります。もちろんPC用ハイエンド環境のことだけ考えたら、そこまで神経質になる必要はなくなってきているのですが、骨が増えれば処理が増え、重たくなるのは必然です。なので、できるだけシンプルな仕組みで必要にして十分な「動き」ができるリグ組みを目指します。
ぼく自身はけっこうRigify好きで、Blenderだけで映像を作成するなら迷わず使っています。もちろん、多少の工夫は加えるわけですが…じっくりレンダリングすれば良いCG映像であるなら容赦なく仕組みを増やしたくなりますねw
というわけで標準ボーン(アーマチュア)から骨を組み始めます。特に特殊なことは一切ありません。ただし、大前提としてキャラクタメッシュのトランスフォームをフリーズしておくことは以前も書きましたが、ついでに「原点を調整しておく」ことも大事な工程になります。
原点の調整
- ボディ
- 顔
- 髪の毛
- 目
今回のモデルでは上記4つのパーツをひとつのスケルタルメッシュとしてUE4にインポートします。ここでボディの原点はジオメトリの中心かワールドの0位置にあれば問題ないでしょう。
しかし、頭と髪の毛、それに目のパーツは原点を統一しておくとなにかと便利です。
頭部パーツが親になって他のパーツに追随して欲しい時などは、shift+sで頭部の原点に3Dカーソルをスナップしてから、髪や目のパーツの「原点を設定」メニューで3Dカーソルを指定すれば同一の原点を利用できるようになります。
原点の統一はその他の作業でもたびたび行うことですので癖にしておきましょう。
今回のリグの仕様
ワサビミドリさんのリグは以下の仕様で構築します。
- リバースペルビス(反転した骨盤)
- 背骨の大回転用コントロールボーンとコンストレインツ
- 足はIKで動かし、腕はFKで動かす
- 大腿部とお尻の変形補完用ボーンとコンストレインツ
- 脇の下にも補完用ボーン
- おっぱいボーン(揺らす用ではなく形状用)
- 前髪とおさげの揺らしボーン(設定はUE4で行う)
と、後で思いついてなにか足す可能性はありますが、計画ではこんな感じです。
リバースペルビス
リバースペルビスについてはdskjalさんのブログ記事に詳しいので参照してください。
画像は背骨からボーンを引っ張り出している(e押し出し)ところです。この骨をCTR_pelvisと名前変更し、pelvisの親にして「変形」をオフにします。
続いて脚のボーンを普通に作成します。
↑の画像にあるように「必ず関節位置でボーンをオフセットさせる」ことは激しすぎるくらい重要です。
ボーン作成時は片側だけで作成し、名前も「thigh」とか「shin」のように「.L」などの左右修飾子を付けずに作成すると、あとでミラーボーンしたときに自動で名前変更までしてくれるのでとても楽です。
IKターゲットやポールターゲット用のボーンはさっさとペアレンツを解除し、変形を外しておきましょう。なお、thigh(太もも)ボーンはCTR_pelvisの子に設定してあります。
ここまで来たらボーンロールの自動計算もつま先ボーンを基準に行っておきましょう。
続いてポーズモードで脚のIKを普通に設定します。
膝の変形補正リグ(インフルエンス)
脚を曲げたときに膝がうまくとんがるように補正するためのリグです。
編集モードでthighボーンのジョイントから押し出しYでボーンを作成し、alt+Pでペアレンツを解除しておきます。
このボーンには「knee」と命名します。↑の画像を頼りにコンストレインツの「チャイルド」で位置だけ脛のボーン(shin)に追随するようにし、トランスフォーム変換コンストレインツを使い、膝を曲げたときだけkneeボーンのサイズが拡大されるようなインフルエンスを組みます。
これ実はBlenderMarketで販売しているRigStarアドオンとだいたい同じ仕組みです。
単純に膝小僧ボーンをインフルエンスとして配置するだけでも効果はありますが、せっかくですのでコンストレインツで拡大させてみます。同じことをドライバで記述することもできますが、このほうがシンプルだと思います。
↑さらに!股関節が変形するのも補正しますよ!同じ仕組みを3つ配置してそれぞれ「helperThigh_F」おなじく「M」「B」としました。
当初、IKで駆動するthighボーンに反応してくれない?と一瞬パニくりましたがwwなんのことはない値の範囲を間違えて捉えていただけで、IK範囲制限を加えつつ数値を冷静に観察したらイケました。
後で同じ仕組みを肘にも仕込みます。
それでは今回はここまで!
次回は一通りすべての仕組みを作成します。
サンプルファイルはこちら!