剛体乱舞☆ Joint解説編 ほとんど独り言みたいな解説なのでうるさかったらミュートしてください。
宗三さんのマーメイドスカートの構造の解説だけど、正直、なんであんなにアップダウンに強いのか自分でも解明できてないです。
てことで、見やすいように袈裟とか防具を完全にキャストオフしたよ!!
前回までのおさらい 基礎剛体を入れ、いよいよ物理関連の剛体を入れ始めました。
剛体には球、カプセル、箱、の3種類の形があり、スカートのような広い面の当たり判定を任せる剛体には箱が適しているので、スカートの面に添わせる形で、箱を配置します。
スカートの形どおりに剛体をおきました。
で、これでスカートが綺麗に動くのかというと、そうじゃないんです…。
このままで動かすと、剛体は地面に落下してしまいます。
実際にこの状態でMMDに持ってきた図。
剛体表示だとわかりやすいですね。 スカート剛体が全部足元に落下してます。
モーションはLamb.です!! いつもお世話になってます!!
剛体は計算上の物理法則に従って動くので、そのままだと落下して当然です。
なので、どこかにつないでおく必要があります。
そのつなぎ目の役割をするのがJoint(ジョイント)です。
この黄色いの!!
ジョイントを作ると、こんな画面で、いろいろ指定することができます。
なんかいっぱい数字入れるところがありますが、 まずは 接続剛体A 接続剛体B を指定します。
(ウィンドウの中央寄りの右上のところ)
接続剛体Aは、ジョイントから見て基点になる剛体。
ジョイントはこれに対して接続剛体Bがどう動いていいか、を制限する役割があります。
それでは、剛体が落っこちないようにジョイントを配置します。
ボーンの可動位置にまず配置して、剛体と同様に向きを合わせ、さっきの画面の接続剛体を指定していきます。
今回はマーメイドスカート状で、脚の途中からスカートボーンが生えてる感じなので、右(左)足→スカート一段目→スカート二段目→… という風につないでいきます。
普通のスカートは下半身剛体とつなぎます。
宗三さんは、なぜかひざ上からスカートが広がる謎の鉄壁巻きスカートなので、この構成にしました。
意外とガード固い!!
つなぎました。
全部つないだら、ゆれる!!ふわっとする!! とおもいきや、そうでもないです。
このままだと、足からたくさんの短冊が垂れている状態です。
なので、各々の短冊が好き勝手に動いてしまいます…。
綺麗じゃない…。
なので、この短冊に垂れ下がってる剛体を横につないでいくジョイントを配置します。
正面からと、
上から。
横つなぎジョイントの配置、て、どこにどう置けばいいの? て思うでしょうが、大体はボーン(剛体)の中間の位置、高さ、角度になるようにしてます。
それが一番わかりやすいのでそうしてます。
で、配置したら、剛体を横につないでいきます。
さっきは縦につないでいきましたが、今度は横に、です 時計周りがいいの?反時計回りがいいの? て話なんですが、決まりはないです。 どっちがいいとかもないです。
私は反時計回りが好きです。
なので、スカート一列目一段目→スカート二列目一段目→スカート三列目一段目→… という風につないでいきます。
で、つなぐじゃないですか。 ひらっひらになるぞー!! て思うじゃないですか。
なにこれ、なんか傘が釣り下がってるだけみたいな状態なんだけど!?
ていうのもですね、さっき(https://twitter.com/Fen109/status/617310633982234630 …)言ったとおり、ジョイントって、どれだけ動いていいか、を決める役割があるんですけど、初期値では 結構固めの状態になってます。
なので、柔らかく動くように、ジョイントを設定していきます。
で、ジョイントを設定する、て、なにをすればいいの? て話なんですが、親剛体から見て、子剛体がどれだけ回ったり動いたりしていいか、を決めます。
図の 制限/パラメータ てところの値をいじっていきます。
まずは、回転からいじっていきます。
さっき、ジョイントって、黄色い四角いのだ、ていいましたよね。
選択すると、紫色になって、なにやら線が生えてきました。
この線が、回転の軸になります。
MMDを遊んで久しいならお分かりでしょうが、xyzの3方向の回転軸があります。
色も、相当してますね。
それぞれの回転軸を回すとどの方向に動くのか、のイメージは、わかっていただけるものと思います。
じゃあ設定していきます。
初期値はどの軸も±10°です。
±10°だけ回転していいよ、という意味なんですが、これでは硬すぎるので、±30°ぐらいにします。
私の場合、最初の設定で全部±30°にします。
縦つなぎも横つなぎも、全部です。
60°だと、全部の方向からの力をうまく受け止められる、とても安定した角度らしいです。
でも、多段関節の回転角度としては、少し大きすぎます。
90°(直角)の半分の45°でも、まだ少し大きいです。
だから、ジョイント設定は60°の半分の30°を標準値にしてます。
私の場合、です。
ところでPMXエディタではジョイントを複数選択して一括で数値編集できるのが便利ですね。
この機能が便利すぎて、pmxへの移行を決意しました。
さぁ!! 設定したので、mmdで踊ってもらいました!!
さっきより、ちょっと柔らかくなった!!
でもひらひら具合が足りないです。
そこで、今度は制限/パラメーターの移動を編集します。
初期値では全部0 つまり、お前らそこから動くな!!という状態です。
自分の着てる服を引っ張るとわかるのですが、布て、縦、横、場合によっては前後に歪みますよね。
縦のつながりでは、特にこの歪みを気にする必要はないのですが、 横のつながりでは、重要になってきます。
屈んだとき、ひざ側は布が伸びるけど、裏側は縮むみたいな
そんな動きに対応するために、横つなぎジョイントで移動の値を設定します。
ではまず、横つなぎジョイントを全部選択して、縦ずれをさせましょう。 とりあえず様子見でY移動±1とします。 1の移動てどれくらいの距離なの?て思いますが、私もよくわからないです。
たぶん、剛体設定の大きさと同じ距離だと思います。
縦ずれ許した状態で、踊ってもらいました。
裾のラインが連動した螺旋を描いて、さっきより少し柔らかい感じがしますね!!
それでも、さっきから傘みたいな状態が収まらないですね!!
それも当然で。
広がった状態のスカートが縮まるように、剛体がお互いに食い込むのを許してあげないといけません。
つまりなにをすればいいのかというと、X移動を設定してあげればいいんです。
ということで、また横ジョイントの設定です。 とりあえず、-2といれます。
以前にも言ったんですが、剛体の設定がしやすいように、物理を仕込む箇所は 最大限広がった状態 でモデリングしてます。 なので、 これ以上広がる方向ではなく、 縮まる方向にだけ、 移動を許す必要があります。
縮まる方向ってどっち!? て話なんですが、二次方程式で±の方向てありましたよね。 あのままです。 私の場合、反時計回りに横つなぎをしたので、-方向のx移動のみ許せば、縮まることになります。 時計回りにつないだ場合は、+方向の移動のみ許しましょう。
ということでこの状態で踊ってもらいました。
裾が縮まりました!!
縦ずれしてひらひらもする!!
すごい、布に見える!!
こんな感じで、数値をいじっていきます。 段ごとに縦ずれの大きさ変えたいとか、 縦のつながりでも横ずれを許したいとか、 いろいろのこだわりとか欲求を実現するために、このあと微調整という数値いじりをします。
理屈がわかれば、どう動くかの予想がつきやすいので、とても楽しい作業です。
宗三さんは、巻きプリーツスカート、という、裾が大きく広がることが許されてる設定の服装なので、物理設定を組むのが本当に楽しかったです。
本当、 剛体数が多くて面倒だけど、 広がりやすいから設定は難しくはない、 物理設定しやすい服装だと思いました。
見た目よりずっととっつきやすいし、意外と動けるし、そのあたり、とても宗三さんらしい服だな、と思いながら作ってました。
こんな感じで、キャラの特性とか考えながら、物理設定すると、楽しいと思います。
細かい数値設定については好みの問題なので多くは語りませんが、こんな感じで、物理設定してます。
理屈がわかれば楽しいので、怖がらずに剛体、ジョイントと接してくださいね!! 以上、お付き合いくださりありがとうございました!!
※コメント投稿者のブログIDはブログ作成者のみに通知されます