【MMD】1本のボーンに複数の剛体を取り付ける【物理演算】
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

【MMD】1本のボーンに複数の剛体を取り付ける【物理演算】

2016-08-28 16:25
  • 3
古いPCのHDDの整理をしていたら書きかけの原稿が出てきました。例によってわかりにくい内容ですが、せっかくなので自分の防備録を兼ねてまとめてみました。
今回の内容はPMDやPMXの仕様できっちりと決められていない部分だと思います。MikuMikuDanceのバージョンが変わると動作が変わるかもしれません。

・・・

MMDの剛体タイプにはボーンに追従して動く「ボーン追従」と物理演算で動く「物理演算(「物理+ボーン位置合わせ」を含む)」の2種類があります。(以下、「物理演算(「物理+ボーン位置合わせ」を含む)」剛体のことを「物理演算」剛体と省略します)
また、「ボーン追従」剛体は他の剛体から影響を受けない、「物理演算」剛体は他の剛体から影響を受けるという特徴があります。




■1本のボーンに複数の剛体を取り付けてみる
・「ボーン追従」剛体
「ボーン追従」剛体は、1本のボーンに複数個取り付けてもボーンに追従してきちんと動作します。







・「物理演算」剛体
「物理演算」剛体は、1本のボーンに複数取り付けるとおかしな動作をします。





(ウェイトを設定した材質がない?と「物理演算」剛体なのに緑色の「ボーン追従」剛体として表示されるが動作は「物理演算」剛体?)

(複数個設定すると剛体リストの一番下のものだけ正常に機能する?)

・「ボーン追従」と「物理演算」剛体の2種類
1本のボーンに「ボーン追従」と「物理演算」剛体の2種類の剛体を同時に取り付けると違った動作をします。






(動画はPMXモデルです)

PMDモデルとPMXモデルでは物理演算の挙動が違うので分けて調べてみました。

●PMDモデルとPMXモデル共通の仕様
・1本のボーンに「ボーン追従」剛体は複数個設定できる
・1本のボーンに「物理演算」剛体は1つしか設定できない
(複数個設定すると剛体リストの一番下のものだけ正常に機能する?)

●PMDモデルのみ
・1本のボーンに「ボーン追従」剛体と「物理演算」剛体はどちらか一方のみ設定できる
(両方設定すると「ボーン追従」剛体は機能しなくなる?)

●PMXモデルのみ
・1本のボーンに「ボーン追従」剛体と「物理演算」剛体は同時に両方とも設定できる
(両方設定すると「物理演算」剛体の動きが優先され、「ボーン追従」剛体は「物理演算」剛体に追従して動く。この場合の「ボーン追従」剛体の衝突判定は衝突する相手が「物理演算」剛体の場合のみ有効で、「ボーン追従」剛体同士の衝突判定は無効になる)

※上記の記述はMikuMikuDance Ver.926での結果です。MikuMikuMoving Ver.1.2.7.2ではPMDモデルもPMXモデルと同様な動作になります(たぶん)。


上記の実験を踏まえた上で、1本のボーンに複数の剛体を取り付けてモデルで使用する方法考えてみました。

■PMXモデルの1本のボーンに「ボーン追従」剛体と「物理演算」剛体を設定してみた

PMDモデルでは、1本のボーンに「物理演算」剛体を複数個設定したい場合、関連ボーンなしの「物理演算」剛体を作ってそれをJointでくっつけないといけません。
PMXモデルでは「ボーン追従」剛体と「物理演算」剛体の両方を1本のボーンに設定すると、「ボーン追従」剛体が「物理演算」剛体と一緒に動くので、「ボーン追従」剛体を「物理演算」剛体の代用(衝突判定用)として使えることになります(ただし「ボーン追従」剛体同士の衝突判定は無効になるので使いどころが難しい)。
「ボーン追従」剛体は質量を考慮しなくていいのと、1本のボーンに複数個設定できるのがメリットです。

リボン犬さんが配布しているセイバーモデル(物理演算は私が担当しました)のスカート剛体と草摺剛体、垂れ剛体の衝突判定に上記剛体を使ってみました。


(リボン犬さんのセイバーモデルは動画のリンクよりDLできます)

スカートボーン(ST_*_*)に「物理演算」剛体(ST_*_*)と「ボーン追従」剛体(左右ST_*_*)を設定し、草摺の「物理演算」剛体(左右S_*_*)と垂れの「物理演算」剛体(FS_*_*)との衝突判定をONにしてあります。



スカートボーンにくっついている緑色の「ボーン追従」剛体が物理演算で動きます。
セイバーモデルはロングスカートの上に草摺と前垂れがかぶさっており、激しい動きをするとこれらがスカートに突き刺さってしまいます。上記のような複雑な剛体構成にしてなんとかまともに動くようになりました。
スカートの上にエプロンがかぶさるようなモデルの剛体構造にも使えると思います。

・・・

上の実験のほとんどは「ボーカロイドにゃっぽん」の自分の日記(2012年09月22日)からの引用です。昔はいろいろと頑張っていたんだな~

注:
 内容に誤り等あると思うのでコメント等で指摘していただければありがたいです。
 MikuMikuDance用の物理演算の実験です。MikuMikuMovingは物理演算エンジンのバージョンや実装方法が違うので挙動が異なります。
 上記内容は私が一人で考えたものではなく、他の人が作ったモデル、MMD関連の動画や静画、Webサイト、ニコ生放送で教えていただいたものが多数含まれています。先人の方々の知恵に感謝いたします。


広告
×
マイリス数が凄い!
でも、私にはサッパリでまともなコメントできなくてすみませんm(__)m。

そういや、昨夜、どぅにあさんが生放送やってたような気がするんですが、帰宅してニコレポ見ても履歴が無い。 幻だったのか!?Σ(゚д゚lll)
49ヶ月前
×
>>1
> マイリス数が凄い!
Twitterで有名MMDerさんがリツイートしてくれたおかげです。
内容的にはあまり使い所がないのですが・・・

> どぅにあさんが生放送
やってましたよ。これからもときどきやるようなこと言ってました。
コミュでタイムシフト視聴できます。
49ヶ月前
×
>>2
あーそうか、ヌルチンになってからコミュ登録するの忘れてたんで履歴に出なかったんだ...orz。 他にも忘れてるのが多そう。
49ヶ月前
コメントを書く
コメントをするには、
ログインして下さい。