これは無料で始めるBlender CGアニメーションテクニックという本の
STAGE3-Lesson14のウェイトペイントについての個人的な学習メモです
※チュートリアルではありません
Blender CGアニメーションテクニックという本オススメなので買ってみてください
※ステマでもありません(笑)
キャラクターにボーンを入れる手順
キャラクターにアーマチュア(ボーン)を入れる手順を五段階に分けて説明します
1.半身分アーマチュアを追加する
オブジェクトモードからメニューにある追加(add)からアーマチュアを追加→それをスケールで体幹部分に移動、そこから編集モードでE(押し出し)をして入れていきます
※ここでアーマチュアがキャラクターモデルに隠れて見えにくい為、ボーンを選択し[オブジェクトデータ]タブから[ビューポート]→[最前面]にチェックを入れると前にボーンが出てきます
あとで対象化するので半身分作っておけば大丈夫です
2.半身分のボーンに名前をつける
半身にボーンを入れ終わったら、それらのボーンに名前をつけます
まずZでオブジェクトをsolidからワイヤーフレーム表示にしておきます
アーマチュアを選択した状態で[データ]タブ→[ ビューポートを表示]→[名前]にチェックを入れると各ボーンの名前が表示されるようになると思います
ボーン名は英語で入れるとバグがおきないので英語がオススメです
以下参考までにそれぞれの部位の英語名です
Head-頭
Neck-首
shoulder-肩
UpperArm-上腕
LowerArm-前腕
Wrist-手首
Finger-指
Chest-胸
Spine-脊柱
Hip-お尻
Pelvis-骨盤
UpperLeg-太もも部分の脚
LowerLeg-ふくらはぎ部分の脚
Ankle-足首
Toe-つま先
それぞれ左と右があるのでL or Rで管理するのと
fingerなどたくさん数がある部位はfinger.001など数字を振って管理すると良いです
指の五本に同じfingerと名付けても勝手に後に数字を振ってくれるので大丈夫です
また編集モードで全てのボーンを選択して3Dビューのヘッダーから[アーマチュア]→[名前]→[オートネーム(左右)]を使うと左側にあるボーンには.Lを右側にあるボーンを.Rと自動入力してくれます
3.ボーンを対象化する
まだ設定していない側の腕と足のボーンはBlenderの対称化と言う機能を使って作っていきます
全てのボーンを選択した状態で、3Dビューのヘッダーから[アーマチュア]→[対称化]を選択します
4.ボーン(アーマチュア)とオブジェクトの関連付けをする
オブジェクトモードに移行します
オブジェクト→ボーンの順に選択し、Ctrl+Pで[ペアレント対象]→[自動のウェイトで]を選択します
オブジェクト→ボーン(アーマチュア)の順で選択すると言う順序がポイントです
個人的には身体の外側からと覚えました
5.変形結果をナチュラルにする-モディファイアの順序と体積を維持する方法
まずそもそもモディファイアとは何か?
モディファイア-というのは「非破壊の変形」をするための機能で、いつでも元に戻せる状態だが、
モディファイアを使うと変形後の姿で動きを連想しながら操作出来る機能です
頂点数は32角形のサイコロの状態でも、球体のデザインが想像出来るようなそんなイメージです
ただ、モディファイアが2個以上になった場合、モディファイアをつける順序が変わってしまうと
変形結果が変わってしまうと言うことが発生します
今回の例を出すと
サブディビジョンサーフェス(subsurf)とアーマチュア(Armature)の順番を変えるとしたら
※アーマチュア(Armature)=ボーンの動きをどう変形するか決められる
※サブディビジョンサーフェス(subsurf)=滑らかにするか
この場合はまず少ないポリゴンでアーマチュア(ボーン)変形を行ってから
その後にサブディビジョンサーフェスで面を滑らかにしたいため、アーマチュアを上に持っていきます
実際のモディファイアの順序の変更の仕方は
オブジェクトモードに移動し、作っているオブジェクトを選択、右下の工具マークをクリックすると以下のような画面が出てきます
モディファイアは上から順に適用され、各モディファイアの上にある上下の矢印ボタンで順序を変更することが出来ます
また、身体をいい感じにアーマチュア(ボーン)の動きについていかせたい場合はアーマチュアモディファイアの
体積を維持(Preserve volume)にチェックを入れます
最後にアーマチュアを選択してポーズモードに切り替え、各ボーンを回転させて動作の確認をし、自然な動きが出来ているか確認しましょう
動作を確認してみると
・腕を下ろすと首や脇にも変形の影響が出てしまう
・顔を横に向けると目や鼻が正しい位置からずれてしまう
と言う問題点が見つかります
最後にこの二箇所の修正方法を学びます
修正編全4つ!
修正編1-補助ボーンで脇の下などの変形を修正する
・問題点
人型のオブジェクトにTポーズをとらせてから手を下げ気をつけの姿勢にしてみると脇の下が痩せてしまう感じがあると思います
・解決方法
沈んでしまう脇の下の肉を沈まないようにするには脇の下の肉に骨をつけてあげます
そうするとボーンの周りの肉が動かないようになります
・やり方
1.アーマチュアの編集モードで[追加]→[単一ボーン]で新しいボーンを入れます
2.先っちょだけでなくボーン全体を選択し、S(scale)やG(移動)で脇の下に補助ボーンとして小さく配置します
腕の影響で変形してしまっていた部分を元の形に維持するように補助する役割です
横から見た場合の奥行きも見てちゃんと身体の中に骨が入っているか確認しましょう
3.首のボーンと同化させるために今作った首の補助ボーン→首に近いボーンの順に選択しCtrl+Pでペアレントします
[ペアレントを作成]-[オフセットを保持]を選択しますこれは現在の位置関係のままペアレントするという意味です
4.ボーンに名前をsubchest.Lなど名前をつけてから[アーマチュア]→[対称化]で反対側の脇にも配置します
5.補助ボーンが追加出来たので再度全体の骨とオブジェクトをペアレントし直す
アーマチュアをオブジェクトモードにし、オブジェクト→アーマチュアの順に選択してCtrl+Pでペアレントします
[ペアレント対象]→[自動のウェイトで]を選択します完成!!
修正編2-ウェイトペイントで関節の折り曲がりの変形を修正する
ウェイトペイントを行う時は必ず
[編集]→[オブジェクトモードをロック]のチェックを解除します※オブジェクトモードをロックのチェックが入っていると、次に行うポーズモードのアーマチュアとオブジェクトの同時選択が出来ません
顔が横を向くように頭のボーンの回転させると目や鼻のオブジェクトが顔の中心からズレていきます
これは近い位置にある頂点のウェイト値に差があるために起こります
ボーン変形にどの程度追従するかの割合が異なるのです
別オブジェクトで作ったモデルを1つに結合して
ウェイトペイントでは埋まった頂点がペイント出来ない場合もあるので、
今回は頂点グループを直接編集して修正する方法を学びます
頂点グループを直接編集して修正する方法
1.編集モードで頭部の頂点を選択します shiftで連続選択していきます
ワイヤーフレーム表示にすると裏側の頂点まで選択されます
2.[オブジェクトデータ]タブから[頂点グループ]を展開して表示します、頂点グループからHeadを選択し、[Head]を選択しウェイト[1.000]の状態で[割り当て]ボタンを押します
Nキーでサイドバーを表示して目の頂点を一つ選択します
ここでHead以外の頂点ウェイトの影響を無くしていきましょう
を超えてしまうのでHead以外の頂点ウェイトの影響を無くしていきます
3.ウェイトペイントに切り替えて、[ウェイト]-[全てを正規化]を選択します
Head以外の細かな値を「0.000」にします
頂点ウェイトの確認は編集モードで行います
[ウェイト]→[クリーン]を使い、左下の設定[頂点グループを削除]から[使用部分]-[ALL GROUP]を選び[0.0]のウェイトを各頂点から削除します
編集モードで確認してみると頂点ウェイトから[Head]以外のウェイトが消えていきます
4.首の変形が極端なので[平均化]や[にじみ]ブラシで境目をなめらかにしていきます
Alt+Rでボーンの回転を戻した状態、R Zキーでボーンを回転させながら境目が滑らかになっているか確認していきましょう
これで体から離れてしまっていた目もしっかり追従していくと思います
修正編3-スムーズ(修正)モディファイアを使ってボーン変形後の形をより滑らかにする
スムーズ(修正)と言うモディファイアを使用することで、ボーン変形後の形を、より滑らかに仕上げることが出来ます
※このモディファイアーは見栄えを良くする調整に便利ですが必須ではないです
オブジェクトモードにし、右下のadd モディファイアから[変形] – [スムーズ(修正)]を選択します
英語だとsmooth correctiveです
ただ設定済みのサブディビジョンサーフェスモディファイアの下にあると
元の頂点数が会いませんと警告が出て効果を発揮しなくなってしまうので
[スムーズ(修正)]モディファイアの横の上ボタンをクリックしてモディファイアーの順序を入れ替えます効果の強さは係数とリピートの値で調整します
モデルの形やボーンの入れ方によって加減が異なるので調整しながら決定します
効果をかけたくない部分には、新しい頂点グループを作り、ウェイトペイントを行います
オブジェクトモードから
[データ]タブの[頂点]グループ、右側の+ボタンをクリックすると、新しい頂点グループがリストの一番下に作成されます3Dビューのヘッダーからウェイトペイントに写り、[頂点グループ]から[Group]を選択し
効果をかけたくない部分にペイントします
この時に[対称]の[ミラー]から[X]を有効にしておくと左右同じ値にウェイトペイントが行えます
[修正スムーズ]モディファイアーの[頂点グループ]から[Group]を選択し、すぐ右にある↔︎ボタンをクリックしますなぜ↔︎ボタンをクリックするかと言うと先ほど効果をかけたくない部分にペイントしたのを有効から無効にするボタンだからです
ウェイトペイントで効果をかけたくない部分に塗った場合はこのボタンをクリックする必要があります
修正編4-回転軸を限定しありえない関節の折り曲がりをなくす
腕を回す時、身体の構造的に曲がらない方向に曲がってしまう場合があります
その解決方法として腕の回転軸を限定することが出来ます
オブジェクトモードで全身のボーンを選択します
アーマチュアのポーズモードで[オブジェクトデータ]タブを開き、[座標軸]にチェックを入れます
肘の不要な回転をロックします
ポーズモードで前腕のボーンを選択し、ボーンの先端に表示されている[X:],[Y:],[Z:]を確認して
肘の構造的に不要な回転である[X:],[Y:]軸をロックします
こうするとRキーを押した場合も回転軸を支持する必要が無くなります
最後にオブジェクトデータタブを開く、入れた座標軸のチェックを外し完成です!!
長かったけど終わり!