※個人の感想です

3DCG勉強中

VRChatフルトラ関連

※検証中の情報が含まれます。アプデで変わることもあるので注意!(記事の最終更新2022/01/20)

 

■人体比率関連 素体作るときに考えてること

・身長の中央に足の付け根(股下)

・手を下した時足の付け根と同じ高さに手首がくる

・手を下した時肘と腰の高さが同じくらい

 

■フルトラ適性を上げる作業手順(検証中)

 

アバターの足メッシュは地面に設置させて作る

・ボーンやメッシュのピボットは常に原点に置く

blenderで調整するたびにスケールや位置の適用を忘れずにやる

・VRChat内のUser Real Heightはアバターの足が地面にぴったり接地する数値に設定する

設定したらURHの数値は基本変えない

・unityのview pointは目の高さ

 

1、キャリブレーションして膝が曲がったり腰が曲がってないか確認

曲がってたら↓の■よくあるトラブルをみて直す

 

2、踵を触ってみてアバターの足首の位置に手が来てしまう場合、アバターの縦が長いことになるので縮める

大体足を短くすることになる

(T字スタンス時)右手首~左手首の長さ=目~足首の長さだと良いらしい(検証中)

「fbt caliper」というワールドで比率を確認できる

 

f:id:mojamegane:20220120214855p:plain

 

3、2で全身の縦横比が決まったら肘、膝等の長さを調整していく

膝を90度に曲げて座り、アバターの膝も90度になっているかで確認する等

肘は触れればいいかなぐらい

 

現状

踵も肘も膝も触れるが手を下した時少しだけ肘が曲がる。

手首を曲げると伸びきるから許容範囲なのかもしれないがまだわからない。検証中

 

■よくあるトラブル

Q.フルトラすると腰が横に曲がる

A.

 

Q.普通にキャリブレーションすると膝が曲がる

A.多分spineボーンが短い(テールが低い)

VRChatSDKに入ってるボーンはspineとchest同じくらいの長さになってる

VRC内で腰を曲げてみてしっくりくる位置を探そう!

spine~foot間の長さが腰トラ~足トラの間隔になってる

ダイナミックボーン(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