物理 きらい 覚書(vrm→pmxスカートに物理入れる話)
はじめに
VRoid Studioから出力したvrmにどうにかしてスカート物理を入れたかったので頑張った記録。
未来に同じことをするかもしれないので作業を忘れないように記録する。
モデルのスカート部分は「ロングコート」で作られている場合を想定。
vrm→pmx
定番のやり方
①VRoid Studioからエクスポート
髪のメッシュは結合、透明メッシュは削除。
②Vroid2Pmxでpmx化
③PmxEditorで最適化プラグインを使って最適化。
いらないボーン(装飾系)を削除。対応する材質がないのでいらない。
④これで一応MMDで最低限動く状態になる。
物理との闘い
髪の物理
とりあえず髪の物理は適当に入れる。
PmxTailorで髪のjsonファイルをインポートして適用して終わり。
髪の物理セットは髪の量にもよるが時間がかかるので、髪の物理だけ設定したpmxを用意してそのpmxからスカートの物理に着手するといいんじゃないかな。
スカートの物理
動画1番右が髪の物理だけ入れてスカートに触っていない状態。
物理の調整は貫通知らずくんを使用。
①PmxEditor 1回目
PmxEditorで物理を入れたい部分の頂点をCSVに出力。
②PmxTailor
PmxTailorに移動。
貫通知らずくんのエクセルに書いてある通りにやる。(CSV出力対応版)
同梱されている「PmxTailor用jsonファイル」に入っている「ロングコート用.json」を使う。
※PmxTailorは文字コード「UTF-8」しか読み込めない。jsonファイルの読み込みにエラーが出たら「UTF-8」に変換して再トライ。
「パラ調整」タブの「物理対象頂点CSV」に事前に出力しておいたスカート頂点のCSVを入れる。
これで一旦pmxを出力。
③PmxEditor 2回目
作られたスカート部分の剛体とジョイント縦(↓)横(→)を選択してCSVに出力する。
④貫通知らずくん
PmxEditorから出力されるCSVは「UTF-8」。エクセルでそのまま開くと文字化けするのでメモ帳などで文字コードを「ANSI」にする。
csv出力対応版に書いてある通りにやる。
並べ替えフィルターの話は「*-001」で検索すれば末尾-001のみを一発で出せる。
上の動画右から3番目は剛体根本の質量「10」、末端が「20」
右から4番目が根本「0.1」、末端「0.01」
PmxEditorから出力した剛体、縦ジョイント、横ジョイントの3つのCSVを、貫通知らずくんが提示する情報に適宜編集する。
編集が終わったらPmxEditorで読み込むために「UTF-8」に戻しておく。
⑤PmxEditor 3回目
貫通知らずくんを使って書き換えたCSVを3つ全てPmxEditorで読み込む。
エラーが出てないか、文字化けしたものができていないかをチェック。
ここから剛体の調整をしていく。
下半身、足関連の剛体の摩擦力を50くらいにする。
貫通知らずくんにはスカート剛体の奥行は0.1と書いてあるが、貫通するので0.25とかに変えている。
スカート剛体の移動減衰、回転減衰は1に近いほどふあふあになるっぽいけどよくわかりませんでした。いかがでしたか?
動画右から3番目は「0.9」、
動画右から4番目は「0.99999」にしてある。
しゃがんだりかがんだりするモーションだと、上半身や腕がスカート剛体にぶつかって足が貫通する。
なので上半身や腕はスカートの非接触グループにする。
(下半身剛体はスカートに当たってほしいので別のグループにした)
貫通防止のために足の剛体の半径をデカくして前にズラした。
足を上げたときに貫通しにくくなるはず……。
貫通により強くなってほしいおまじないとして、裏ジョイント追加プラグインでスカートのジョイント全てに裏ジョイントを追加している。
(貫通知らずくんは裏ジョイントや斜めジョイントは非推奨と言ってる)
二重スカート
PmxEditor
上のほうのスカート一枚の時同様、外側のスカートと内側のスカートそれぞれにPmxTailorと貫通知らずくんを使って剛体とジョイントをセット。
剛体の設定をしていく。
足関連、下半身の剛体もスカート一枚の時と同じように調整。
スカートは外側と内側のスカートがそれぞれ接触するようにしているとこうなる。
しかし、お互い干渉しない設定にすると内側のスカートが外側のスカートを貫通してしまう。
というわけで、強引なやり方で解決していく。
スカートの調整において、最も避けたいことは足がスカートを貫通すること。
その解決を重視する。
①外側のスカートと内側のスカートはお互いに干渉しない。
②内側のスカートの剛体は薄めに、外側のスカートの剛体は厚くして、外側のスカートの剛体が内側のスカートの剛体を内包するくらいにする。
③スカートは両方足の剛体と干渉する。
こうしておくと、まず足が外側のスカートの剛体に当たり、外側のスカートが動く。
その後内側のスカートに足が当たって内側のスカートが動く。
なので結果的に足が貫通せず、内側のスカートが外側のスカートの外にチラチラすることもない。はず。そうだといいね。
おわりに
物理という存在に憎しみを覚える。
お疲れさまでした。