バーチャル3Dクリエイター神部まゆみです(*^-^*)
この記事は、blenderのポーズモードでボーンを動かした状態のメッシュをシェイプキーに登録してみた備忘録です。
これしょっちゅう手順を忘れるから、詳しく書いておく。
シェイプキーっていうのは、MMDでいうモーフみたいなやつ。
っていうかMMDに持っていけばモーフとして使える感じ?MMD最近いじってないから分からないけど(;^_^A
シェイプキーが作れるようになるとunityに持って行って簡単に表情変えたりできるので、覚えておいた方が良いかも。
使用したのはblender2.93です。

参考にした頭のいい先輩のページ
とても参考になりました。
ありがとうございます(*^-^*)

やったこと:ポーズモードでボーンを動かした状態のメッシュをシェイプキーに登録した
普通シェイプキーって頂点を移動させて作るのが一般的?
だけどポーズモードでボーンを動かした状態のメッシュを、シェイプキーとして登録することもできる。
シェイプキーとして登録しておけば、ボーン動かさなくても数値指定で呼び出せるのでラク。
具体的な手順
- ポーズモードでボーンを動かす。
- オブジェクトモードに移り、メッシュだけを選択。モディファイアメニューでアーマチュアの「シェイプキーとして適用」をクリック。
- 2を行えば、1の状態がシェイプキーに登録されている。名前を好きな名前に変える。
- ボーンを初期位置に戻して後片づけ。ポーズモードに入り、全選択をして、回転であればAlt+R、移動であればAlt+Gで初期位置に戻る。
- シェイプキーを追加したメッシュを選択し、アーマチュアモディファイアを追加する。
①ポーズモードでボーンを動かす
VRoidモデルの胸でも動かしてみようかな(笑)。
アーマチュアを選択してポーズモードに入り、Bust1ボーンを左右両方選択して、 R+X+45+Enter でX軸で45度回転させる。
ワイヤーフレーム表示にしたほうが分かりやすいと思います。
②オブジェクトモードに移り、メッシュだけを選択。モディファイアメニューでアーマチュアの「シェイプキーとして適用」をクリック
参考にした先輩のページでは「シェイプとして適用」になっていた。
blenderのバージョンによって名前が少し違うみたい。
③ ①の状態のシェイプキーが登録されている。シェイプキーの名前を好きな名前に変える
bodyメッシュにarmatureというシェイプキーが登録されているので、名前を変えます。ここでは「mune」にしておく。
ついでに動作チェックも。ちゃんと動いてますね。
④ボーンを初期位置に戻す。ポーズモードに入り全選択、回転であればAlt+R、移動であればAlt+Gで初期位置に戻す
そのままだとボーンが動かした位置のままなので、初期位置に戻します。
ポーズモードに入りAキーでボーンを全選択、Alt+Rで。
ちなみにAlt+Rっていうのはこれね。
⑤シェイプキーを追加したメッシュを選択し、アーマチュアモディファイアを追加する
最後にこれをやらないとウェイトが載ってない感じ?になり、ボーンを動かしてもメッシュがついてきません。↓
なのでシェイプキーとして適用したメッシュには、アーマチュアモディファイアを追加します。
「オブジェクト」のところはarmatureを指定します。
armatureはモデルによって名前が違うかも。前回MakeHumanでやった時は、モデルの名前がアーマチュア名になってた。

これでちゃんとボーンを動かせばメッシュも追従して動くようになりました。
注意点:メッシュを動かしているだけなのでボーンは動かない
メッシュが動くだけなので、ボーンは初期位置で置いてけぼりです。
↓胸のボーンは動いていないことに注目。
ダイナミックボーンとかの、ボーンに作用するアセットと併用すると意図しない動作をする可能性があるかも?
unityで動作確認してみる
ちゃんと動きましたね(*ノωノ)
このくらいならボーンで動かしてもいいけど、シェイプキーだと数値で指定できてラクだから好きです。
何パターンか作って組み合わせて使ったりもできるし。
blenderなら適当にボーン入れて自動でウェイト付けできるから、それに加えてシェイプキーも組み合わせればかなり色々動かせると思う。
あとは「ドライバー」って機能を使えば、ボーンとシェイプキーを連動させられるらしいです。
まだやったことないので分かりませんが( ̄▽ ̄;)
後でやってみて記事にしておくかも。