technical

【Blender】メッシュにボーン(Armature)を入れてポーズ変更できるようにする

お仕事関連のメモがてら、3Dソフトのtipsをお送りいたします。その2


前回の記事はこちら↓です!

今回は、Blenderにメッシュを取り込んで大きさと位置合わせまで完了しているものとし、
前回の続きからお伝えします!

今回は、Blenderに取り込んだメッシュに骨格(ボーン、アーマチュア等と呼称します)を入れて、
3Dモデルのポーズを自由自在に変更できるようにいたします。

最初のボーンを追加する


20150910_a01
まずは、メッシュの基底部分(足の裏的な部分)がゼロ座標に合わさっていることを確認します。

20150910_a02
正面から見るとピッタリ合っていますね。
ピッタリ正面から見たい場合は、テンキーの5で平行投影に切り替え、
テンキーの1で正面視点にしてください。

そして、3Dビューにマウスが乗った状態でShift + Aキーを押してください。
オブジェクトの追加メニューが表示されます。
20150910_a03
この中から、アーマチュア(Armature) > 一つのボーン(Single Bone)を選択します。
ボーンが追加されました。
20150910_a04
この、最初に追加されたボーンは一番基本となる骨である背骨として利用します。

まずは、ボーンの位置を合わせます。ボーンを選択した状態で画面右のアウトライナーからオブジェクトプロパティから座標を選択し、X、Y、Zすべて0を入力してください。
(アウトライナーとは、画面上に素材するオブジェクトのリストと、その情報が表示されるビューです。)
20150910_a05

20150910_a06

ボーンが中心点に移動しました。
20150910_a07

このままでは、ボーンが他のオブジェクトと重なった時に、メリ込んで見えなくなってしまいますので、アウトライナーでアーマチュアを選択し、アーマチュアプロパティのオプションから「レントゲン」をONにします。
20150910_a08
20150910_a09
この設定を行うことで、ボーンがメッシュに対してどのように重なっていても、ボーン全体が優先表示されるようになります。
20150910_a10

メッシュの形状に合わせてボーンを生やす


こちらはかなり重要な作業です!と同時に面白い部分でもあります。
現実に存在する生物の骨格を参考に作ると、かなりそれっぽい動きになりますよ!

まずは、ボーンを構成する部位について覚えてください。
20150910_b01
初期設定の八面体表示のボーンを例にします。
ボーンの上部分(尖ったほう)をTip、下部分(太いほう)をRootと呼びます。

まずは、編集モードに移動します。
20150910_b02
画面左側のオプションから、アーマチュアオプションの「X軸ミラー」をONにしてください。
20150910_b03
オプションが画面に出ていない場合はTキーで表示されます。

ボーンを選択するには、右クリックを使用します。
ボーンの真ん中部分を右クリックして、ボーン全体を選択し、
最初のボーンを背骨にあたる位置まで移動しましょう。
20150910_b04
ボーンのTip部分が上に大きくはみ出してしまっている場合、
Tip部分を右クリックで選択し、青軸の矢印(Z軸)をひっぱって下に移動します。
20150910_b05
20150910_b06


斜めから見るとこんな感じです。
20150910_b07

次に、2本目、3本目…とボーンを生やして繋げていく作業です。
これを「ボーンの押し出し」と呼びます。
ボーンを生やしたい部位のTip部分かRoot部分を右クリックで選択します。
選択したらEキー→マウスドラッグで次のボーンが生えてきます。
今回はZ軸方向に固定して伸ばしたいので、ボーンを生やしてからZキーを押して、
移動軸を限定させましょう。
20150910_b08

そのままZ軸固定の押し出しを続け、首、頭のボーンも追加します。
20150910_b09

左右対象のボーン

両腕、両足などは左右おなじように作る必要があります。
通常の押し出しはEキーですが、
Shift + Eキーを押すことで左右対象にボーンを生やすことができます。
(オプションのX軸ミラーをONにしておいてください。)
20150910_c01

背骨あたりから肩に相当するボーンを伸ばします。
肩から下のボーンは普通にEキーの押し出しで大丈夫です。
20150910_c02

腰から下のボーンは、最初に置いた背骨ボーンのRootから伸ばします。
20150910_c03

足のボーンは、カメラを正面ではなく真横(テンキー3)に向けて押し出すとよいです。
20150910_c04

これで、大雑把ですが身体全体分ボーンを作製できました。
20150910_c05

動かしたい部位の数だけボーンが必要です

これは別のモデルになりますが、
ポーズを変更する場合、ボーンを動かすことになる関係上、複雑な動きをさせたい場合はその分だけボーンが必要になります。
20150910_d01
こちらの例の場合は、くちばしの上部分と下部分にボーンを入れ、くちばしの開閉ができるようにしています。
人間のモデルの場合、こだわるなら指の一本一本、関節まで考慮してボーンを入れ込むなど。
20150910_d02
そうすれば指を一本一本自由に動かせるので、ピースさせたり、ぐわしさせたりできますが、その分処理も重くなります。

ゲームなどで動作させる場合は、ボーンの数が多くなればなるほど処理も重くなるので、その点を考慮しながらボーンの配置を行いましょう。

ボーンの命名


20150910_e01
このままだとどれがどこの骨かわからないので、名前をつけましょう。

アウトライナーでボーンの名前部分をクリックすると名前を変えることができます。
20150910_e02

左右二つあるボーンの場合は、末尾に「 _R」、「_L」を付けて区別しましょう。
20150910_e03

今回の例ではこのようにつけました。
20150910_e04

メッシュとアーマチュアのペアリング


このままでは、メッシュとアーマチュア(骨格)はそれぞれ独立したオブジェクトでしかありません。
このふたつを関連付ける操作をします。

オブジェクトモードで、アウトライナーでShift + クリックメッシュとアーマチュアを両方同時に選択します。
両方選択した状態で Ctrl + Pを押すと「メッシュとボーンのペアリング」を行うことができます。20150910_f01
今回は「自動のウェイトで」を選択します!なんと!これだけでメッシュがボーンに従って大体は動いてくれるようになります!すばらしい。

ペアリングが済んだら、ポーズモードに移行しましょう。
20150910_f02
ポーズモードではボーンを曲げたり移動させたりしても、「ポーズ編集している」とみなされ、
ボーンのデフォルト位置や角度が変わるわけではありません。

ポーズモードでボーンを回転させてみると…
20150910_f03
メッシュもいっしょに曲がりました!

ボーンを初期位置に戻したい場合は、
3Dビュー上でaキーで全ボーンを選択し、
alt + g で位置、alt + r で回転、alt + sで拡縮を元に戻すことができます。

ポーズモード(ボーンを選択すると水色になる状態)で、ボーンを回転させたりして、
動きを確認してみましょう。
20150910_f04
いろんなポーズができちゃいます!楽しい!

この次は、ボーンの動きの状態を登録したものを繋げて作る「アニメーション」についてお伝えしたいと思います。
20150910_next

  • Category: technical / Blender
  • Posted: 2015/9/11 12:00
  • Author: ユーリ
関連タグ
前後の記事
人間は…自分を変えてくれたものに憧れる。週刊少年ジャンプ 2015年42号 感想
ですよね〜^^ 週刊少年ジャンプ 2015年41号 感想
  • TOPへ戻る

9 件のコメント

    • 1
    • ななしさん
    • 2017/09/08 17:12

    質問です
    物理演算で使用する人形を作っています
    しかし骨を曲げた後で肉体を動かすと骨を曲げた部分の肉体がおかしな動きをします
    どうしたらいいのでしょうか?

    • 2
    • ユーリ
    • 2017/09/09 20:18

    >>1さん
    おそらく、「ウェイト設定」に問題があるのではないかと思います。
    ボーン一本一本には、「そのボーンを動かしたり曲げたりすると、3Dモデルのどのぶぶんがどのくらい影響をうけるか」という設定が行われています。
    この設定を近くにあるボーンから自動的に行うのが「自動のウェイトで」というコマンドなのですが
    モデルが複雑だったり、ボーンの位置がずれていたりした場合、うまく自動ウェイトが適用されない可能性があります。
    どのボーンがどこにどれだけの割合で関連付けられているかは、「ウェイトペイント」のモードで確認できます。
     
    対処法としては、ボーンの位置をもう一度調整してから再度「自動ウェイト」を行うか、手動でウェイトペイントを行うか、になるかと思います。

    • 3
    • ななしさん
    • 2017/10/24 22:12

    1つ以上のぼーんでエラーとなります

    • 4
    • ユーリ
    • 2017/10/25 00:01

    >>3さん
    こんばんは!
    どのタイミングで、具体的にはなんというエラーが出るか教えてください!

    • 5
    • エモ
    • 2017/12/15 16:48

    とても分かりやすい解説のおかげで、無事人型を動かすことができました。
    先生、どうもありがとうございました!

    • 6
    • ユーリ
    • 2017/12/16 13:30

    >エモさん
    ご丁寧にありがとうございます(人´∀`)
    お役に立ったようでよかったです!

    • 7
    • 名無しの甘噛み
    • 2018/08/19 22:26

    自動ウェイトを行うと、「ボーンヒートウェイト:一つ以上のボーンでエラー」と出てしまいペアレントできません。解決方法をご存知ならば、教えていただけるとありがたいです。

    • 8
    • ユーリ
    • 2018/08/20 13:03

    >名無しの甘噛みさん
    わたしのほうではそのエラーに遭遇したことはないのですが、調べたところメッシュの形が複雑すぎたり、メッシュが閉じていなかったりすると発生することがあるみたいです。
    こちらのページ様が参考になるかもしれません。
    https://dskjal.com/blender/failed-to-find-solution-for-one-or-more-bones.html

    • 9
    • 甘噛みの名無し
    • 2018/08/21 16:00

    ありがとうございます。
    sculptrisの方でもう一度モデルを作り直してインポートしたらできる様になりました。もしかしたらモデルが少し複雑になっていたのかもしれません…
    ユーリさんの説明はとても分かり易く、大変良い参考になりました。今後とも頑張って下さい!
    長文失礼しました。

コメントを残す


※おなまえ空欄可("ななしさん"になります。)