※個人の感想です

3DCG勉強中

ダイナミックボーン(DB)を使った貫通に強い揺れるスカートの作り方

 

読まなくても問題ないところはグレーになってます

要点だけ知りたい人は黒字だけ読んでね

 

 

 仕上がりはこんな感じ

貫通もなくめくれてもちゃんと元に戻るのでよし

 

前提

VRChatユーザー向けです。

(他で動作確認はしてないってだけ)

あとまだ自分自身がunityいじりたてなので最適解ではないことも書いてあると思われます

「こんなやり方もあるんだな~」程度に読んでね

 

やり方

①骨の作り方

今回のやり方は下準備が大事です。

今回使用してるモデルは16本(縦)×3段階(横)の計48本使っています

f:id:mojamegane:20191116032539p:plain

このくらいの段階割っておけば回った時とかきれいにピラピラします

数はお好みで良いです、が、ボーンの隣同士の間隔は揃えた方が後で楽です

骨の数が多いほど後のコライダー調整が楽で動きがきれいになります

ここらへんは手間や描画負荷と相談してください
  

ボーンを作りウェイトを塗れたら次です

 

f:id:mojamegane:20191116034136p:plain

 

スカートを上から見た様子

ボーンの座標軸を表示させてください

上の図では全部のボーンのz矢印がきれいに内側を向いてます

 

 

f:id:mojamegane:20191116034050p:plain

 

「いや軸バラバラだが?」という人は編集モードでスカートのボーンを全選択してボーンロールの再計算を行ってください

「ローカル+Xタンジェント」ってやつがいいと思われます

再計算をするときれいに軸が揃います(揃わなかったらごめん)

 

この状態でポーズモードに切り替え、スカートのボーン全選択してマニピュレーターを回転、座標系をローカル、にしてX軸を回転させると・・・

f:id:mojamegane:20191116035108p:plain

こんな感じにブワッと広がります

ウェイトミスとかもここでわかるので便利

(最初根本のボーンが上に動くけど仕様?なのでAlt+Gで直してください。これ防げないのかな)

 

②スカートのパラメータ設定

スカートのボーン全部にDBコンポーネントを入れます

f:id:mojamegane:20191116041517p:plain

パラメータはこんな感じです

 

↓の方のツイートを参考にしました

 

Gravityは大きくすると重力が効きすぎて貫通の原因になるのでこれくらいのふんわり重力がいいと思います

 

そしてfreeze axisをxにします←重要

これでボーンがx軸でしか回転しなくなります

このために軸を揃えておく必要があったのです

 

DBはfreeze axizで軸を固定しないと縦横無尽に動き回ります

軸を固定していないボーンは足のコライダーに引っかかっても滑り落ちるのでどうしても貫通が発生します

DBスカートの貫通対策は「いかにボーンの間をコライダーがくぐらないようにするか」にかかっています

 

 ↑の方は軸固定は使ってないようです

今回の自分の方法だと軸を固定している為ロングスカートなどに見られる回ったときに裾のほうが少し遅れてついてくる、という表現が出来ないです

なので「横にもヒラッてなるスカートが作りたい!」って方は↑の方のツイートを参考にしたほうが良いのかもしれません

 

これでボーンが横方向に滑り落ちなくなったので今度はボーンの間と間を塞いで無敵になります

f:id:mojamegane:20191116053625p:plain

上から見た図です

スカートが目一杯広がった時にボーンのradiusが重なり合うくらいの大きさになるまで微調整します(上の図はあんまり綺麗じゃないけど)

スカートの根本から裾にかけてラディウスが大きくなるようにradius distribを右上がりのグラフにして数値を調整します

ボーンが多いとこのラディウスが小さくてすみ、コライダーに当たったときの動きが滑らかです

 

これでスカート側の設定は終わりです

 

③コライダーの設定

コライダーは全部で4つです

コライダーはボーンに直付けではなく空のオブジェクトにDBコライダーコンポーネントを入れて足ボーンの子に入れるなどしてください

直付けより調整が楽です

 

f:id:mojamegane:20191116050452p:plain

 

 足のコライダーです

高さは適当で、大きさは横から見た時スカートのボーンのラディウスとギリ触れ合わないくらいに調整

若干後ろ側に寄せておくと座ったときに正面からパンツが見えづらくなります

 

f:id:mojamegane:20191116050450p:plain

 

横面で調整したら今度は正面から見た時スカートのボーンと触れ合わないように調整します

この時足コライダーの大きさ(ラディウス)は変えないでください

大きさを変えるのではなく内側に並行移動して調整してください

 

この時左右足のコライダー同士が半分くらい重なっているとスカートの真ん中のボーンが足の間をすり抜けなくなるので良いです

 

f:id:mojamegane:20191116054647p:plain

あと2つのコライダーはhipに入れました(上から2つ、一番したのは足コライダー)

足のコライダーだけだと高さ的にスカートがめくれた時ボーンがコライダーの上に乗ってしまいます

それを防ぐために足より大きなコライダーを足より上に配置して、スカートが捲れてもボーンが腰のコライダーに当たって下に滑り落ちてもとに戻るようにします

f:id:mojamegane:20191116055446p:plain

正面

なぜ2つあるのか、コライダーの間に隙間があるとボーンが挟まるからです

いや絶対入れないでしょってとこにも積極的に挟まろうとするのでコライダーで壁を作ってやります

慈悲を与えないでください

 

おわり

お疲れさまでした。つかれた

コリジョン付き動画

 

いつかロングスカートとか長いコートとかも作りたい

 

今回使用したモデルです

2019年内には発売するので宜しくおねがいします

ande.booth.pm