![見出し画像](https://assets.st-note.com/production/uploads/images/112370054/rectangle_large_type_2_0e0cf5dd384884ae1e29d96f4fe7fef1.png?width=1200)
PhysBoneでスカートの貫通対策をする Ver2
前回の解説の貫通対策を更に強化して最適化した内容です。
最初に
この解説はVRChat SDKに含まれるPhys Boneを使用した解説です。
他の揺れものComponentではLimitの機能次第では再現できない可能性があるのでご注意ください。
やってること
Skirt用にボーンを配置する
↓
Rootボーンを作る
↓
両足に2つの合計4つのPBColliderを実装
↓
RootボーンにPBComponentを実装してCollider割当
Skirt1つに使用するPBComponentはたった1つだけ
![](https://assets.st-note.com/img/1690981089899-E1l1SejWcF.png?width=1200)
![](https://assets.st-note.com/img/1690981171766-igePfF9uYC.png?width=1200)
![](https://assets.st-note.com/img/1690981141775-bJA7YYXTsE.png?width=1200)
座りはもちろん、斜めの貫通も調整次第でしっかりとできる。
慣れれば実装も簡単。
条件について
![](https://assets.st-note.com/img/1690981514352-Dpjufr2auQ.png)
極端に足との感覚が狭いとColliderサイズが小さくなり貫通しやすくなる為
対応できないスカートの条件としては
・タイトは駄目
・膝下より長いロングは難しい
その他応用としては
・ぶかぶかの裾や袖にも応用できる
手順 Blender
![](https://assets.st-note.com/img/1690982036927-DaiKWbLOGN.png?width=1200)
ポリゴン数は画像ぐらい多い方が滑らかかつ貫通しにくい
![](https://assets.st-note.com/img/1690982135776-NFItkjg0DM.png?width=1200)
Component数は気にしないでいいので14本ベースで7分割とした
※白衣重ね着をさせるのでボーンが長いが気にしないでね
![](https://assets.st-note.com/img/1690982307357-IOD5XeU5wV.png?width=1200)
縦はボーンにそって、横はボーンの真ん中に切り込んでいく
![](https://assets.st-note.com/img/1690982418530-1FtLIZI6da.png?width=1200)
![](https://assets.st-note.com/img/1690982450131-X4OU7sFHDA.png?width=1200)
そして一番下まで塗っておくことでウェイト転送時に下だけ転送できない問題を回避する
![](https://assets.st-note.com/img/1690982513598-TicgezA8n7.png?width=1200)
再転送や他のアバターへ使用する際に余計なウェイトが転送させるから不要である
![](https://assets.st-note.com/img/1690982604840-s2lPTKZDxV.png)
ウェイトが気に入らない場合はウェイト転送用メッシュを塗り替えたり動かして再度これを繰り返す
![](https://assets.st-note.com/img/1690982737495-ID8uAzA7A8.png?width=1200)
![](https://assets.st-note.com/img/1690985204158-bS0oB3Uht1.png?width=1200)
この角度は大変重要なので画像の角度をそのまま再現するイメージで設定する
![](https://assets.st-note.com/img/1690985448013-EB2GkAOcjW.png?width=1200)
![](https://assets.st-note.com/img/1690985332424-jdy6myBc0B.png?width=1200)
これで3Dカーソルを基準にロールを再計算してくれる
Componentを1つにする代わりにロール設定は基本的にBlenderで行う
スカートの上がる角度が気に入らない場合は上記のボーンロール設定を調整する
手順 Unity
今回はアバターにスカートを着せている前提となるが、着せ替え衣装などにももちろん同じことができる。
![](https://assets.st-note.com/img/1690983515229-pKwVQANQs9.png)
ここにそれそれPBCollider Componentを追加する
Armatureへ直接割り当てても動作するが、ボーンをいじってFBXを上書きした際に消し飛んだり再設定が面倒なので分離しておくことを推奨
![](https://assets.st-note.com/img/1690983750577-3HfbkgewtJ.png?width=1200)
![](https://assets.st-note.com/img/1690983782247-L9iWhsC4Jm.png)
この時、前の方が足の可動域的に重要なので前に合わせる
また、後ろにはみ出す分ははみ出していた方が貫通対策になるのでむしろこのままでok
![](https://assets.st-note.com/img/1690983924485-AGY6opQsyL.png)
上に長過ぎると足を曲げた際にお尻部分をColliderが貫通する
![](https://assets.st-note.com/img/1690984104500-WmrwvGBkI1.png)
これは足を斜め内側へ上げた際の貫通を軽減する
![](https://assets.st-note.com/img/1690984037999-ssRWBWbPIs.png)
その中にPBComponentを追加
![](https://assets.st-note.com/img/1690984205112-rq8viGHsRk.png?width=1200)
Collisionはプレイモードに入ってスカートが暴れない程度へ
必要があればカーブで根本を小さくする
Collidersへ先程作った4つのColliderを割り当てる
![](https://assets.st-note.com/img/1690985073276-iNabszC24B.png?width=1200)
解説は以上
以下宣伝
うちのBoothです。
買うなり何なりしてくれると嬉しいです。
この記事が気に入ったらサポートをしてみませんか?