お仕事関連のメモがてら、3Dソフトのtipsをお送りいたします。その3
前回の記事はこちらです↓

ユガラボ | 2015/09/11
【Blender】メッシュにボーン(Armature)を入れてポーズ変更できるようにする
【Blender】メッシュにボーン(Armature)を入れてポーズ変更できるようにする
今回は、ボーンの位置、回転などの状態をひとつひとつ登録していき、
登録したものを繋げてアニメーションさせる、という作業を行います!
マスターボーンを追加する。
前回までの記事の手順通り、
メッシュにボーンをいれてペアリングまでが完了しているものとします。

このままだと、背骨の下部分と腰の付け根部分がまだ繋がっていません。

アニメーションさせる際も、このままでは不便なので
「マスターボーン」を追加する作業を行います。
マスターボーンは、全てのボーンの親となるボーンで、
マスターボーンを動かせば子になっている全てのボーンを動かしたり回転させたりできます。
まず、編集モードに入り背骨の真ん中あたりのボーンのTipを選択します。

そこから後ろに向かってボーンを押し出します。(ホントはどこから押し出してもいいのですが、位置的にわかりやすいので)
視点を平行視点(テンキー5)の真横から(テンキー3)にするとやりやすいです。

Eキーの押し出しを押してから、Yキーを押せば移動座標軸がY軸に固定されます。
この操作をすると、背骨のボーンの子としてボーンが作られますが、まずはそれで大丈夫です。
新しく押し出したボーンの名前を「Master」とします。

編集モードで画面右のアウトライナーからこのボーンのプロパティを開き、
「親」のボーン関連付けを解除し、このボーンを独立したボーンにします。

今度は逆に、すでにある背骨、右足の付け根、左足の付け根の3つの親ボーンを設定します。
「親:」からMasterボーンを選ぶことで、Masterボーンの子となります。

これで、すべてのボーンをMasterボーンの子としてまとめることができました。
マスターボーンは、ペアリング後に追加したボーンなので、曲げたり伸ばしたりしても、
メッシュの形が変わらないようになっています。
アニメーション登録前の準備
ここまででボーンの作成が完了したので、
アニメーション編集の際に見やすくなるよう、表示状態を変更します。
アウトライナーのアーマチュアプロパティを選び、表示を「八面体」から「スティック」に変更しましょう。

これでメッシュが見やすくなりました。

次に、画面下のエディターを「ドープシート」に変更します。

このシートにポーズを一つ一つ登録していくことで、アニメーションを作成することができます。
ドープシートメニューのアクションモードを使用します。

モーション作成!
歩行モーションを作ってみましょう。
「新規」をクリックして新しいアニメーションを登録します。

アニメーション名は「walk(loop)」としました。
名前を決めたら右にある「F」のボタンを押しておいてください。

これを押さないと作ったモーションが保存されません!
また、フレームを1コマ目に合わせておいてください。

歩行モーションですから、
「足を前に出す」
「足に合わせて腕を降る」
「腰、背中を歩く姿勢に合わせて軽く曲げる」などの動作になります。
まずは、1コマ目の動作として右足を前に出す動作を登録します。
まずは、「右足を前に出すポーズ」を作ります。
右クリックで曲げたいボーンを選択し、rキーで角度調節を行っていきます。

ひとつひとつのボーンを調整し、納得するポーズになったら「キーフレーム」を登録します。
3Dビュー上でIキーを押し、キーフレーム挿入メニューを開いて「位置/回転」をクリックします。

これで、いま作成したポーズが登録されました。

このポーズは右足を前に出していますが、これを左右判定して左足を前に出したポーズにします。
ドープシート上でキーフレームの一番上の「ドーブシート概要」の列を右クリックで選択します。これでこのフレームの全てのボーンの位置状態を選択できます。
Ctrl + Cでポーズごとコピーします。
そして、21フレーム目あたりをクリックしてShift + Ctrl + Vで「左右反転ペースト」を行います。

左足を前に出したポーズが生成されました。

次に、41フレーム目あたりに最初に作った右足を前に出したポーズを左右反転せずそのままペーストします。
ポーズのペーストはCtrl + Vで大丈夫です。

これで1~41フレームにかけて
「右足を前に出したポーズ」
「左足を前に出したポーズ」
「右足を前に出したポーズ」
の3つが登録されました。
一旦、この状態でアニメーションさせてみましょう。
左下のビューを「タイムライン」に切り替えます。

ここでアニメーション開始フレームと終了フレームを設定することができます。
開始を「1」、終了を「41」に設定しましょう。

設定したらalt + Aで再生ができます!

おお!?うーん。
いちおう手足を前後に振って動いてくれましたが、まだ躍動感が足りません。
こんなときは中間フレームを登録して動きを補間しましょう。
1フレーム目の「右足を前に出したポーズ」と
21フレーム目の「左足を前に出したポーズ」の中間に位置する
11フレーム目を選択します。ここのポーズを調整します。

いまのままだと、宙に浮いているようなポーズになっています。
人間はふつう、歩行中にこんなポーズにはならないハズです。
足の角度を調節して、地に足がついたカンジにしました。

また全体の座標を少し前寄りにし、肩と腕の角度も少し変えました。
補間用のポーズができたら、最初と同じように3Dビュー上でIキーを押し、
「位置/回転」を登録します。

1〜21の間の11フレーム目に一歩目の補間ポーズができたので、
同様に21〜41フレーム目の二歩目の部分も補間ポーズを登録します。

31フレーム目には、いま作った補間用ポーズを左右判定したものを貼り付けましょう。
もう一度再生してみると…前よりよくなりました!

このように、さらに細かい調整をしていき、こきみよいモーションになるまで試行錯誤することになります!
別のモーションを作る場合
次は歩行以外のモーションを作りたい!という場合は、
ポーズ名の右の「×」ボタンを押してそのポーズの編集を解除します。

もう一度「新規」を押して別のモーションの作成に入ることができます。
別のモーションを作る際は、フレーム番号が他のモーションとかぶらないように注意してください。

今回はこんな感じでした。
お読みいただき、ありがとうございました!
26 件のコメント
こんなソフトがあるんですねー
かなり細かい作業を繰り返してて気が滅入りそうですw
この歩いてるキャラクター作るのにどれくらい時間が
かかるものなんですか?
(私なら1か月はかかりそうですけど)
>もこもこさん
こんばんは!コメントありがとうございます!
メルスト以外の記事にコメント頂けるとめっちゃうれしいですw
こうやって解説記事にすると長々となってしまいますが、
実際にはキャラクターの3Dモデルを作るのに3時間くらい、骨を入れるのに30分くらい、動きをつけるのに1アクション10分〜1時間くらいです。(慣れた場合)
見た目より簡単にできますし、フリーソフトだけでできるので、興味がおありでしたらためしてみてください(`・ω・´)
とっても勉強になりました!
モチーフが楽しくて楽しくよみすすめることが出来ました
ありがとうございます!
僕も頑張って作ってみます。
>わっしょいさん
はじめまして!ご丁寧にコメントくださり嬉しいです。
参考になったようでしたら幸いです(人´∀`*)
自分が作ったモデルがアニメーションで動くと、すごくワクワクするし無限の可能性を感じますよね!
この快感は病みつきです。がんばってくださいー!
親子になりません
>>5さん
状況がわからないので、詳しくお願いします(´・ω・`)
すこし遅いですが明けましておめでとうございます
去年の11月からチョクチョクこの記事を読ませてもらって
なんとか今日アニメーションを作る事ができました!
凄い時間かかってしまいました、、、
これからフェイスアニメーションとかも作るので更に時間がかかりそうです、、、
あと、ウィンドウの操作の理解に苦労したのでその辺を補足して頂けると分かりやすいかなーと思いました。
>>7さん
明けましておめでとうございます!
すごい!アニメーション作れましたか!
参考になったようでしたら、大変嬉しいです(´v`n*)
どれだけ時間がかかっても、出来上がったならそれだけで素晴らしいことです。
ウィンドウ操作はたしかにわかりにくかったかも…。
しかし、大変心苦しいのですが
私のほうでBlenderは仕事で使わなくなってしまって久しいので、追加で記事を書いたりするのは厳しそうです。・゜・(ノД`)・゜・。申し訳ない!
コメント失礼します。
マスターボーンの親子設定についてですが、ツリー上では親子設定ができているのに、ポーズモードで動かすとくっついていません。
何か気を付けるべきことはあるでしょうか。
>>9さん
こんにちは!
ボーンの親子関係の「接続」「回転を継承」「スケールを継承」にチェックは入っていますでしょうか。
このチェックで、親ボーンが動いた時に子ボーンが追従するかどうか設定できます。
>>10
背骨や尻の接続にチェックを付けるとそのボーンとMasterボーンが物理的に繋がってしまうんですが・・・
>>11さん
ああ、ごめんなさい!
追従させたいけど骨自体は離したい場合は、接続のチェックはいらないです。
どうも始めまして。少々お伺いしたいことがあるのですが、上記にある通り両足先と背中の親をmasterに設定してポーズモードで全体を移動できるようにはなったのですが、足を動かすと足先とスネの接続が切れてしまいました。ボーンの接続をオンにしたら足先が真上を向いてしまう始末。
ikを付ければいいのかと思い、挑戦してみたのですが上手い具合にいきません。
どうしたら足先がくっ付け、動かすことができますか?
ご返答お待ちしております。
>バナナシェイクさん
はじめまして!
足とmasterの接続についてですが、masterの子として設定するのは足先ではなく足の付け根です!
人間でいうと骨盤のあたりにあるボーンになります。再度ご確認くださいー
無事 出来ました! ありがとうございます!
>バナナシェイクさん
よかったですー!
ポーズを設定していくとメッシュがぐにゃっとなるのですが、何が問題でしょうか?
>>17さん
目的のボーンに対して、別の関係ない部位のメッシュが一部関連付けらしまっていると思われます
ウェイトペイントの消しゴムツールを使い、手動でボーンからメッシュの関連を消すか、
もしくはボーンの位置をメッシュに対して正確に配置しなおしたり、ボーンの本数を細かくわけて再度自動ウェイトを行うかすると改善するかもしれません。
はじめまして。とても分かりやすくて助かります♪
ところで、二つお尋ねしたいのですが、
・「ポーズモード」で動かしたボーンに追従したメッシュを、位置固定のまま「編集モード」で操作することと、そのまま保存することは可能ですか?
(例えば、蓋つきのビンがあったとして、ポーズモードで蓋を取り外した状態と二つ、オブジェクトの書き出し保存をしたい場合。)
・これは別の内容になるのですが、蓋つきビンの蓋だけをオブジェクトとして保存したい場合、ビンのみを削除すればいいのでしょうか?
>たっつんさん
はじめまして!
ポーズモードのボーン反映については、よそのブログ様ですがこちらの記事が参考になるかと思います。
http://bluebirdofoz.hatenablog.com/entry/2018/05/05/220320
二点目についてですが、目的のオブジェクトをコピーするか別名で保存するなりして、いらない頂点を削除するのがいいかと思います。
返信くださりありがとうございます!
おかげさまで上手くいきました!二つ目の件も、削除でうまくできました!
ただ、一つ目の件で一部、「シェイプキーを選択したモディファイアーが○○~」とエラーが出てしまいできませんでした。
調べてみたら「Apply Modifier」というアドオンだとできるとありましたが、これは正しい方法ですか?
>たっつんさん
すみません、わたしは最近Blenderを扱っていないのでなんとも言えないのですが、アドオンをいれて解決する問題ならアドオンをいれるのが手っ取り早い方法かと思います!
使っているのがver.2.79ですが、「Apply Modifier」で上手く変換できました!
いろいろアドバイスくださり本当にありがとうございました!
これからも、参考にさせていただきますね♪
はじめまして。Blenderについて質問したいことがあります。現在、私はBlenderにて人型ロボットの転倒判定シミュレータを作成しています。現時点で、ロボットの外見と重量を付加し、歩行動作を作成してみました。しかし、転倒の判定自体は可能なのですが、ロボットが動作した際に生じる慣性による揺れが再現できず、実際のロボットを動かした際の動きと大きな誤差があります。どのような機能で再現が可能でしょうか?
>うぇすとさん
はじめまして。そのような出力を得たい場合は物理演算が必要になると思います。
具体的には、歩行時に得た地面からの摩擦にロボット脚部強度の係数をかけ減衰させて、関節部分の稼働にフィードバックさせるみたいな感じじゃないかと。
ググッたところBlenderでも物理演算できるらしいのですが、わたしはBlenderをそういう使い方したことないのでお力になれないです、すみません…。
そういう目的でしたらUnityが作りやすいと思うので、開発環境を移すことに抵抗がなければ移行するのも手かと思います。
直感的に操作できるし、個人利用でしたら無料なのでオススメです。
お忙しい中、回答ありがとうございます。
確かに、Blenderでなければいけないというこだわりがあったわけではなかったので、そちらの方面でも試してみたいと思います。
本当にありがとうございました!