2025年2月14日金曜日

MMDエンジンの代替え構造のお話

 継続回転として有名なのがMMDエンジンですね


先のお話でもしましたが、MMDエンジン自身はメッチャ迷惑なバグです

複数の種類があるのですが、回帰的付与や親子関係が設定されると処理残りの角回転し続けるというのが大まかな理屈です

このバグのおかげで回帰的設定を含む(結果含んでしまう)構造を作ろうとするとメチャクチャリスキーな事になったり謎呪文を唱えたり、最悪あきらめたりすることになります

ですから、私個人としては好ましく思っておりません・・・がgagg、後で説明する仕掛けとの比較も必要でしょうし、軽く触れておきます


一番シンプルな1ボーン型

自身に付与します

付与親が赤字になっているのは”設定がおかしいよ”という警告です

MMDエンジンは故意にそういう感じの設定をします

付与率は適当でOKです

適当に回ります


自身で付与+IK

回転軸をIKで固定してるので少しは扱いやすいのかな?

IKのループ数とかは適当でOKです


やっぱり適当に回ります

元々がIKの設定ミスで起こる暴走を体系化したものなので他にもいくつかあの種類がありますが、使用目的を考えればこの辺を知っておけば困ることは無いと思います

利点としては”適当な操作で適当に回転し続ける”事ですね


■回転速度はPC環境に左右されるので安定しません

■動画出力中にも処理負荷次第で回転速度が変わりえます

■出力FPSの設定で回転速度の結果が変わります

「安定した角回転するものでは無いよ」なのです


回しっぱなしで出力するのなら、回転開始時の角度もランダムになりますからフレーム毎の絵は出力ファイルで違う事になります

編集で繋ぐ時とかに制限が出来るんじゃないかな?

操作時と動画出力時の回転速度が違ってしまいますから、プレビューでは無く出力結果を見て速度調整する必要があります

突っ込んでいるモデルやエフェクトの処理も負荷に関わってきますからシーンによっても変動しえます

結局のところそれなりに調整が面倒なんですよね

私みたいにボーンを弄って遊んでる人には邪魔ものでしかないし


「適当に回る」以外に良いところあるのかな?

というのが正直なところです

お手軽なのは解るのですが、前にもお話ししたデメリットが大きすぎます


では、MMDエンジンよりもシンプルな構造で、安定していて使い勝手が良い構造があるのか?というお話になるのですが

ちゃーんと存在するのです


ここからが本題

MMDエンジンは使わない継続回転の仕掛け

MMDで物を回転させるのには60度毎回転させるキーをバカバカ打ち込む必要がある

と思い込んでる人が多いのでMMDエンジンが重宝されるのだと思います

シンプルで使い勝手の良い継続回転の構造は昔からあるのです

配布しているサンプルなのですが、ザックリこんな感じ
説明用PDFも誤字ありますけど添付してます

回転角を指定されるボーンがコレ




その回転角を付与で受けて増幅する(この場合は179倍)

回転親が180度回ると89.5回転します

回転軸をお手軽に変えたいならセンターを双方の親に設定すると便利

このボーンに外部親でモデルをくっつけると継続回転出来るわけですね



とてもシンプル

組み込み簡単

エラーを含まない安定した構成


素晴らしい


開始フレームに初期角度(楽曲頭、デフォルトなら省略可)にキーを一個

回転終わり(楽曲終わりまで回すなら最終フレーム)にキーを一個

途中で回転の変化をつけるなら補完曲線をイジイジ


最小1キー打つだけで良いわけです

このサンプル動画だとステージの最終フレームに一個ポチっとキーを入れています



こんな感じですね

今回は倍率50倍だったので

楽曲の終わりに180度回すキーがモーフのキーを一個入れれば、(180度×50倍)で25回転します

キーは回転終わりのフレームに1個だけです



2分ちょいの楽曲なら毎分4~5回転する計算になります(結構高速に回りますよ)

もっと早くしたいならモーフ化していれば2とか3とかを直接入力しても良いですし、付与の倍率を上げてもいいですね

1楽曲数分間継続回転させるには十分だと思いませんか?

ボーン操作なら補完曲線も使えますし、倍率にもよりますがかなりな高速回転も出来ます(こんな感じ)

これは、donburiroomさんが紹介されているオートグループボーン揺らぎボーン等の継続回転部分になります

この部分の仕掛けは単純で当たり前すぎてわざわざ紹介されなかったのもあるのでしょうね

2011 年発売の「P さんのための MikuMikuDance モーション作成教室」にも欄外扱いでしたが軽く紹介されていました

結構古くからあるものなんですよ


MMDエンジンに慣れすぎてしまって回転開始フレームでボーンを回せば勝手に回転すると思い込んでいませんか?

その操作で回転するのは本来イレギュラーなんですよ?

ボーンを弄ってるのに回転しない、設定をミスってるか、キーを滅多打ちしないと回転しないやつだと勘違いしてませんか?

開始フレームと終了フレームにキーを打って補完曲線弄ってね?って経典でも説明されてますよね

終了フレームで大本のボーンに回転終了角度のキーを打ってあげる

プレビューや動画出力時には、それを数倍~数百倍した角度でボーンが回る

それに乗っかっているモデルやアクセやドームが回る

そういう事です


結構この構造私の配布してるステージとかに採用してるんで触って確認してみてください


ボーンの回転角を指定するのですから、VMDデータとセッティング済のボーンセットと同梱して配布何てことも可能です

これはMMDエンジンではとても難しいんじゃないでしょうか?

実際に見てもらうために動画を作ってVMDデータを含め配布しています

MMDテトリス 誰か文字付けテッテッテテトリス

カメラボーンをグルグル回してあげてモデルさんが回っているように見せています

確認してもらえばキーがめっちゃ少ないのが解ると思います

一応汎用性も考えてIKでの注視モードと手動モードをカメラの接続先を変える事で切り替えられます

背景接続位置にステージ等を外部親接続すると、接続されたカメラからは停止して見えるようになります

継続1は100倍、継続2は10倍、回転補助1~3と全てつながっているので、凄く細かい制御が可能になっています

動画中のちょっとした演出に使うと面白いんじゃないかなぁ?

という所



いくつかサンプルを紹介させていただきましたが、楽曲終わりにキーを1個打つのを大きな手間とは言わないでしょう?

開始、終了時の回転角を指定する訳ですから、フレーム毎の絵面はプレビュー時でも出力結果もで同一になります

ステージを切り替えても倍率と回転角さえ記録しておけば同じ条件で回転する

止める角度も決定出来る

構造もシンプルで組み込みやすく安心して使えます

適当に回るだけの不安定なMMDエンジンと比べると絵作りにもメリットがとても多いのです


結論として

MMDエンジンは無くなってもどうにでもなるのです

この仕掛けがもっともっと広まってMMDエンジン不必要勢が増えてくれるといいなぁ?と思うおっさんなのでした


0 件のコメント:

コメントを投稿