-
[MMD]下半身キャンセルのメリットをグラフで説明するブロマガ
はい。
MMD-MTPに20秒ほどの短いモーションを上げましたが、このモーションはモデルにボーン改造「下半身キャンセル+足IK親連動」をして作成しています。
(ボーン改造についてはこちら)さてこの時のモーションを使って、標準ボーンへの流し込み用に、下半身キャンセル3段と足IK親連動を統合した足ボーンモーションを作成しました。これはつまり、「もし下半身キャンセルがなかったら」こうなる、というモーションになっています。
→モーション統合の方法はブロマガで上げています下半身キャンセルのメリットを視覚的に表現するため、統合前(下半身キャンセルあり)と統合後(下半身キャンセルなし)のモーションをグラフ化して比較しました。
グラフの説明
横軸は時間、縦軸は「1フレームあたりの角度変化量」です。動きが止まっている間は0で、激しく動けば数値が大きくなります。
グラフの作成法
①モーションを、全フレームにキーが打たれた状態で出力
(MikuMikuMovingで「レイヤー統合」にチェックを入れてvmd保存)
②モーションファイルを表形式に変換(CSV converter使用)
③各フレームの前フレームとの差を計算してプロット下半身キャンセルありの方は動きの無い時間が長く、省力化できています。このモーションに限って言えば、足ボーンは足IK親連動にして自分で操作していないので労力0です。足ボーンのキーがないので、グラフ作成には連動元の足IK親のデータを使用しました。
もっとモーションを作り込む場合は、足IK親連動をカットしてから足IK親のキーを足ボーンにコピーし、それから足ボーンの調整を行います。
・・・
さて動画中、ぐるっと1回転するところはグラフがはみ出ていたので、拡大して見てみます。
このように下半身ボーンが回転し続ける動きは標準ボーンなら難関ですが、下半身キャンセル構造が最も得意とするところです。
下半身キャンセルあり:シンプル。
下半身キャンセルなし:ほとんど0にならず、ずっと動き続けています。
→下半身ボーンの動きをグラフに追加(赤点線)してみます。
下半身ボーンの回転分、足ボーンを逆方向に回す必要があるので、0からずれています。
縦軸が+5あたりの平らな線も、よく見るといくらか傾斜している:速度が変化しているので、線形補完からわずかにずらしてやる必要があります。
またキーフレームの位置も、下半身キャンセルありなら足IK親と同じでしたが、なしの場合は下半身ボーンとも足IK(親)とも違うタイミングで打つ必要が出てきます。
これは実際にはとても難しいので、足元がうまく安定せずキーを乱れ打ちして固める、ということになりがちです。
・・・
キーフレームと補間曲線について、もう少し極端な例を挙げてみましょう。
足IK親の回転(or足IKのY軸)がこれだとします。
注意:ここから以下のグラフでは横軸は時間,縦軸は「角度」です。「1フレームあたりの角度変化量」ではありません。
キーフレームが8フレームと25フレームにあって間はS字補間です。角度のプロットは補間曲線と同じ形状になるので、補間曲線の説明に適しています。
下半身キャンセルしてあれば、足ボーンの回転は足IK親のコピーでOKです。シンプル!
[足ボーン]=[足IK親]
では標準構造だとどうなるか?下半身ボーンの回転を書き加えます(赤丸)。
両端がキーフレームで、足IK親とタイミングがずれているのがポイント。
下半身ボーンの子として足ボーンが回ってしまうので、これを打ち消すため足ボーンの回転は下半身ボーン分を差し引いた数値にする必要があります。
[足ボーン]=[足IK親]-[下半身ボーン]
足ボーン(紫)は、足IK親(青)から下半身(赤)を差し引いた数値になります。
紫の点線が足ボーンのキーフレーム位置ですが、「下半身ボーンとも足IK親とも違うタイミング」になっているのが分かります。現実的に、この通りにカンでキーフレームを打つのはほとんど不可能だと言えます。(整数フレームとは限らないし)
・・・
以上、私が普段つらつら考えているアレコレを思うさま放出しました。・・・こういうのを考えてる時が一番楽しい。需要は知らない。
以上です~
-
【MMD】多段ボーンモーションを準標準ボーン用に統合する方法
はじめに
多段ボーンで作成したモーションを、標準/準標準ボーンのモデルに流し込めるようにする方法を解説します。想定読者はPMX Editorを使用して、ボーンの名称変更や多段化はできる人です。統合後は全フレームにキーが打たれた状態になって、ファイルは大きくなり読み込みに少々時間がかかります。
何か間違いだとか、他の良い方法があればぜひ教えてください。目次
①「VMD Motion Integrator」の使い方、使用上の注意
②MikuMikuMovingによる統合の方法
③連動・キャンセルボーンを統合する方法
④おまけ:単段のモーションを多段に分解する方法
VMD Motion IntegratorとMikuMikuMoving配布サイト①「VMD Motion Integrator」の使い方、使用上の注意
このツールは捩りボーン及び多段ボーンを標準/準標準ボーンに統合する機能を持ちます。(捩りの統合は最近のモデルならあんまり必要ないと思います。)
このように「親」などの判断文字を拾って候補が表示されるので、そこから統合したいボーンを選択します。捩りのチェックを外して「全てのフレームを~」にチェックを入れてください。そしてメニューから統合を選択すればOKです。キーが多いので少々時間がかかります。
さてこのツールですが2011年に作成された古い物のため、最新のMMDで出力されたモーションファイルでは、補間曲線をうまく処理できないようです。MMD ver9.00~9.06において行われた「モーションファイルの入出力バグ修正」の影響っぽい。対策は「MMD ver8.14以前でモーションを出力する」ことです。
また多段ボーンの最終フレームがずれていると少しおかしくなるようです。最終フレームが90と100のキーがあると91でおかしくなる感じです。対策としては全ての多段ボーンの最終フレームにキーを追加しましょう。MMDの旧バージョンが手に入らなくても、MMM(MikuMikuMoving)を使用する手があります。
②MikuMikuMovingによる統合の方法
MMMにはモデル改造なしで段数を増やす「モーションレイヤー」機能があり、レイヤーを統合してモーションを出力することもできます。多段ボーンのモーションを統合するにはまず各ボーンのキーをひとつのボーンのモーションレイヤーに移植する必要があります。
モーションレイヤーはMMMの画面でボーン名を右クリックして簡単に追加できます。多段ボーンの段数分レイヤーを追加したら、ボーンの親子関係と「逆順に」レイヤーに貼り付け(メニューの編集→他ボーンに貼り付け)します。
次に元の多段ボーンのキーを削除し、動作確認してください。問題なければモーションを保存します。レイヤー統合にチェックを忘れずに。レイヤー分けしていないボーンも全フレ打ち状態で出力されるので、統合したいボーンだけ選択して後で合成するような工夫が必要です。なお上記の手順は自作のJEWELモーションで確認していますが、私はMMMには詳しくないので他のモーションに適用できない可能性もあります。そのような個別のケースには対応できませんのでご了承ください。
③連動・キャンセルボーンを統合する方法
連動とキャンセルはモデルのボーン構造であってキーフレームに反映されないので、モーション統合はできません。しかしモーションを配布・流用するためにはこれらも統合してしまいたい所です。方法はいたって単純。連動・キャンセルの回転付与元になっているボーンのキーを、付与先の多段ボーンにコピーします。そしてキャンセルならキーフレーム編集で-1倍し、それらをモーション保存して統合してしまいます。
「ボーンフレーム位置角度補正」機能
具体例を上げましょう。私がオススメしている「下半身キャンセル」構造では、足ボーンを多段化した親ボーンに下半身ボーンの回転付与-1倍を設定しています。この場合は足親ボーンに下半身ボーンのキーをコピーして-1倍すればキャンセルと同じ動作をします。またよく使われる肩キャンセルボーンなら、肩P(操作用ボーン)のキーを腕の親ボーンにコピーして-1倍です。
これで(連動・キャンセルではない)多段ボーンのキーフレームになったので、統合すれば完成です。
そんなわけで、多段ボーンと下半身キャンセルを統合した、「JEWEL」準標準ボーン版モーションを配布開始しました。元の多段ボーン版も同梱しているので、上記の各種操作を試したい時にもどうぞ。
→bowlroll配布ページ④おまけ:単段のモーションを多段に分解する方法
需要があるか分かりませんが、MMDの角度の話をするついでに、単段ボーンのモーションを多段ボーンに分解する方法を紹介します。
MMDの画面下に表示される角度は3つの数値で表される「オイラー角」です。MMDではYXZ型を採用しており、これは角度0の状態からローカル軸Y,X,Zの順番でその数値通りに回すと、そのボーンの角度になることを意味しています。
実際にMMDで試してみてください。例えばXYZの値が1,2,3なら、YXZの順で2,1,3ずつ回せばXYZが1,2,3になりますが、XYZの順に1,2,3ずつ回すと、別の結果になってしまいます。
これを多段化して単段ボーンのモーションと同じ結果を得るには、多段ボーンの親側から順にYXZの回転を割り振ればOKです。用意した親ボーンに元のボーンのキーをコピーしてから、不要な回転だけ0倍にします。
これで少なくともキーフレーム上では完全に一致します。補間部分はわずかにずれることがありますが、動いていれば気づかないでしょう。もっともこれだけでは前と同じ動きに過ぎません。使い方次第ですね。
画像:上半身ボーンを3段に分解。奥が元のモーション、手前がYXZ順、中央はZXY順。
以上でございますー
-
JEWELモーション配布告知・ボーン改造説明
配布:https://bowlroll.net/file/59778 (配布開始は12/28)
さて遅ればせながら一応の配布告知、兼必要なボーン改造の説明です。
配布ファイルに入っている説明と同じですが、DL前に見た方がいいかもなので。
ツールの導入、操作についてはこちらを↓。
http://ch.nicovideo.jp/Rick_514/blomaga/ar285448―ーーーーーーーーーーーーーーーーーーー
簡易改造ガイド
①ツールの用意
PMXエディタ
プラグイン「準標準ボーン追加プラグイン」
プラグイン「BoneDoublerX」
(http://www.paperguitar.com/mmd-related-items/plugins/135-bonedoublerx.html)改造元のモデルの準標準ボーン有無を確認。
②準標準ボーンの追加
上半身2、左/右腕捩、左/右手捩、左/右足IK親、右ダミー(マイク用。任意)、親指0(任意)③多段化
下記の各ボーンに一括して3段追加。
命名規則は(たぶんデフォルトで)○○親1,○○親2,○○親3
センター
頭
上半身
上半身2
下半身
左/右肩
左/右腕
左/右足④下半身キャンセルの設定
各足ボーンに、下半身3段分のキャンセルを設定する。
具体的にはボーンタブで下半身親1,2,3ボーンの番号を覚えて、足親1,2,3
ボーンを選択して付与:回転、付与率-1、付与親欄に下半身ボーン番号。
左右合計6箇所にこの操作を行う。
なお足親1,2,3ボーンは操作しないので表示枠からはずして良い。
足Dがあるモデルの場合、足Dの親ボーンを足親3にする(左右)。
つまりボーンタブで足Dを選択して親ボーン欄に足親3の番号を入力です
もう少し一般化して言いますと、もともと「親ボーンが下半身」になってるボーンを、下半身キャンセルの一番最後:ここでは足親3の子ボーンに接続し直すわけです。
さらに足IK親連動等の特殊構造を仕込んだ場合は、それらの子ボーンにします。
うまくいかない場合、闇鍋プラグイン(https://bowlroll.net/file/9765)で、足D/足先EX/腰ボーンの削除あたりをやってみましょう。―ーーーーーーーーーーーーーーーーーーー
流し込み時の修正方法についても配布ファイルの方でつらつら語ってるので見てね。
以下の問題については解決しました。たぶん。足/ひざ/足首Dは足IK計算後に加算する形でボーンを変形させるものですが、これによって足先が動いていました。
---
・問題点
配布前にレア様、アンジェラ、咲音メイコ、Ranaちゃんあたりでやって問題なかったのですが、モデルによっては説明どおりにやってもうまくいかないようです。
不可解なものでは、下半身キャンセルを設定すると「下半身の回転に足IKが追従する」現象が起こります。
これとか、別のモデルでもここ直したらいけるとか、何か分かる人いたら教えて (:3 _ )=(ISAO式ミクV3)
以上です
広告
1 / 3