「Doc:JA/2.4/Tutorials/Animation/BSoD/Character Animation/Lower body armature」の版間の差分

提供: wiki
移動先: 案内検索
 
(1版 をインポートしました)
 
(相違点なし)

2018年6月29日 (金) 05:47時点における最新版

下半身のアーマチュアの構築

いまある上体のアーマチュアに、下半身のものを追加していきます。 上半身のアーマチュアで練習してきたので、足のセットアップはもうすこし複雑にしていきます。 ただし、これは意図的にシンプルにしたリグだということを覚えておきましょう。より細やかな制御を使った、より高度なリグについては BSoD/Introduction_to_Rigging/Leg_Rigs をご覧ください。

Also see [1] for an older version of arm/leg rigs, but it is much easier to understand and it's a finished document.

  • アーマチュアを選択して、エディットモードに切り替えます (⇆ Tab)。
Armature panel settings.
  • 表示タイプを Octahedronに戻します。 こうすると、ボーンがどの方向をむいているのかを確認しやすくなります。
  • X-Axis Mirror がまだ選択されていることを再度確認してください。


Select the root of spine1.
  • spine1 ボーンのルートを選択します。


Symmetrically extrude the hips.
  • ⇧ ShiftE使用して、腰を対称的に押し出しましょう。

腰はちょうど spine1 ボーンのroot から押し出されます。 我々が作った他の押し出しは、すべてのボーンの tip から押し出されています。 ボーンの根から押し出すと、新たなボーンは、デフォルトでは親をもちません。 腰をspine1 ボーンへ親子化する必要があります。

  • hip.l を選択して、それを spine1の子にしていきます。 Con ボタンは offのままにします。 このボタンがオンになっていると、腰骨は spine1の先端にスナップしてしまいます。これは起こってほしくありません。
  • hip.rにも同じことを行います (そのボーンを spine1 の子にして、そして Con はオフのままにする)。


Symmetrically extrude the upper legs.
  • ⇧ ShiftEで、対称的にふともものボーンを押し出しましょう。


Symmetrically extrude the lower legs.
  • 対称的に下腿を押し出します。


Symmetrically extrude the foot.
  • サイドビューに切り替えます (3 NumPad)。
  • 足のボーンを押し出して . . .


Symmetrically extrude the toe.
  • . . . そして足の指のボーン。


Give a little bend to the knee.
  • サイドビューで、上肢のティップ/下肢のボトムのところを選択して、膝が多少曲がるように少しそれを前方に移動させます。 こうすると、これからとりかかるIKのセットアップの作業がうまくいきます - 最初に正しい方向にいくらか屈曲していれば、膝が後方に曲がることが起きにくくなります。


Extruding the foot controller.
  • 下肢のティップを選択し、下方に押し出します。 このボーンは、メッシュを変形させませんが、足のIKをセットアップするときに "ハンドル" として機能します。 すべてはこの後、明らかになってゆくでしょう。


Bone names, lower body.
  • ボーンに名前を付けます。 私がつけた名前は
  • hip.l
  • upper_leg.l
  • lower_leg.l
  • foot.l
  • toe.l
  • leg.l

そして

  • hip.r
  • upper_leg.r
  • lower_leg.r
  • foot.r
  • toe.r
  • leg.r


Settings for the toe.l bone.
The toe.l bone, parented to leg.l


これでボーンはすべてセットアップされました。 この時間で設定をいくつか調整しておきます。 気に留めておいてほしいのは、設定は、反対側を自動的に更新してはくれないので、ボーンを押し出したときのようにはいかないということです。なので別個にそれぞれの側で設定を変更する必要があります。

  • toe.lを選択します。
  • アーマチュアボーンパネルで、まず Con ボタンの選択を解除して、現時点の親からボーンを切り離します。
  • その後toe.lのアーマチュアボーンパネルから leg.l を選択して、 "leg.l" の子にします。 最初にそれを切断していない場合、 leg.l の子にするときに、つま先のボーンが leg.l ボーンの先端にスナップしてしまいます。 この問題が発生した場合は、 CtrlZ で元に戻し、 先にtoe.l を非接続にしてください 。
  • 親子化した後、 toe.lleg.lの親であることを示す、 toe.l から leg.lにのびる点線があることを確認しましょう。


Settings for foot.l.

foot.l を選択して、同じことを行います:

  • Con ボタンをクリックして、foot.l を親から切り離し、その後 foot.lleg.lの子にします。 子と親を結ぶ点線が見えないのは、ボーンに隠れているからです。


Make the leg.l bone be parented to none.
  • leg.l を選択して、それを "none"の子にするか、または "child of" メニューの下部にある空白部分の子にします。 "Con" ボタンが表示されなくなります . . . 親がない場合、このボーンに接続するものは何もありません。

leg.l を親がない状態にすることによって、 leg.l移動のヒエラルキーの上位になにもボーンがなくなったことを意味します。 それを移動させる唯一の方法は、直接それを移動させることです。 そのうちご覧いただきますが、これは足を地面に維持するのに便利です。

Add an IK Solver constraint to the lower_leg.l bone.
  • ポーズモードに切り替えます (⇆ Tab)。
  • lower_leg.l ボーンを選択してください。
  • lower_leg.lにIK Solverを追加します。 これを行うには、編集ボタンの下のConstraints パネルで、 Add Constraint ボタンをクリックして IK Solverを選択します。 こうすると、選択状態のボーンに constraint(拘束) が追加されます。 Constraints パネルには、今は IK Solver 拘束の設定があることを確認しておきましょう。
The lower_leg.l IK Solver constraint.
  • Constraints パネルで、 OB: テキストボックスのなかに "Armature"と入力しましょう。
  • BO:テキストボックスの中には "foot.l" と入力します。 ちょうど、Armature と呼ばれるアーマチュアオブジェクトのなかの foot.l というボーンがターゲットであることを拘束に伝えました。


拘束は、ボーンのすべき振る舞いかたを決めるプログラミング方法の一種です。 例えば、メニュー上の拘束のタイプのひとつに、 Track To 拘束があります。 ボーンがどのオブジェクトを追跡するようにしたいのかを拘束に指示すると、オブジェクトを移動する時にはいつでも、ボーンがそちらを指すようになります。

ところで、 IK Solver 拘束も似ています。 そのターゲットがどうあるべきかを拘束に指示すると、たくさんの方程式を解くことにより、ボーンとチェーン全体をターゲットのほうに向けようとします。 セットアップがなされて、Auto-IKの優位性を見ていただくまで、もうすこしおつきあいください . . .

IK Solver doesn't work right with the default settings . . .
  • Important: アーマチュアパネルで、 Auto IK が OFF になっていることを確認してください。
  • 足のコントローラをうごかして、 leg.lを移動させてみてください。 脊椎とそれに接続されているすべてのものが、アーマチュア全体としていっしょに移動してしまいます。 正しくありません! 腕のときにも同じような問題があり、そしてチェーンを断ち切るために肩を非接続にすることによって修正したのを思い出してください。 もっとも、この時間では、まさにこういった事を解決するるために作られた、 IK Solver 拘束の設定があります。


Changing ChainLen to 2.
  • 再び lower_leg.l ボーンを選択してください。
  • IK Solver拘束のもとにある Constraint パネルで、 ChainLen を 2に変更してください。 デフォルトでは、 ChainLen はゼロで、(または未定義) 、チェーンがどんなに長さであるかに関わらず、IK Solverがチェーン全体をとり込むこと意味します。 2に変更すると、チェーンの長さはボーン2つ分だけであることを IK Solver に伝えます - 言い換えれば、 lower_leg.l ボーンと the upper_leg.l ボーンのみだということを。


Now moving leg.l works correctly.
  • 再び leg.l ボーンを選択し、それを移動させてみてください。 今なら脚だけが移動するようになっているはずです。

さて身体の右側にも同じ手順を実行します:

  • エディットモードで、 toe.r を切り離し、それを leg.rの子にします。
  • foot.r を切り離し、それを leg.rの子にします。
  • leg.r をなにも子を持たない状態にします。
  • ポーズモードに切り替えます。
  • lower_leg.rに IK Solver 拘束を追加します。 ターゲットを、オブジェクトArmature内の foot.r にします。 代替策: よりすばやくIK拘束を追加する方法として、 ターゲット (foot.r)を選択している状態にして、その後のボーン(lower_leg.r) をshift-選択し、 そして ⇧ ShiftIを押すという方法もあります。
  • ChainLen を 2に変更します。

下半身のウェイトペイント

上半身の製作をしてきたので、ウェイトペイントする方法はお分かりでしょう。 下半身にも同じことをやってみましょう。

  • ポーズモードで、 A-A-AltR-AltGですべてのボーンの位置と回転をまっさらにします。
  • アーマチュアパネルで、描画タイプをスティックに戻します。
  • キャラクターメッシュを選択します。
  • Ctrl⇆ Tab でウェイトペイントモードに入ります。
  • もう一度確認すること:
    • X-Mirror が選択されているか (重要!)
    • All Faces と Vertex Dist が非選択になっているか
    • Weight は 1.0 に設定されているか
    • Opacity は 1.0に設定されているか
  • 各ボーンを選択し、ウェイトペイントを開始しましょう。ビューをぐるりと回転させてすべての頂点をペイントすることを忘れずに。 私は、結局 hip ボーンを使用しませんでした - キャラクターは、それらなしでうまく変形したからです。なので、ここにウェイトは示されていません。
upper_leg.l weights.
lower_leg.l weights.


foot.l weights.
toe.l weights.


テストポーズ

いくつかテストポーズをとらせながら新しい機能性を試してみて、 そしてF12を使ってレンダリングしてみましょう。

Test pose


まとめ
下半身のアーマチュアを構築し、IK拘束を追加し、そしてウェイトペイントしました。 次は、リグを微調整して、制御しやすいようにしていきます。


Next: Final rig adjustments

Previous: Upper body: weight painting

Back to Index