目次
対象バージョン:Blender v2.82a
Qちゃん(メッシュデータ)にポーズを付ける
「Blender事始め No.14(Armature①)」で作成したQちゃん
にポーズをとらせていこうと思います。(「リギング」かな?)
ポーズを取らせるには、前回(Armature②)説明したArmatureを使います。
QちゃんのArmatureは、一から作成するのではなく、Blenderに標準で搭載されている人型のArmatureを利用します。
また、説明の中で「Camera」や「Light」がないですが、とりあえず邪魔なので、削除してあるためです。
Human(Meta-Rig)
設置
Qちゃんと関連付けるArmatureをViewportに設置します。
Object Modeにて、[Add]メニューから、[Armature]→[Human(Meta-Rig)]を選択します。
([Armature]の中に[Single Bone]しかない場合は、「Blender事始め No.14(Armature①)」の事前準備を行ってください。)
Qちゃんの足元に小さい人型のArmatureが表示されました。
(Armatureが小さいのではなく、Qちゃんがデカい(12.5m)のですが…)
Outlinerには、このArmatureは「metarig」という名前になっています。「Armature」ではないので留意しておきます。
※「Qchan」はQちゃんのメッシュデータです。名前を変更しています。
Viewの設定
Armatureの編集がしやすい様に、View(見え方)についていくつか設定します。
前面設定
メッシュデータとArmatureが重なってしまうと、Armatureが隠れてしまうため、常に(前面に)表示されるように[In Front]設定を行います。
Armature(metarig)が選択された状態、Propertiesパネルの[Object Properties]タブを開き、[Viewport Display]グループの[In Front]にチェックを入れます。
Qちゃんの足元に隠れていたArmatureの全体が見えるようになりました。
Bone名表示
Human(Meta-Rig)は、Boneの数が非常に多いですが、それぞれのBoneには位置に応じた名前が付けられています。
後々、不要なBoneは削除しますが、必要なBoneまで削除しない様に、区別しやすい様にBone名を表示しておきます。
Propertiesパネルの[Object Data Properties]タブを開き、[Viewport Display]グループの[Names]にチェックを入れます
これで、各Boneの名前が表示されるようになりました。
(Bone間の位置が近いと、名前が重なってしまい見づらいですが…)
大まかなサイズ調整
今のままでは、QちゃんとArmatureの間に大きさに差があり過ぎるので、大まかにサイズを合わせます。
「S」キーを押して、Resizeモードに変更し、Armatureの大きさをQちゃんの大きさに合わせます。
(モズクガニの様だ…)
各Boneの位置・サイズの調整
各Boneの位置・サイズ調整は、Edit Modeで行います。
また、間接位置が分かりやすい様にWireframe表示に変更します(お好みに合わせて)。
後は、Armatureの各関節がQちゃんの各関節位置にあう様に各Boneの位置を合わせていきます。
また、QちゃんとArmatureともにX軸に対して対象の図形なので、片側だけの操作で済む見ように[X Axis Mirror](X軸対称)にチェックを入れておきます。
また、手を構成するBoneや顔を構成するBoneはQちゃんには不要なので、削除します。
ここでは、説明は省きますが、Rigを生成するとき([Generate Rig]の実行時)にエラーにならない様にするためには下記のBoneは残しておきます。
Rigは生成しない場合は、下記の中のBoneも削除しても構いません。
実際のBoneの配置は下記の様に行います。
BoneやそのHead(Tail)の移動はX/Y/Z軸固定で移動するのが良いです。
Boneの削除は、削除したBoneを選択して、[DEL]キーを押し、表示されたダイアログで[Bones]を選択します。
(もちろん、指や顔の細かい部品のあるメッシュデータの場合は、Boneは削除せず、部品に合わせて配置します)
顔の部分の様な複雑な部分のBoneの削除は、間違えて他の部分のBoneを選択してしまわない様に、Outlinerで選択し、Viewportで削除するというような事を繰り返して行っています。
出来るだけ、メッシュデータとArmatureの位置は合わせた方がいいと思いますが、最悪、後述の「Weight Paintモードで不自然さの解消」で修正するので、そこまで神経質にならなくても良いと思います。
メッシュデータとArmatureの関連付け
Armatureの各Boneの位置・サイズ調整が完了したら、Qちゃん(メッシュデータ)とArmatureの関連付けを行います。
① Object Modeにして、Qちゃんを選択した後、Armatureを追加選択する。
メッシュデータが暗いオレンジ、ArmatureがActive(明るいオレンジ)になっている事を確認する。
② [CTRL] + Pキーで[Set Parent To]メニューを表示して、[(Armature Deform) With Automatic Weights]を選択します。
※右クリックの[Object Context Menu]のParentから選択する場合、[(Armature Deform) With Automatic Weights]の位置が、[Set Parent To]メニューと位置(順番)が違うので注意しましょう。
これで関連付け(親子関係、重みづけ)が完了しました。
Pose Modeでの不自然さの確認
Boneを動かして確認
Armature(metarig)とQちゃん(メッシュデータ)の関連付けができたら、Pose Modeにして、各Boneを動作させて、メッシュデータの変形(Vertexの追従)に不自然さがないかを、確認します。
Object ModeでArmature(metarig)を選択して、Pose Modeにして、色々なポーズを取らせてみます。
Boneを移動(Gキー)や回転(Rキー)で動かす場合は、X/Y/Z軸固定で動かした方が不自然に曲げられると思います。
動かしすぎるとどうしても不自然にはなるので、移動・回転はほどほどにします。
サイズ変更(Sキー)は、通常あまり使う事はないかも…(ルフィのギガントピストルみたいなのには使えるのかな?)
Qちゃんについては、肘や膝を曲げた時や、腕を上げた時に、若干胴体のVertexが引っ張られるのが不自然に感じました。他にも不自然な部分(上腕を動かしたら、首や頭が変形してしまうなど)があれば、修正したいですね。
Armatureを初期値に戻す
Boneを動かしすぎて「訳が分からなくなった」「Undoで初期位置に戻せなくなった」という場合には、下記手順で初期位置に戻します。
※これは、いつでもできるので、ポーズを取らしたまま、次の工程に進んでもいいかと思います。
- 「A」キーで全選択
- [Pose]メニューの[Clear Transform]→[All]を選択
Weight Paintモードで不自然さの解消
(以下はRigを用いない場合のみ行ってください。Rigを使うとここで行っている事の意味がなくなってしまうためです)
もし、Boneを移動・回転した時に不自然さがある場合には、Weight Paintモードで、Vertexの重みを変更して、不自然さを解消していきます。
Object Modeに変更してメッシュデータ(Qちゃん)を選択してから、Weight Modeに変更します。
- 0.0(青)に近づければ、追従しなくなる
- 1.0(赤)に近づければ、追従する
ポーズをとったままWeight PaintモードでWeightを変更すると、Vertexの追従性を確認しながら作業できますが、ポーズによっては、特定のVertexだけを変更するのが難しくなります。(悩ましい所です)
Auto IKの有効化
さて、ArmatureでQちゃんにポーズを取らせる事が出来るようになりましたが、思ったようなポーズを取らせるのは中々骨が折れます。
例えば、「手をこの位置に持っていきたい!」と思った場合、
upper_arm(上腕)→forearm(前腕)→hand(手)
の様に順番に位置・角度を決めていく必要があります。
(これを、FK(Forward Kinematics)と呼ぶ(と思う))
hand(手)を移動したら、勝手にforearm(前腕)→ upper_arm(上腕)も変形してくれると、ポーズを取りやすいですね。
hand(手)→forearm(前腕)→upper_arm(上腕)
(これを、IK(Inverse Kinematics)と呼ぶ(と思う))
Armatureを自分で構築した場合は、このIKの様な機能を実現したい場合は、自分で設定する必要がありますが、今回使用した[Human(Meta-Rig)]にはその設定が既にされています。
ただし、デフォルトではIK機能は有効になっていないので、下記手順で有効化します。
【修正】(すみません、間違えていました。[Auto IK]はHuman(Meta-Rig)でなくても有効になる機能でしたm(_ _)m)
各BoneのHeadとTailが接続されている部分については、IKを利用する事が出来ます。
ただし、デフォルトでは有効にはなっていないため、下記手順で有効化します。
- Pose Modeに変更
- サイドバーを開き、[Tool]タブを選択
- [Pose Options]の中の[Auto IK]にチェックを入れる
Auto IKを有効にする事により、手の位置の移動が格段に楽になります。
IKでの関節の曲がり方の調整
不自然な関節の曲がり方
Auto IKで手の位置を自由な場所に持っていけるようになりましたが、たまに、間接があらぬ方向に曲がってしまうう場合があります。
Blender本家のYoutubeのTutorialを見ていると、やたらテクニカルな方法が紹介されていますが、ここではお手軽な方法を紹介します。
BoneのAxes(座標軸)の表示
関節の曲がる方向を制限する前に、各Boneのローカル座標のAxes(座標軸)を表示します。
Propertiesパネルの[Object Data Properties]タブを開き、[Viewport Display]内の[Axes]にチェックを入れます。
各BoneのTail(先端)にXYZの座標軸が表示されるようになりました。
※Wireframe表示にすれば、Bone内の座標軸が透けて見えるようになります。
各BoneのLock IK設定
forearm(前腕)を例にとってみます。
通常、手のひらを下にして両手を広げた時、X軸周りに回転し、Z軸周りやY軸周りには回転しません。(関節が柔らかい人は別ですが)
そのため、Y軸、Z軸周りの回転をしない様に制限したいと思います。
Armatureの位置をリセットした後、forearm_Lを選択します。
Propertiesパネルの[Bone Properties]タブを開き、[Inverse Kinematics]内のLock IK項目のY、Zの鍵マークのトグルボタンをクリックして、鍵が掛かった状態にします。
手の位置を優先した不自然な曲がり方はなくなりましたが、間接が逆方向に曲がってしまう場合があります。
各Boneの回転範囲設定
前腕の設定を続けます。
Armatureの位置をリセットした後、forearm_Lを選択します。
Propertiesパネルの[Bone Properties]タブを開き、[Inverse Kinematics]内のLimit Xにチェックをいれ、Minを0°、Maxを180°に設定します。
Viewportを見ると、X軸周りの回転範囲が、赤い弧で表示されています。
これで、逆関節にもならない様になりました。
補足
不自然な曲がり方をする各BoneにLock IK設定、回転範囲設定を行います。
これで、間接はおかしな曲がり方をしないかというと、少し違います。
Lock IK設定や回転範囲設定は、あくまで、IK(Inverse Kinematics)時の設定ですので、各Boneの移動や回転自体に制限をかける訳ではないので、自由な方向に関節は曲げられてしまいます。
IKを使えば、また、制限が復活しますので、これは、このままにしておきます。
ポーズの保存
ポーズの作成
FK、IKでQちゃんにポーズを取らせることが出来るようになりました。
自分は、この時思いました。
「Armatureの初期化は出来るけど、ポーズは毎回、初期状態から作成しないといけないの?」
「せっかく、なかなかいいポーズが出来たんだけど、もう一回作れる自信がない…」
まぁ、そんな心配は不要なのですが、知らないと困ってしまいます。
作成したポーズの追加
保存したいポーズが出来たら、下記手順で保存を行います。
- 「A」キーを押して全選択
- [Pose]メニューの[Pose Library]の[Add New]を選択
(ショートカット:[SHIFT] + L) - Adjust Last Operaton(PoseLib Add Pose)パネルのPose Nameを更新
ポーズを作成したら、同様にポーズを追加しておきます。
また、Armatureの初期位置もポーズの一つに追加しておいても良いと思います。
ポーズの読み出し
ポーズを追加(保存)しても、読みだせなければ意味がありません。
ポーズの読み出し手順は下記となります。
[Pose]メニューの[Pose Library]の[Browse Poses]を選択
(ショートカット:[CTRL] + L)
パッと見、何も変わらないと思うかも知れませんが、ポーズ表示モードになっています。
マウスのホイールの回転や、方向キー(↑↓←→)でポーズを切り替え、マウス左ボタンクリック、もしくは[ENTER]キーで確定します。
※当然ですが、ファイルに保存しなければ、追加したポーズも消えてしまいますので、ファイル保存は忘れずにしましょう。
さて、今回はBlenderのHuman(Meta-Rig)のArmatureを使って、Qちゃんにポーズを取らせました。
ポーズを取らせる方法として、Human(Meta-Rig)から、Rig(リグ)を作成する方法もあります。
リグを使った場合、しゃがんだりするポーズが楽にできたり、顔の表情(目の動き)などが簡単に操作できる様ですが、Qちゃんを動かすには、機能過多なため、今回の方法でポーズを取らせる事にしました。
前の記事 | 次の記事 |
---|---|
No.15(Armature②) | No.17(Armature④) |