![見出し画像](https://assets.st-note.com/production/uploads/images/100852207/rectangle_large_type_2_20ff95ab6ba4eff52e0fe5c3f47db0ec.jpeg?width=1200)
MMDのモーション作りで腕を滑らかにぐりぐり回したくなった話
以前(2021年)に補間曲線のことを色々書いておりました。
ブロマガ終了に伴ってgooブログで書き直したものですが、さらに続きを書こうとしたら今になってしまいました。
今回は心機一転、noteで書いてみようと思います。
◆MMD同梱の初音ミクV2のボーン構造、通称標準ボーン(捩りボーン入)を対象としています。
◆モデルによってはうまく動作しない可能性があります。
◆ここからは私感でしかありません。
チュウカンテン・ソクドカクドキープ
「始点と終点の補間曲線をS字に設定、中間点で角度を変えない」
動き出しから動き終わりまでの補間曲線をS字に設定し、間にキーを挟むならその中間点では速度と角度をキープする、というのが滑らかにモーションを作る秘訣のようです。
しかし腕のモーションの複雑な動きをこの「中間点速度角度キープ」で作れるのか。
試してみたいと思います。
腕、といえばこんな感じにカーブを描くような動きが割とあったりします。
![](https://assets.st-note.com/production/uploads/images/100843648/picture_pc_3d86d772a9bf3acc9ba6a273dcc537bc.gif)
作り方はこんな左右に動くモーションに
![](https://assets.st-note.com/production/uploads/images/103931087/picture_pc_c532a326b34b055da1b0d5af68d1c113.gif)
このポーズを挟んでいます。
![](https://assets.st-note.com/img/1680781841242-pf1SMlM0uU.jpg?width=1200)
しかし始点→中間点→終点でS字を作ってしまうと
![](https://assets.st-note.com/img/1680781892448-7qRxJxcY7c.jpg)
こうなります。
![](https://assets.st-note.com/production/uploads/images/102289833/picture_pc_4dbeb00bc1f3309c489e9a5eaf0a3d76.gif)
中間点が補間曲線で一番速くなっている箇所になるため、角度が変わる瞬間が目立ちます。
そして中間点を増やして角度の変化を浅くする方法が広く採られてきました。
![](https://assets.st-note.com/production/uploads/images/102289998/picture_pc_c57ad6edef52b28cc1f91a258a46e9b2.gif)
これで良いんじゃないか?と思う部分もあるのですが、中間点で角度が変わっているわけですので滑らかさを追求するのが中々大変です。
というわけで今回は「中間点速度角度キープ」を踏まえた方法で挑戦してみたいと思います。
ボーンを別々に使う
腕のモーションはどうしても肩ボーンと腕ボーンをセットにして考えがちですが、これを少し変えてみます。
まずは真ん中で腕を上げるこのポーズ。
![](https://assets.st-note.com/img/1680786579885-vZWbyMvjf9.jpg?width=1200)
これを肩ボーンだけでポーズを作ります。
肩ボーンのキーフレームは始点→終点・始点→終点、つまり補間曲線を両方S字に設定します。
![](https://assets.st-note.com/img/1679406268415-8o31IkbN63.png)
すると肩ボーンは山型に動き、頂点で一旦減速します。
![](https://assets.st-note.com/production/uploads/images/100845388/picture_pc_3cfa69516cb754f29d0bb10887fd2da2.gif)
肩ボーンの中間点はこの補間曲線の設定により中間ではなくなり前のモーションの終点になり、次のモーションの始点になります。
つまり中間点がなくなるので「中間点で速度角度が変わる」ことがなくなります。
腕ボーンは水平に動きます。
![](https://assets.st-note.com/production/uploads/images/100845552/picture_pc_50ff135d1bdea1d54dc25fb6d4f9779d.gif)
これが混ざると
![](https://assets.st-note.com/production/uploads/images/100845968/picture_pc_ff6e54907b4bf46949aef2facde5a319.gif)
こんな動きが再現できました。
肩ボーンが一旦減速する所と腕ボーンの最高速の部分とが重なることによってカーブになるみたいです。
もう一つ作ってみました。
まずは肩ボーン
![](https://assets.st-note.com/production/uploads/images/100850285/picture_pc_27495e2e409f342e8bc365972c7778e7.gif)
そして腕ボーン
![](https://assets.st-note.com/production/uploads/images/100850301/picture_pc_06f5c111435031b996898473d62a814e.gif)
これを組み合わせると
![](https://assets.st-note.com/img/1679410372462-26XAAJBp0Z.jpg?width=1200)
![](https://assets.st-note.com/production/uploads/images/100850434/picture_pc_9b5900eaf54a0ccb82b61b2e46ba29a7.gif)
こんな動きもできました。
問題点は肩ボーンの動きが回したい軌道とは違う動きをする事です。
それにより、モデルによってはポリゴンの破綻が目立ったり、動きが不自然に見えたりします。
そして、肩ボーンだけでは腕の向きはそう大きくは変えられません。
腕を大きく回す、となればもう少し工夫が必要です。
使えるものは何でも使う
小さく軌道を変えるならともかく、腕を大きく回そうとすると肩と腕だけでは中々に苦労します。
特に腕を大きく回すとなると一旦前に伸ばしてから上げる動作が必要になることがあります。
しかし始点~終点だけでモーションを再生すると
![](https://assets.st-note.com/production/uploads/images/103941170/picture_pc_bb8e1a3191e945e7692522a66511545b.gif)
腕を横に振る動きになってしまいます。
これを中間点で速度角度をキープしつつ前に持っていこうとなると
![](https://assets.st-note.com/production/uploads/images/103939848/picture_pc_573dbbb2183b6e8b654f77d6d90e82c5.gif)
……なかなか苦しいです。
![](https://assets.st-note.com/img/1682429680033-mq63M50tDv.jpg)
腕を前に出しつつ肩も前に出し……もう少し何かが欲しいところです。
というわけで上半身ボーンも使うことにしました。
![](https://assets.st-note.com/img/1682433561731-dpCaLLd1BX.jpg)
上半身を回転させて肩の動きを補います。
頭と右肩ボーンは上半身の逆方向に回して姿勢が大きく変わらないようにします。
![](https://assets.st-note.com/production/uploads/images/103946926/picture_pc_965794a205f3ebd4dba43a0f3e19775c.gif)
全身を動かしているのでその分でも不自然さが緩和されているようです。
では後ろに回してみます。
![](https://assets.st-note.com/img/1682439552573-RDqOs5t0js.jpg?width=1200)
![](https://assets.st-note.com/production/uploads/images/103951212/picture_pc_4f245c08d0c2fbddff10f35515d3f4a8.gif)
さらに大きく回してみました
![](https://assets.st-note.com/production/uploads/images/103951694/picture_pc_d014e3e6621ed32dafdb073932f7938f.gif)
![](https://assets.st-note.com/production/uploads/images/103951749/picture_pc_35cd341911a370d4a94c297a21cc6e01.gif)
両腕も回してみました。
上半身を前後に傾けています。
![](https://assets.st-note.com/production/uploads/images/103952042/picture_pc_f1db02cb8961ecc8a051a4435c0f13cf.gif)
![](https://assets.st-note.com/production/uploads/images/103952044/picture_pc_a3fccdcb3d0dc885f7546e8e5540d844.gif)
結構滑らかに回せているのではないでしょうか(※自画自賛)
「中間点で速度角度を変えない」というかそもそも中間点を作らない
「補間曲線で減速した部分を他のボーンの補間曲線の速度で補う」
今回はこれでモーションを作ってみました。
もちろんこの方法だけで全てのモーションが滑らかにできる、わけではないと思います。
標準ボーンで滑らかなモーションを作る、という茨の道を進むためには今までの中間点で角度を少しづつ変える方法も駆使しつつ、モーションの完成と滑らかさの追求を天秤にかけながら作業をするのが大事なのかな、と思います。
ちなみにこんな動画も作っております。
モデル
◆初音ミク V3 rev.1.9 マシシさん
ツール
◆GIMP2 https://www.gimp.org/
◆AVI to GIF v1.0 https://aidn.jp/
この記事が気に入ったらサポートをしてみませんか?