Doc:JA/2.4/Tutorials/Animation/BSoD/Character Animation/Upper body weight painting

提供: wiki
移動先: 案内検索

Weight Paint mode

Blender に指示して、アーマチュア内のボーンを移動させさせるたびに、それにあわせてメッシュ内のどの頂点が移動するのかを指定していきます。 手動で頂点を選択しながらグループに割り当てることもできますが、これを行うもっと強力な方法としてウェイトペイントモードがあります。

Change the armature draw type to Stick.
Armature in Stick draw type.
  • 最初に、ボーンの表示を少し目立たなくしてみましょう。 アーマチュアを選択します。
  • Edit ボタンの下のアーマチュアのパネルで、描画の種類として Stick を選択してください 。 これにより、ボーンをかさばる八面体から (アーマチュアを構築するときには有用だった形状) 、細い棒に変更して、画面のスペースをあまり多く占有しないようにます。


Note
ウェイトペインティングのときにアーマチュア内のボーンを選択するには、アーマチュアをポーズモードにしておく必要があります。


  • アーマチュアがポーズモードになっていることを確認します。
  • キャラクターメッシュを選択します。
  • Ctrl⇆ Tabで、メッシュの Weight Paint モードに切り替えます。 アーマチュアにおけるポーズモードのように、ウェイトペイントモードというのはオブジェクトモードの代替品のようなものです。

メッシュがダークブルーに変わることをたしかめましょう。 ご覧のように、ウェイトペインティングは、色を使って頂点グループに関する情報を表現します。

Character mesh, in Object mode.
Character mesh, in Weight Paint mode.


The Paint panel.
  • Edit ボタンで新しいパネルが利用可能になります: ペイントパネルです。 以下ようにの設定を行いましょう:
    • Weight を 1.0 に変更してください。 これは、ブラシの色を決定します。
    • Opacity を 1.0 に変更します。 これは、各ブラシストロークごとに、どのくらい "paint" を塗り付けるのかを表します。
    • All Facesをオフにします。 こうすると、どこをペイントするのかを、もう少し細かく制御することができます。
    • Vertex Distをオフにしてください。 こうすると、制御の幅もひろがります。
    • Soft はオンのままにしますが、これはほとんど個人的な好みです。 どうなるかというと、ただペイントが少し滑らかに見えるだけです。
    • Important: X-Mirror をオンにしましょう。 こうすると、ボーンにつけた対称的な名前を利用できるようになるので、片側だけをペイントすればよくなります! (ユーザーの補遺 [著者ではない]: 私のケースでは、最初のボーンだけを選択していても、ポーズモードで移動するときに、ミラー化されたボーンにも影響が及んでしまった。 私は個々にボーンをペイントしなければならず、 X-Mirror をオフのままにして、一回にひとつだけのボーンが移動するようにしなければならなかった。 私は線に沿ってどこかでミスをしていたのかもしれないが、私はそれを見つけることができなかった。 この問題に遭遇した場合は、 X-Mirror をオフのままにして、個別にボーンをペイントしたくなるかもしれない。)


ウェイトペインティングにおける Weight は、 ボーンの影響力の強さに関係します。 upper_arm.l ボーンを選択した状態のときに、メッシュの上腕部分の頂点が影響を受けるようにしたいところです。 なのでそこをペイントしていきます!

上腕のウェイトペイント

upper_arm.l selected while in the mesh's Weight paint mode.
  • RMB Template-RMB.pngupper_arm.l ボーンを選択します。 たとえメッシュのウェイトペイントモードにしていても、まだボーンを選択することができ、これは、Armature modifierを使用するアーマチュアはこのメッシュのものを使うということを指示するためです。


Weight painting vertices for upper_arm.l, from Front view.
  • LMB Template-LMB.pngを使用して 、慎重にブラシで upper_arm.l ボーンをペイントしていきます。 メッシュは今、赤色で表示され、それらの頂点が 1.0 の重みを持っていることを示し、このとき upper_arm.lに影響をうけることになります。 他の色は、他の重みを示しますが、このチュートリアルでの用途においては、すべて 1.0の重みを使用します。


Weight painting vertices for upper_arm.l, from Rear view.
  • メッシュの背面がよく見えるように、ビューを回転させましょう。 Ctrl1 NumPad で、これをすばやく行えます (背面ビュー)。 upper_arm.l の裏側も同様にペイントします。


Rotating upper_arm.l: the mesh move along.
  • upper_arm.l ボーンを選択して、それを回転させましょう (R)。 メッシュは、ボーンに沿って変形します。


upper_arm.l selected.
  • 反対側の upper_arm.r を選択します。 このボーンの頂点はすでにペイントされていることに気をつけましょう! このようになるのは、ボーンに対称的な (l と r) 名前をつけ、ペイントパネルで X-Mirror を有効化したからです。 Blender は反対側にあるボーンを発見し、私たちのためにウェイトをミラーリングしてくれます。


  • 再び upper_arm.l を選択し、 AltRで回転をクリアします。

ウェイトペインティングのためのヒント

ウェイトペインティングのときに、心に留めておくとよいヒントをいくつか以下に示します。

  • ペイントした頂点は、選択状態のボーンに割り当てられます。
  • 塗りつぶしている頂点が、選択しているボーンといっしょに動かしたいものだけになっているか確認してください。 隣接するボーンの領域に少しにじみがはみだしてしまっても、まあ OKです。
  • 入力を間違えた場合、 CtrlZ は最後のステップだけを元に戻し、複数ステップ戻すことはできません。 私がみつけた最善の方法は、ペイントパネルで Clear ボタンを押すことです。 こうすると、選択したボーンにおけるすべての重みをクリアします。 Important: 重みのクリアは、対称的には発生 し ま せ ん! もし upper_arm.l に満足できず、クリアしてそのボーンを最初からやり直すときは、 upper_arm.r を選択して同様にそのボーンのウェイトをクリアする必要があります。 そうしないと、 upper_arm.r にウェイトが残留することになり、挙動が非対称になってしまいます。
  • あなたのウェイトが、ここの画像とぴったり同じ見えなくても問題ありません。ボーンを動かしたときの結果として得られるメッシュの変形に満足してさえいれば。

腕の残りの部分をウェイトペイント

  • lower_arm.l を選択し、ウェイトペイントします。 さきほどと同様に、視野をメッシュの反対側に回転させて、前腕の後ろ側をペイントすることを忘れないでください。
  • 続いて手や指のボーンにおりていきます。最初にボーンを選択し、そのあと前面と後面からウェイトペイントしていきます。


Weights for lower_arm.l.
Weights for hand.l.
Weights for finger1.l.
Weights for finger2.l.


ミスをした場合
ウェイトペイントするときに、失敗してしまったら CtrlZ で1つだけステップを元に戻せます。 ミスを修正する最も率直な方法は、ペイントパネルで Clear を押して、選択したボーンのウェイトをリセットし、そのボーンへの重みづけをやり直すことです。


The arms now move!.
  • さて finger2 ボーンを選択し、移動させます。 Auto-IK が有効になっている場合、腕はそれらボーンと一緒に移動するはずです。 Auto-IK は、アーマチュアのプロパティなので、それが有効になっていない場合は、オブジェクトモードに切り替えて、アーマチュアを選択し、 Auto-IKをオンにする必要があります。


Arm isn't deforming correctly.

時には、頂点をペイントするときに全体的にミスしてしまうこともあるでしょう。 ボーンを動かすときに、次のようなってしまうのを目にするかもしれません:

Select the bone . . .

それを修正するには、頂点の移動のもととなるべきボーンを選択して . . .

And paint the offending vertices.

そして、非協力的な頂点をペイントします。 それらがあるべき、元の位置に戻るはずです。

キャラクターをモデル化する方法によっては、キャラクターを正しく変形させられるようなボーンになるまでには、ウェイトペイントモードでいじくりまわしたりといった、ある程度の手間がかかるかもしれません。

  • ボーンの回転や位置をリセットするには、 Ctrl⇆ Tabでウェイトペイントモードを抜ける必要があります
  • その後、アーマチュアを選択します。
  • A-A-AltG-AltR コンビネーションを使って、すべてのボーンの位置と回転をクリアします。
  • キャラクターのメッシュを再度選択します。
  • ウェイトペイントモードに切り替えると (Ctrl⇆ Tab)、アーマチュアはレストポジションにリセットされています。

頭部と胴体をウェイトペイント

それでは頭部と胴体をウェイトペイントしていきましょう。

  • キャラクターメッシュのウェイトペイントモードに切り替えます。
  • head ボーンを選択してください。
  • どんどんペイントしましょう! 前面から背面まで塗り忘れのないように。
Moving the head bone back.
  • 頭のボーンを選択したまま、サイドビューで Gをつかって後方に移動させます。おっと! 何が起こってる?
  • 頭を動かすことによって、いくつかの頂点を見逃していたことが確認できるでしょう。 頭の中にかくれた頂点で、いままで見えないところにあったことがわかります: 眼窩の内側面、そして口の内側です。


Paint over the vertices left behind after the head was moved.
  • これを修正するには、頭のボーンを選択したままの状態で、置き去りにされた頂点のうえをそのままペイントします。 ところで、まだ目については心配しないでください。 まもなく修正する予定です。
  • ボーンをリセットしましょう (Ctrl⇆ Tab、アーマチュアを選択、 A-A-AltG-AltR)。
  • キャラクタメッシュのウェイトペイントモードに戻ります。


脊椎のボーンと首のボーンを選択し、ウェイトペイントを開始します。

私のウェイトは、このようになりました。:

neck weights.
shoulder.l weights.
spine5 weights.


spine4 weights.
spine3 weights.
spine2 weights.


spine1 weights.


目を頭のボーンへ親子化する

さきほど頭を移動したときに、目は置き去りになっていました。 目は別のメッシュのオブジェクトなので、head のボーンへそれらをウェイトペイントすることはできず、体のメッシュをウェイトペイントしたときのようにはいきません。

目にアーマチュアモディファイアを適用することは可能で、 head ボーンを選択し、そして目をhead ボーンへとウェイトペイントすればできます。 しかし、これはベストな方法ではありません。

こちらがその理由です: 私たちは、最終的に目が目標物を追跡するようにしていく。 そのためには、オブジェクトの中心を軸として旋回できる必要があります。 目を頭部にウェイトペイントしてしまうと、頭を移動するときに目の頂点をオブジェクトの中心から引き離してしまい、目線の向きがファンキーそのものになってしまいます。

その代わりに、目のオブジェクト全体を頭のボーンへ親子化していきます -- 目を構成する頂点だけではなく。

Parenting the left eye to the head bone.
  • ウェイトペイントモードから抜けます。
  • アーマチュアがポーズモードになっていることを確認します。
  • どちらか一方の目を選択します。
  • 目を選択した状態のまま、頭のボーンを shift-選択 します。
  • CtrlP>>Boneで、目を head ボーンへ親子化します。

他方の目にも同じことを実行しましょう:

  • 目を選択
  • Shiftキーを押しながらhead ボーンを選択します。
  • CtrlP>>Bonehead のボーンへ親子化します 。.

さあ頭を動かしたり、回転させたりしてみましょう。 もう目が一緒についてくるはずです。

リグのテスト

順調ですね! ウェイトペイントモードから切り替えて、アーマチュアを選択しましょう。 これでもう、キャラクターにポーズをつけていけます! いくつかテストポーズを試してみたり、テストレンダリングしながらいろいろ新しくつくってみましょう!

非常に便利なヒント
これまでは、我々は回転させるときに R を使用してきました。 R-R と押してみてください (続けてで2回叩く)。 こうすると、 トラックボール 回転が可能なり、旧来の通常の回転よりもボーンのポジショニングが容易になります。


おそらく操作に慣れるまでには、いくらか練習する必要があるでしょう。 さまざまな方法でボーンを動かしてみて、どのような反応をするのかいろいろ試してみてください。:

  • Auto-IK をONにします
  • ボーンを選択して、移動させる
  • ボーンを選択して、回転させる。 Auto-IK が効果をもたらすのは移動時だけで、回転時には効かないことに注意しましょう。
  • Auto-IK をOFFに
  • ボーンを選択して、移動させる
  • ボーンを選択して、回転させる。 同じように動作しますが、上腕を移動しようとするときは別だということに注意してください。 上腕を動かすと、肩から切り離されてしまいます。 まあ、解決するのは簡単です: 上腕は移動をしないで、回転だけをさせてください!


Test render.


まとめ
ウェイトペイントによって、ボーンを移動したときに頂点もいっしょに移動させるよう、Blenderに指示しました。 キャラクターは、とうとう動きます! 次は、下半身のアーマチュアを作成し、もうすこしウェイトペイントします。



You can download the .blend file up to this point: Media:BSoD-ItCA-upper_body_weight_paint.blend.

Next: Lower body: armature and weight painting

Previous: Upper body: armature

Back to Index