物理演算を入れたモデルがぶるぶる震える事象の対処法(VRoid製VRM→PMX)

「PmxTailor」で物理演算を設定した際に、髪が服を貫通する問題や、髪やスカートがプルプル震える問題が起きることがあります。

この記事は、これらの問題に対処する方法の備忘録的なものです。

物理演算の影響の確認

こちらの記事の手順通りに、PmxTailorでの設定まで行った後の状況を想定しています。

まずは物理演算を設定したモデルを、PMXEditorに読み込み、影響を確認してみましょう。
Tのボタンをクリックすることで、PMXEditor上で再生して確認できるウィンドウが表示されます。

物理演算の影響が少ない箇所を除外する

PmxTailorでの設定を行う際、短い後ろ髪など、物理演算を設定してもほとんど変化がわからない箇所は、あらかじめ物理演算の対象から除外しておきます。

PmxTailorを起動し、「PmxTailor」で「パラ調整」→「VRoid2Pmx設定インポート」を選択する際に、該当のパーツのチェックを外します。

除外する髪の確認方法

髪のパーツ名(髪L=ロング、髪S=ショート)だけではどの髪か判別できない場合は、いったん全部選択して「OK」をクリックしましょう。

パラ調整の画面で下のほうへスクロールすると、それぞれのパーツ名に対して割り当てられている、「物理材質」を確認することができます。

「PMXEditor」のPmx編集メインウィンドウで材質タブを開き、Hairの各項目を水色の四角をクリックしてテクスチャを確認します。

これでチェックを外したいパーツに割り当てられているテクスチャを特定しましょう。

似たテクスチャが多く、色等で判別できない場合は、テクスチャを差し替えてみるとどこのテクスチャか特定できます。

除外したい髪が特定できたらPmxTailorを開き直し、再度モデルを読み込みます。

設定のインポート時にその髪のチェックを外して物理演算を設定すれば、設定不要な髪の設定を除外したモデルが出力できます。

プルプル震える原因

「PMXEditor」で「剛」の字をクリックして剛体を表示すると、プルプルの原因を確認できます。

今回確認できた原因は3種類あります。

原因1:腕の剛体と髪の剛体の干渉

1つ目は、腕の剛体が大きくて髪の剛体と干渉してしまっているケースです。

メイン画面の剛体タブを開きます。

確認画面上で剛体をクリックすると、その剛体がメイン画面でも選択されます。

腕と肩の剛体の「半径」の値を小さくして、髪の剛体と干渉しないようにします。

細すぎると髪がめり込む原因になるため、バランスを見ながら調整してください。

髪のほうも太いと感じる場合は、同様に細くすることができます。

これで多少マシにすることができました。

原因2:体の剛体が髪を支えられていない

2つ目は、体の剛体が髪を支えられる位置になく、髪が落ちてきてめり込んでしまっているケースです。

上半身2の剛体の大きさや位置を変えて、髪がめり込まないように支えましょう。

「半径」で太さ、「高さ」で長さ、「XYZ」で位置を調整できます。

腕と上半身の剛体は非衝突グループに括られているため、互いに干渉しません。

髪が来づらい位置であれば違和感も少ないですし、横に髪が流れすぎるのを防止するため、横方向にやや大きめに伸ばすのをお勧めします。

体の剛体を大きくしすぎると、今度は髪が浮いているのが気になるかもしれません。
位置の調整は頑張ってください。

ジョイントの回転制限を緩める

上記の調整後もまだプルプルしている場合は、髪の回転角度が制限されている位置に別の剛体があり、制限範囲内に戻ろうとして震えている可能性があります。

流れてしまってもよい髪や布であれば、回転角度の制限を緩めてあげましょう。

「J」をクリックしてジョイントを表示し、ジョイントタブの該当ジョイントの回転制限を緩めます。

Shiftキーを押しながらクリックすると複数選択ができ、一括で変更することもできます。

剛体の位置を調整する

角度を変えたくない場合や流してはいけない部分の場合は、干渉している剛体のほうを退けましょう。

剛体タブを表示して干渉している剛体をクリックし、細くしたり位置を下げたりして調整します。

今回は、髪の剛体の位置を頭の剛体から遠ざけることで調整しました。

変えなくてもそれほど問題は起きなさそうでしたが、髪の付け根のジョイントやボーンも一緒に移動させると見栄えがよいです。

位置の数値を、剛体を移動させた分と同じだけ調整して移動させることになり、手間がかかるのでやらなくてもよさそうです。

原因3:剛体が重くジョイントと引っ張り合っている

3つ目は、剛体が重いためジョイントと引っ張り合いをしているケースです。

今回のスカートは剛体が見るからに大きく、剛体の大きさと質量が原因になっているように思えます。

大きく重い剛体が重力で下に引っ張られ、ジョイントが上に引き戻そうとすることでプルプルが発生します。

試しに動かないようばねの移動も制限をかけたり、角度制限を緩めて戻って来ようとしすぎないようにしたりしても改善しませんでした。

絶妙なバランスで制限をかけても、MikuMikuDanceでモーションを読み込ませた途端に震えだしてしまいます。

今回は、剛体の大きさか質量(密度)のどちらかを小さくして軽くするアプローチをしてみました。

軽くした分、動きやすくなってしまうため、減衰(移動減衰と回転減衰)の値を大きくして動きを抑えます。

質感は多少変わるものの、プルプルを止めるためにはこの調整が有効なことがあります。

物理演算だけでは解決しない場合の対策

「PMXEditor」上で落ち着いたように見えても、実際に「MikuMikuDance」に持っていくと再発することが多々あります。

その場合の対策は2つあります。

対策1:剛体タイプを「物理+ボーン位置合わせ」にする

1つ目は、剛体の剛体タイプを「物理+ボーン位置合わせ」に変更する方法です。

ぶつかられた際に角度は動きますが、位置は動かないため、ジョイントとの引っ張り合いが発生せず、プルプルしなくなります。

完全物理演算とは動きが異なりますが、正直見比べなければわからないと思っています。

物理演算なし(ボーン追従)よりは明らかに動きがあるため、手軽な方法としておすすめです。

対策2:ピクピク除去マクロを使う

2つ目は、「PMXEditor」上やMMDに読み込んだ時点でのプルプルは諦め、作品を制作する際にその都度ピクピク除去マクロを適用する方法です。

適用は簡単で、「マクロを立ち上げる」「マクロ名をダブルクリック」→「フレーム数を入れる」→「OK」の手順だけで自然な物理演算を保ちながらピクピクを除去できます。

こちらは制作者による解説・配布動画が公開されていますので、気になった方はぜひ見に行ってみてください。

ピクピク除去マクロ バージョンアップのお知らせ
ピクピク除去マクロ バージョンアップのお知らせ ピクピク除去マクロがバージョンアップ。さらに便利になりました!一応、前バージョンの使いかたを...

物理演算のプルプル問題の対処法は以上です。

◆3Dモデル協力等

幸珈さん

Twitter https://twitter.com/sachika_jp

YouTube https://www.youtube.com/@sachika_jp

ご質問と講座にすることへのご快諾、ありがとうございました!

タイトルとURLをコピーしました