物理演算ってMMDで挫折するポイントだと言われてるそうで、私もいまいちよくわかってないのですが(笑)、Blenderで作る場合はちょっと注意が必要なんですよね
MMD用にBlenderで物理演算をつける場合は、Blenderで元々設定できる方法ではやらずに、mmd_toolsというアドオンを追加して出てきた、MMDを設定できるところから物理演算をつけていきます
pmxでできる方は、そちらで設定した方が正確かと思われます!あくまでBlenderで設定する方向けです!
基本的には、標準モデル(MMDに同梱されているあにまさ式初音ミクさんのことです。macでもDLはできます!)をまず真似て作った後、慣れてきたら自分のモデルに合った仕様に変えていくのがいいのかなと思います。(標準モデルにある、髪の毛・ネクタイ・スカート・スカートの飾り部分のものは、モデルによってはいらないと思うので、そこは臨機応変に・・・)
その、BlenderでMMD用に物理演算を設定していく方法について、この前スクショしたものにメモを書き込んだので、よかったら参考程度にどうぞ!!
見る部分が多すぎて描き込みまくってるので見辛いかもです・・・すみません!
(大前提として、「mmd_tools」というアドオンを入れた状態で話を進めていきます)
※この解説で使っているBlenderのバージョンは2.92です。
まず始めに、MMDに限るかはわかんないんですが、物理演算(髪や服などを重力や体の動きに合わせてふわふわさせられるもの)を設定するには、「剛体」と「ジョイント」というものをつけて設定していきます。
「剛体」と「ジョイント」という名称は、pmxで設定する時ならそのままなんですが、Blenderで設定するときは、それぞれ「rigid」「joint」という名前で表示されているのではないかと思います。
(自分のが今は英語のままやっているので、日本語にできる場合はもしかしたら気にしなくていいのかもですがよくわかんないです)
ということで、まずは剛体から説明していきます4枚の画像で①〜⑧で説明していきます
1、
①まず、剛体というものは、ボーンにくっつけて設定していきます。ボーンと親子関係を作る感じです!なので、物理演算をつけたいところにはボーンを作っておく必要があります。
②そのあと、ArmatureのEdit Mode(編集モード)で物理演算をつけたいボーンを選択します。
③画像の中央下あたりを見ていただくとわかるのですが、MMDを設定できるところから、「Rigid Bodies」というところを開き、その項目内の右上に「+」があると思うので、そちらをクリックします。ここから剛体を追加していきます。
2、
④すると、画像のように新しく作る剛体の設定画面が出てきます。が、後で変えられるのと、むしろ考えながらつけていくので、この時はとりあえず名前ぐらいを入力しておけば大丈夫だと思います!
※Blenderでの文字入力は基本的には日本語には対応していないので、MMD用に入力する場合は、メモ帳などに日本語で書いたものをコピペしてくる必要があります!!めんどくさいですが!笑
3、
⑤剛体をいじるには、Edit Modeのままではできないので、Object Modeに戻しておきます。
⑥右の方のプロパティのところから、オレンジの四角みたいなマークをクリックし、さらにその中の「MMD Rigid Body」を開きます。
この時に、剛体のタイプを設定してしまっていいと思います。
剛体は、形と物理演算のタイプ(?)についてぞれぞれ3種類ずつ選べるものがあるんですが、軽く説明しておくと、
名前のすぐ下にあるものが物理演算のタイプで、左から「Bone(ボーン追従)」「Phisics(物理演算)」「Phisics+Bone(物理+ボーン位置合わせ)」です。
それぞれどう違うのかというと、
Bone(ボーン追従)・・・ふわふわ動くことはなく、他の剛体がぶつかった時に跳ね返すだけ。頭とか胴体とかの部分向けの、ふわふわ動く必要のないもの。
Phisics(物理演算)・・・髪の毛や服など、ふわふわ動いてほしい部分用。
Phisics+Bone(物理+ボーン位置合わせ)・・・あんまりよくわかってないんですが、2つ目の物理演算タイプにした時に、剛体を入れた部分が荒ぶる場合には、これにするとマシになるそうです。よく分からず髪などにはとりあえずこれを使っています笑
次に、形についてですが、これは剛体をつけたい部位の形で考えるものな気がするんですが、好みで決めて大丈夫なんじゃないでしょうか!左から、「Sphere(球)」「Box(箱)」「Capsule(カプセル)」です。
で、この2つの設定をしてしまっていいと思います。あとでうーんと思っても変えられますが!
画像内に書いてあるメモは、髪の毛のぴょこんってなってる部分のもの用なので、あんまり気にしないでください
⑦剛体の大きさを変えていくんですが、おそらく追加されたものは足元に出てきていると思うので、対応させたいボーンの位置まで持っていき、動いて欲しい部分の形よりちょっと大きいかなぐらいの大きさにします。
(他の剛体と重なったりぶつかる場合には、ちょっと離しておくか小さくした方がいいかもです)
4、
⑧(とは画像内には書いてませんが)剛体の重さ、反発力、摩擦力、ふわふわ具合、剛体のグループを設定していきます。またしても画像内の説明は髪のピョコって部分のもの用なので、そんなに気にしないでください!笑
私もいまいちよくわかってないので、それぞれ軽く説明していくと、
剛体の重さ(Mass)・・・これはそのまんまなんですが、実際の重さとはちょっと感覚が違うみたいです。当然ですが、重くすると動きは鈍くなり、軽くするとふわふわ動きます。MMDやnanoemなどと行き来しながら試行錯誤するのが一番だと思いますが、標準モデルを見てなんとなくで決めてもいいかと思います。ちょうどいい大きさをいまだに掴めてないです笑
反発力(Restitution)・・・多分文字のまんまなんですが、他の剛体が当たった時の吹っ飛び具合です。0でも問題があると吹っ飛ぶことは吹っ飛ぶので、0でいいのではないでしょうか!ゴム素材など跳ね返して欲しいものに剛体をつけるときに考えればいいと思います!
摩擦力(Friction)・・・これは剛体同士が擦れ合った時の滑り具合の大きさらしいです。あんまり大きくなくても良さそうですが、ツルっと動いて欲しい場合には大きく、そんなでもないときは小さくって感じなのかな・・・?私も微妙です・・・
ふわふわ具合(Damping)・・・本当は移動減衰と回転減衰という名称なんですが、いまいちピンと来ないのでふわふわ具合で・・・笑
大きいほどふわふわ動きます。髪の毛もスカートなども0.9以上でいいかと思います。これも実際にMMDやnanoemなどで動かして確認しながら設定するといいかと思います。
剛体のグループ・・・これもなかなか大事なんですが、剛体は実は全部が全部お互いに跳ね返してしまうようにしてしまうと、踊るどころじゃなくなります
なので、剛体をグループ分けして、この剛体はこのグループの剛体と触れ合った時には無視して貫通させるという設定をしていきます。標準モデルを参考にしたあと、MMDやnanoemなどで動かして確認し、自分のモデルに合わせて適宜設定していくのがいいかと思います。
どのグループに入れるかは、Collision Group(グループ)のところで決めて、そのあと、どの剛体のグループとは反発しないようにするかを、Collision Group Mask(非衝突グループ)で設定します。
もし、設定している間などに剛体が足元に戻ってしまったりする場合には、エクスポート時にもやる、この画像内の②のRigidのところのClearを押してみてください。おそらく、設定した位置に帰ってくる、もしくは位置を設定直した時に足元に戻らなくなります。
次に、ジョイントの設定です剛体だけで頭痛くなってきますが、実はジョイントの方が重要でさらに頭が痛くなります・・・
こちらは3枚の画像で説明していきます!
1、
そもそもジョイントとは、剛体と剛体を繋げる接合パーツのことです。ですが、こいつがどれぐらい動いていいのかを設定することで、剛体の動きも変わってくるので、結構大事です!!
で、そのジョイントの追加方法なんですが、剛体の追加方法と似たようなもので、ジョイントを間に作りたい2つの剛体を選択してから、MMDの設定をできるところの「Joints」のところの「+」を押して追加します。
この場合、親となる剛体(根っこというか軸というか)から選択します。
2、
ジョイントはとても小さく、本当に接合部分の点という感じです。
3、
剛体の時と似たように、プロパティのオレンジの四角のようなマークをクリックして、その中の「MMD Joint」を開きます。ここからジョイントの設定をしていきます。位置が微妙にずれているなーって時は、剛体と同じくジョイントそのものを選択して動かせます。
ジョイントは、X・Y・Zそれぞれの軸に対してどれだけ剛体を移動させることができるのか、どれだけ回転させることができるのかを設定します。ここで設置する動きは、先ほどジョイントを追加するときに選択した2つの剛体のうちの、子となる方の動きについてです。
上の6つの欄で、上からX・Y・Z軸に対してどれだけ動かしていいのか決めます。左がマイナスの値、右がプラスの値です。物理演算して欲しい場所にはあまりつけないものだと思います。ただビヨーンって伸びてしまうだけなので笑
下の6つの欄では、上からX・Y・Z軸に対してどれだけ回転していいのか決めます。左がマイナスの値、右がプラスの値です。これが一番めんどくさくて重要なんですが、ボーンのポーズモードで動かした時に、メッシュがきれいな形を保てるギリギリの角度を設定すればいいかと思います。でも、MMDやnanoemに持っていって微妙だなーと思った時には、ここの角度を設定し直すのもいいかと思います。
ただ、どうだったかちゃんと覚えてないのですが、MMDやnanoem上とBlender上では、Y軸とZ軸が逆なので、ここで設定したものが逆になって反映される可能性もあるので、動きがおかしいなーと感じたら、Y軸とZ軸の値を逆にして試してみるのも一度やってみた方がいいかもです。
一番下のSpringですが、これはバネの力、つまりハネ具合を設定できるものなのですが、ここは0でも十分動くので、いい子な剛体でいて欲しいなら0でいいと思います!笑
以上です!!!すんごい曖昧で申し訳ないんですが、普通はpmxでやるような作業のためあんまりmmd_toolsを使って設定している記事はないので、書いてみました!
ここで設定したものがMMDなどに持っていくとちょっとずれてる・・・ってこともあるそうですが、今のところ私は問題なく使えてるので大丈夫だと思います!!
この記事を書くのに参考にしたサイトも載せておきます。
画像表示されてるのかな・・・?なんか今日は調子が悪いみたいでうまくいって無さそうなので、あとでおかしかったら画像くっつけ直します!
追記)やっぱり画像貼られてなかった!!貼り直しました!!