Blender で「揺れもの」を表現するにはいろいろな方法があると思います。 よく使われているものにはメッシュ変形モディファイアを使った手法などがあります。
でも今回のフィギアは胸にボーンが仕込んであり、服にも胸のボーンのウェイトが塗ってあるので、ボーンを揺らせば胸と服を同時に揺らせます。 メッシュ変形モディファイアだと胸と服の変形のずれが大きく、胸が貫通することが多かったので、シンプルにボーンを揺らすことにしました。
![ボーンで胸を揺らす](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_01.gif?resize=800%2C534&ssl=1)
![服を着た状態で胸をボーンで揺らす](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_02.gif?resize=800%2C534&ssl=1)
前提として今回使用したフィギアには、予め下記のようにアーマチュアを設定しています。
![フィギアのアーマチュア](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_03.png?resize=800%2C450&ssl=1)
作業の手順は下記のようになります。
- ベジェカーブを胸のボーンの位置に追加
- ベジェカーブをソフトボディで揺らす
- ベジェカーブと胸のボーンを関連付ける
- 胸の揺れ具合の調整
ベジェカーブを胸のボーンの位置に追加
まずは揺れを作るために胸のボーンの位置にベジェカーブを置いていきます。 オブジェクトモードで Shift + A キーからベジェカーブを追加します。
![ベジェカーブを追加](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_04.png?resize=800%2C450&ssl=1)
R Z 90 とキーを押しカーブを前向きにします。 続いて S X 0 とキーを押し、カーブを直線にします。 S キーでカーブを縮小して、G キーで胸のあたりに移動します。
![胸の位置にベジェカーブを移動](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_05.png?resize=800%2C450&ssl=1)
ここからベジェカーブの位置を胸のボーンの位置にぴったり合わせていきます。 アーマチュアを選択して、編集モードで胸のボーンの根本を選択します。 Shift + S キーから「カーソル → 選択物」を選択して、ボーンの根本に3Dカーソルを合わせます。
![胸のボーンの根本に3Dカーソルを移動](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_06.png?resize=800%2C450&ssl=1)
次にベジェカーブを編集モードで開き、カーブの根本を選択します。 Shift + S キーから「選択物 → カーソル」で、ベジェカーブの根本を 3Dカーソル ( ボーンの根本の位置 ) に合わせます。
![ベジェカーブの根本を3Dカーソルの位置に移動](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_07.png?resize=800%2C450&ssl=1)
同様にしてベジェカーブの先端側も胸のボーンの先端に合わせます。
![ベジェカーブの位置を胸のボーンの位置に合わせる](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_08.png?resize=800%2C450&ssl=1)
これでベジェカーブの位置が胸のボーンと一致しました。 最後にオブジェクトモードでメニューの「オブジェクト → 原点を設定 → 原点をジオメトリへ移動」からベジェカーブの原点を移動しておきます。
![ベジェカーブの原点をジオメトリへ移動](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_09.png?resize=800%2C450&ssl=1)
ここまでできたら反対側の胸も同じようにつくります。 両胸にベジェカーブを設置したら、ベジェカーブとアーマチュアを親子関係にしていきます。
ポーズモードで胸のボーンの親となるボーンを選択しておいてから、オブジェクトモードに戻ります。ベジェカーブ ( 両方とも ) → アーマチュアの順に選択して、Ctrl + P から「ボーン」を選択します。
※重要:胸のボーンではなく胸の親のボーンに親子付けします。ポーズモードで選択 ( アクティブ ) したボーンに親子付けされます。
![ベジェカーブをアーマチュアに親子付する](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_10.png?resize=800%2C450&ssl=1)
この状態で胸のボーンを動かすと、ベジェカーブも同時に動くはずなのでポーズモードでフィギアを動かして確認します。
ベジェカーブをソフトボディで揺らす
ベジェカーブを揺らす作業に移ります。 オブジェクトモードでベジェカーブを選択し、「物理演算」タブからソフトボディを適用します。
![ベジェカーブにソフトボディを適用させる](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_11.png?resize=800%2C450&ssl=1)
ソフトボディの「強さ」は「デフォルト」を「1」に、最小を「0.9」ほどにします。 タイムラインの再生ボタンを押してベジェカーブが揺れるかどうか確認します。 揺れ具合は後ほど調整するので、ベジェカーブと胸のボーンを関連付ける作業に移ります。
ベジェカーブと胸のボーンを関連付ける
まずはベジェカーブの先端に、ターゲットとなるオブジェクトを配置します。 このターゲットとなるオブジェクトはベジェカーブの揺れをボーンに追従させるために使用します。
オブジェクトは ICO 球などでもいいのですが、レンダリング時に邪魔になるのでエンプティを使ってみました。 まず Shift + C キーで 3D カーソルを原点に移動してから、Shift + A でエンプティを追加します。
![エンプティを追加](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_12.png?resize=800%2C450&ssl=1)
エンプティにはオブジェクトコンストレイントタブから「オブジェクトにコンストレイントを追加」をクリックし、「パスに追従」を追加します。
![エンプティに「パスに追従」を追加](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_13.png?resize=800%2C450&ssl=1)
するとエンプティがベジェカーブの先端に移動します。 先端から動かないように定位置にチェックを入れます。 タイムラインの再生ボタンを押して、ベジェカーブの揺れにエンプティが追従するのを確認します。
![アニメーションを再生して動きを確認](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_14.png?resize=800%2C450&ssl=1)
続いて胸のボーンとベジェカーブの揺れを連動させていきます。 ポーズモードで胸のボーンを選択し、ボーンコンストレイントタブの「ボーンコンストレイント追加」から「軸固定トラック」をふたつを追加します。
![胸のボーンに「軸固定トラック」をふたつ追加する](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_15.png?resize=800%2C450&ssl=1)
どちらもターゲットにはベジェカーブの先端に配置したエンプティーを設定します。 ひとつは「固定」を「Z」軸に、もうひとつを「X」軸にします。 最後に「影響」を両方とも「0.5」ほどに調整します。 影響を「1.0」のままにしておくと、影響が強すぎてボーンでポーズをつけることができなくなってしまうためです。
反対側の胸も同様に軸固定トラックを追加すればひとまず完成です。 アニメーションさせて動きを確認します。
![ボーンと胸の揺れを確認](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_16.gif?resize=800%2C534&ssl=1)
また胸のボーンを回転させて、ポーズを変えられることも確認します。
![胸のポーズの確認](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_17.gif?resize=800%2C450&ssl=1)
胸の揺れ具合の調整
胸の揺れ具合はベジェカーブのソフトボディで調整します。
![ソフトボディの設定](https://i0.wp.com/3dgraph.me/wp-content/uploads/2019/10/p77_img_18.png?resize=800%2C450&ssl=1)
今回は下記のように調整しました。
シミュレーション:速度 | 0.5 | 体に対して若干遅れて動くように |
設定:剛性 | 0.65 | 上げると固くなり下げると柔らかく |
設定:減衰 | 20 程度 | 揺れの繰り返し具合 |
このへんはお好みで調整します。 以上で胸の揺れの完成です!
参考にさせていただいたページ
Blender Advanced Dynamic Breasts Rigging Tutorial – YouTube
メッシュ変形を使って胸を揺らすチュートリアル動画
DDRさんからのコメント
いつも楽しく読ませてもらってます。
このガイドの通りやってみたんですが揺れない・・・
質問なんですが、ターゲットにはベジェカーブの先端に配置したエンプティーを設定と書かれていますが、
二本のベジェカーブのどちらに設定すればいいのでしょうか? それともエンプティーを二つ用意するのでしょうか?
Noriさんからのコメント
DDRさんコメントありがとうございます。
エンプティはひとつずつ、両方の胸に追加します。