お仕事関連のメモがてら、3Dソフトのtipsをお送りいたします。その2
前回の記事はこちら↓です!
ユガラボ | 2015/09/04
【Blender】Sculptrisで作成したモデルをBlenderへインポートする
【Blender】Sculptrisで作成したモデルをBlenderへインポートする
今回は、Blenderにメッシュを取り込んで大きさと位置合わせまで完了しているものとし、
前回の続きからお伝えします!
今回は、Blenderに取り込んだメッシュに骨格(ボーン、アーマチュア等と呼称します)を入れて、
3Dモデルのポーズを自由自在に変更できるようにいたします。
最初のボーンを追加する
まずは、メッシュの基底部分(足の裏的な部分)がゼロ座標に合わさっていることを確認します。
正面から見るとピッタリ合っていますね。
ピッタリ正面から見たい場合は、テンキーの5で平行投影に切り替え、
テンキーの1で正面視点にしてください。
そして、3Dビューにマウスが乗った状態でShift + Aキーを押してください。
オブジェクトの追加メニューが表示されます。
この中から、アーマチュア(Armature) > 一つのボーン(Single Bone)を選択します。
ボーンが追加されました。
この、最初に追加されたボーンは一番基本となる骨である背骨として利用します。
まずは、ボーンの位置を合わせます。ボーンを選択した状態で画面右のアウトライナーからオブジェクトプロパティから座標を選択し、X、Y、Zすべて0を入力してください。
(アウトライナーとは、画面上に素材するオブジェクトのリストと、その情報が表示されるビューです。)
ボーンが中心点に移動しました。
このままでは、ボーンが他のオブジェクトと重なった時に、メリ込んで見えなくなってしまいますので、アウトライナーでアーマチュアを選択し、アーマチュアプロパティのオプションから「レントゲン」をONにします。
この設定を行うことで、ボーンがメッシュに対してどのように重なっていても、ボーン全体が優先表示されるようになります。
メッシュの形状に合わせてボーンを生やす
こちらはかなり重要な作業です!と同時に面白い部分でもあります。
現実に存在する生物の骨格を参考に作ると、かなりそれっぽい動きになりますよ!
まずは、ボーンを構成する部位について覚えてください。
初期設定の八面体表示のボーンを例にします。
ボーンの上部分(尖ったほう)をTip、下部分(太いほう)をRootと呼びます。
まずは、編集モードに移動します。
画面左側のオプションから、アーマチュアオプションの「X軸ミラー」をONにしてください。
オプションが画面に出ていない場合はTキーで表示されます。
ボーンを選択するには、右クリックを使用します。
ボーンの真ん中部分を右クリックして、ボーン全体を選択し、
最初のボーンを背骨にあたる位置まで移動しましょう。
ボーンのTip部分が上に大きくはみ出してしまっている場合、
Tip部分を右クリックで選択し、青軸の矢印(Z軸)をひっぱって下に移動します。
斜めから見るとこんな感じです。
次に、2本目、3本目…とボーンを生やして繋げていく作業です。
これを「ボーンの押し出し」と呼びます。
ボーンを生やしたい部位のTip部分かRoot部分を右クリックで選択します。
選択したらEキー→マウスドラッグで次のボーンが生えてきます。
今回はZ軸方向に固定して伸ばしたいので、ボーンを生やしてからZキーを押して、
移動軸を限定させましょう。
そのままZ軸固定の押し出しを続け、首、頭のボーンも追加します。
左右対象のボーン
両腕、両足などは左右おなじように作る必要があります。通常の押し出しはEキーですが、
Shift + Eキーを押すことで左右対象にボーンを生やすことができます。
(オプションのX軸ミラーをONにしておいてください。)
背骨あたりから肩に相当するボーンを伸ばします。
肩から下のボーンは普通にEキーの押し出しで大丈夫です。
腰から下のボーンは、最初に置いた背骨ボーンのRootから伸ばします。
足のボーンは、カメラを正面ではなく真横(テンキー3)に向けて押し出すとよいです。
これで、大雑把ですが身体全体分ボーンを作製できました。
動かしたい部位の数だけボーンが必要です
これは別のモデルになりますが、ポーズを変更する場合、ボーンを動かすことになる関係上、複雑な動きをさせたい場合はその分だけボーンが必要になります。
こちらの例の場合は、くちばしの上部分と下部分にボーンを入れ、くちばしの開閉ができるようにしています。
人間のモデルの場合、こだわるなら指の一本一本、関節まで考慮してボーンを入れ込むなど。
そうすれば指を一本一本自由に動かせるので、ピースさせたり、ぐわしさせたりできますが、その分処理も重くなります。
ゲームなどで動作させる場合は、ボーンの数が多くなればなるほど処理も重くなるので、その点を考慮しながらボーンの配置を行いましょう。
ボーンの命名
このままだとどれがどこの骨かわからないので、名前をつけましょう。
アウトライナーでボーンの名前部分をクリックすると名前を変えることができます。
左右二つあるボーンの場合は、末尾に「 _R」、「_L」を付けて区別しましょう。
今回の例ではこのようにつけました。
メッシュとアーマチュアのペアリング
このままでは、メッシュとアーマチュア(骨格)はそれぞれ独立したオブジェクトでしかありません。
このふたつを関連付ける操作をします。
オブジェクトモードで、アウトライナーでShift + クリックでメッシュとアーマチュアを両方同時に選択します。
両方選択した状態で Ctrl + Pを押すと「メッシュとボーンのペアリング」を行うことができます。
今回は「自動のウェイトで」を選択します!なんと!これだけでメッシュがボーンに従って大体は動いてくれるようになります!すばらしい。
ペアリングが済んだら、ポーズモードに移行しましょう。
ポーズモードではボーンを曲げたり移動させたりしても、「ポーズ編集している」とみなされ、
ボーンのデフォルト位置や角度が変わるわけではありません。
ポーズモードでボーンを回転させてみると…
メッシュもいっしょに曲がりました!
ボーンを初期位置に戻したい場合は、
3Dビュー上でaキーで全ボーンを選択し、
alt + g で位置、alt + r で回転、alt + sで拡縮を元に戻すことができます。
ポーズモード(ボーンを選択すると水色になる状態)で、ボーンを回転させたりして、
動きを確認してみましょう。
いろんなポーズができちゃいます!楽しい!
この次は、ボーンの動きの状態を登録したものを繋げて作る「アニメーション」についてお伝えしたいと思います。
9 件のコメント
質問です
物理演算で使用する人形を作っています
しかし骨を曲げた後で肉体を動かすと骨を曲げた部分の肉体がおかしな動きをします
どうしたらいいのでしょうか?
>>1さん
おそらく、「ウェイト設定」に問題があるのではないかと思います。
ボーン一本一本には、「そのボーンを動かしたり曲げたりすると、3Dモデルのどのぶぶんがどのくらい影響をうけるか」という設定が行われています。
この設定を近くにあるボーンから自動的に行うのが「自動のウェイトで」というコマンドなのですが
モデルが複雑だったり、ボーンの位置がずれていたりした場合、うまく自動ウェイトが適用されない可能性があります。
どのボーンがどこにどれだけの割合で関連付けられているかは、「ウェイトペイント」のモードで確認できます。
対処法としては、ボーンの位置をもう一度調整してから再度「自動ウェイト」を行うか、手動でウェイトペイントを行うか、になるかと思います。
1つ以上のぼーんでエラーとなります
>>3さん
こんばんは!
どのタイミングで、具体的にはなんというエラーが出るか教えてください!
とても分かりやすい解説のおかげで、無事人型を動かすことができました。
先生、どうもありがとうございました!
>エモさん
ご丁寧にありがとうございます(人´∀`)
お役に立ったようでよかったです!
自動ウェイトを行うと、「ボーンヒートウェイト:一つ以上のボーンでエラー」と出てしまいペアレントできません。解決方法をご存知ならば、教えていただけるとありがたいです。
>名無しの甘噛みさん
わたしのほうではそのエラーに遭遇したことはないのですが、調べたところメッシュの形が複雑すぎたり、メッシュが閉じていなかったりすると発生することがあるみたいです。
こちらのページ様が参考になるかもしれません。
https://dskjal.com/blender/failed-to-find-solution-for-one-or-more-bones.html
ありがとうございます。
sculptrisの方でもう一度モデルを作り直してインポートしたらできる様になりました。もしかしたらモデルが少し複雑になっていたのかもしれません…
ユーリさんの説明はとても分かり易く、大変良い参考になりました。今後とも頑張って下さい!
長文失礼しました。