スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スプライン補間とベジェ補間

さて、広告が出ちゃっているので、駄文的な何かを。
メモ的な何かです。

MikuMikuMoving 1.1.9.0ではスプライン補間機能が実装されました。
(まだ若干問題は残っていますので、次バージョンに期待しつつ)
限定テスト版ではB-スプラインを採用していましたが、リリース版ではCutmull-Rom補間を採用しているようです。
使用方法などの説明は、また別の機会とします。
Moggさんご本人が詳細な記事を書いてくださったようなので、紹介。

モーションの曲線補間について - もぶろぐ
http://ch.nicovideo.jp/mogg/blomaga/ar126118


■ 基本は自動連続補間機能のようなもの
 と、考えるとすんなりいくかもしれません。
 MMMでは前バージョンから連続補間編集が出来るようになっていますが、あくまでも表示と編集のみで、設定はユーザーが行わなければなりません。
 このスプライン補間は、チェックを入れたキーフレームの補間を自動的に丸めてくれるような感じです。
 従来の補間との併用も可能ですが、ちょいと混乱招きやすいかもしれません。

 効果が分かりやすいのは移動系ボーン。特に足IKやセンターは見た目で分かりやすいです。

 足IKで適当に動かせば、緩やかな曲線を描くように動いてくれます。
 センターで、適当に同一方向に回るようなキーフレームを2~3点打てば、スムーズに回転するようになったりします。
 ダミーボーンで何かしらアクセサリを割り当てておき、ボーンを適当に動かせば曲線軌道を描きながらフリーダムに動かせます。
 加速度的な調整は、キーフレーム間隔を動かせばある程度調整が可能です。

 複雑に絡み合うような動きも作れるでしょうが、一気にやる場合はパスメーカーv2を使用した方が早いと思いますが、簡単なものであればMMM上だけで作れるようになっています。

 また、同時に搭載された軌跡表示機能と組み合わせれば、リアルタイムに軌道を確認しながら調整もできます。

 移動系だけでなく回転ボーンにも活用できます。
 腕周りを滑らかにしようとすると、肩・腕・肘・手首など複数ボーンを管理しなければなりませんが、4本のボーンをポチっとスプラインオンにするだけで、結構滑らかに動いちゃったりします。
 キレのある動きを作る時には向かないかもしれませんが、お嬢様のような緩やかな動きするのであれば、従来の補間ではなく、スプラインでやった方が楽になりそうです。


■ この機能のポイント

 とにかく、モーション全体に割り当てると、恐らく予想外の動きとなります。
 想定としては、一定範囲内のモーションをスプライン化で丸めてしまおう、という感じです。
 全部をスプライン化すると、ピタっと止める事が出来なくなります。
「止め」用のキーフレームを打ち、そこでスプラインのチェックを外すと良いでしょう。

 前述しましたが、180度以上の連続回転でもかなり楽になります。
 適当に打つだけで綺麗に回転してくれます。途中のカク付きもありません。
 狙いの回転数で、狙いの加速で…という時には威力を発揮するでしょう。
 軌跡表示と組み合わせれば、加速具合も視覚的に把握できます。


■ ブレと反動の表現

 スプラインの連続性を利用して、動きのブレや反動的な動きを楽に作る事ができるでしょう。
 従来の補間では、どうしても一度止めてしまうか、もしくはある程度のカクつきを覚悟して補間を付けたり、またどれくらい反動させればいいのかさっぱり分からないというケースもあるでしょう。
 これもまた、特に意識せず、少しズラしただけのキーフレームを適当に打ち、次のモーションを作るだけで、綺麗な曲線を描いて移行してくれるでしょう。
 この辺りはもう少し研究を重ねつつ、どういったやり方が楽かを知っていきたいと思ってます。


 とにかく、MMMでは従来にあったモーション作成時のストレスの元が殆ど無くなりつつあり、また逆に綺麗なモーションが誰でも作れるようになってきているので、本質的な「モーションデザイン」の部分が問われてきそうで恐怖でもあります。

 もちろん、モーションは綺麗に動けばいいだけでなく、リミテッドアニメ的な動きや、本来の骨構造では不可能な動き、物理法則を無視した動きなどもありますので、ぬるぬる動けばよいというものではありません。
 それでもメリハリをつけるにあたって、動く所・止まる所の設計が楽になり、かつ併用が可能であれば、あとはユーザー次第となります。

 頭の中できちんと想像できるか。
 初心忘るべからず、といいましょうか、原点に戻る時期にもなっているようですね。
 丁度、MMDも5周年という節目を迎えますし。
スポンサーサイト

【MMMプラグイン】エクスプレッションプラグイン

昨年12月にやっていた自分の生放送で
「キーフレームにエクスプレッション制御できたら面白いだろね」
とボソっといったところ、プラグインになったようです。……というか、つい最近ご本人からリリースしている旨の連絡がありました。
気づかなくてすみません……。
(これ、恐らく発言から数日くらいで出来てる感じでしょうか)

エクスプレッションプラグイン - mes - Bowlroll
http://bowlroll.net/up/dl11433


そんな訳で、NiVE/NiVE2の作者でもあるmesさんがプラグイン化してくれました。

エクスプレッションとは……
AfterEffectsやNiVE、AVIUtlの一部などでも使われている、キーフレームの数値をプログラムで制御する為の機構です。
オブジェクトを円周運動させたりするのに、いちいち手打ちでキーフレームを打つと面倒であり、また自分で座標を計算するのは難儀です。
これをプログラムというかスクリプトで制御してしまおう、というのがエクスプレッションです。
ですので、扱うには少々プログラムの知識が必要になります。
大抵はJavaScriptベースになっていますので、比較的扱い易いと思います。

SS_00538b.jpg

このプラグインは常駐型となります。
実際のスクリプトは、タイムラインウィンドウにある「プラグイン」タブで行います。
下のウィンドウタブで「プラグイン」を選び、上のタブ切り替えで「fx」マークを選びます。

SS_00539.jpg

ここで、生放送中で教えて頂いたスクリプトをウィンドウの中のテキストエリアに書き込みます。

SS_00540.jpg

次にターゲットとなるモデル、ボーンを設定します。
1:モデルを読み込む(事前に読み込んでてもOK)
2:モデルを選択状態にする
3:リボンメニューからプラグインを選び、エクスプレッションアイコンを選ぶ

SS_00541.jpg

ここまでやると、プラグインウィンドウの方の下部にある「選択中のオブジェクト」にオブジェクトIDが表示されます。
これをスクリプトの1行目にある

models["オブジェクトID"].bones["ボーン名"];

の部分の「オブジェクトID」を、表示されているIDに差し替えます。
更に、「ボーン名」にはターゲットとなるボーン名を指定します。
ここでは「全ての親」などを入れてみます。
書き換えが終わったら、下の「適用」ボタンを押せば、スクリプトが目標のモデルとボーンに適用されます。

SS_00544.jpg

キーフレームがまったく無い状態では再生してもすぐに止まってしまうので、適当なフレームにキーを打って再生できるようにします。

あとは、再生すればエクスプレッションで組んだ動きを見る事ができるでしょう。
エクスプレッションは再生中にしか効果がでません。

SS_00543.jpg

動いたら成功です。
動かなかったりMMM側がエラーを出した場合は、スクリプトに問題があるかもしれませんので、もう一度見てみましょう。

スクリプトはテキストファイルにしておけば使いまわしが出来ますし、MMMプロジェクトを保存しておくと、このエクスプレッションスクリプトも保存されています。

このパッケージにはサンプルスクリプトとクラスリファレンスの説明ファイルが同梱されているので、参照してください。

また、現在はモデルやアクセの制御だけですが、将来的にはカメラや照明にも対応するかもしれないとの事です。
楽しみにしつつ、数学のおべんきょうをしないとですね。

テーマ : MikuMikuDance(MMD)
ジャンル : サブカル

プロフィール

かんな

Author:かんな
ニコニコ動画などでMMD動画をうpしてるしがないユーザーの一人。
ブロマガ版みくだん
連絡先:mikudan3939葱gmail.com
(葱を半角@に脳内変換してください)
【FaceBook】上記アドレスか、ID「kanna3939」で検索を

カレンダー
01 | 2017/02 | 03
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 - - - -
Ask.fm
MMD関連の質問や生放送で読んでほしいお便りとか、ネタとか色々受け付けているかもしれません。
Twitter
MMD関連物
カテゴリー
最近の記事
ブログ内検索
リンク
RSSフィード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。