はじめに
今回はVRChatのアバターの突き抜け対処法を5つ紹介します。
本来の突き抜け対策
本来の突き抜け対策は『見えない部分のポリゴンを消す』です。
ゲーム系では容量削減につながりこの手法が良く使われています。
が、VRChatのモデルは着せ替えなどを行うので内側のポリゴンを消せません。
そこで普通とは異なったアプローチでの突き抜け対策が必要になります。
突き抜け対処法
突き抜け対策は下記の5つです。
・内と外のポリゴン構造を合わせる
・内と外の厚みの差を増やす
・三角ポリゴン化
・シェイプキーで形消す
・透過テクスチャで消す
この5つについて解説します。
内と外のポリゴン構造を合わせる
メリット:自作アバターの場合、最も使いやすい修正方法。
デメリット:既存のモデルに対して行うのは難しい。
内側のポリゴンを消せない場合、外側と内側のポリゴン構造が違うと突き抜けます。
![](https://signyamo.blog/wp-content/uploads/2022/06/image-01-13.jpg)
これはポリゴン構造でメッシュの曲がれる範囲が変わる為です。
![](https://signyamo.blog/wp-content/uploads/2022/06/Animation1-10.gif)
なので内と外のポリゴン構造を合わせる必要があります。
![](https://signyamo.blog/wp-content/uploads/2022/06/image-02-10.jpg)
ポリゴン構造を合わせるとポリゴンの可動範囲が同じになります。
結果突き抜けなくなります。
![](https://signyamo.blog/wp-content/uploads/2022/06/Animation2-6.gif)
これで内と外のポリゴン構造を合わせる突き抜け対策が完了です。
内と外の厚みの差を増やす
メリット:最も効果的な突き抜け対策方法
デメリット:厚みを増やし多分ポリゴンが膨らみ形が変わる
服のモデルは素体を膨らませて作ってます。
このふくらみの量が少ないと突き抜けます。
![](https://signyamo.blog/wp-content/uploads/2022/06/image-08-9.jpg)
なので外のふくらみを増やすか、内のモデルを痩せさせます。
![](https://signyamo.blog/wp-content/uploads/2022/06/Animation3-1.gif)
すると突き抜けが治ります。
![](https://signyamo.blog/wp-content/uploads/2022/06/image-04-11.jpg)
Blenderの場合、Alt+Sの収縮/膨張でふくらみを増やせます。
![](https://signyamo.blog/wp-content/uploads/2022/06/Animation6.gif)
これで内と外の厚みの差を増やした対策が完了です。
三角ポリゴン化
メリット:形に対しての影響が少ない
デメリット:3角ポリゴンにするとループカットが入らない、効果が薄い。
3DCGの4角ポリゴンは自動で3角ポリゴンに面が解釈されています。
これはメッシュを変形した際に変わります。
(詳細はこちらで解説)
![](https://signyamo.blog/wp-content/uploads/2021/10/4poly-gif.gif)
これはキャラクターモデルでも起こります。
![](https://signyamo.blog/wp-content/uploads/2022/06/Animation4.gif)
内と外の面解釈が変わるタイミングが違うと突き抜けます。
![](https://signyamo.blog/wp-content/uploads/2022/06/Animation10.gif)
面解釈問題が起こる所の内と外の4角ポリゴンを3角ポリゴン化します。
すると面解釈が固定化されます。
![](https://signyamo.blog/wp-content/uploads/2022/06/Animation9.gif)
これで4角ポリゴンの面解釈による突き抜け対策が完了です。
シェイプキーで形消す
メリット:最も効果的な設定方法
デメリット:シェイプキーが増える。衣装の脱着にシェイプキー動作がアニメーション必要。制作過程がホラーコンテンツ。手間が増える。
シェイプキーを使うと疑似的に内側のポリゴンの消すことができます。
最も既存の3DCGアプローチ+衣装差分などに対応した方法です。
![](https://signyamo.blog/wp-content/uploads/2022/06/image-05-11.jpg)
少しホラーですがこのようなシェイプキーを作ります。
関節に対してシェイプキーを作ると効果的です。
![](https://signyamo.blog/wp-content/uploads/2022/06/image-06-11.jpg)
内側の形をシェイプキーで消すと突き抜けが消えます。
![](https://signyamo.blog/wp-content/uploads/2022/06/Animation7.gif)
これでシェイプキーで形消す突き抜け対策が完了です。
透過テクスチャで消す
メリット:完璧な突き抜け対策ができる。
デメリット:衣装の脱着などが基本できない。(マテリアルの違う2つのメッシュが必要)。透過テクスチャ素材が増えて容量が増える。
シェーダーでは透過テクスチャが使えるものがあります。
これを使うと部分的に透過できます。
![](https://signyamo.blog/wp-content/uploads/2022/06/image-07-10.jpg)
これを使うと内側ポリゴンを完全に非表示にできます。
上手く使うと突き抜け対策ができます。
![](https://signyamo.blog/wp-content/uploads/2022/06/Animation8.gif)
これでマテリアルの透過で消す突き抜け対策が完了です。
※突き抜け対策としては服の中側に設定するのが正解です。
が、ブログサービスの利用規約の都合で服の外で透過する様子を紹介してます。
まとめ
今回はVRChat向けの5つの突き抜け対策について紹介しました。
他にも、VRChat向けのおすすめ突き抜け確認法を解説中。
ぜひ、こちらもご覧ください。
コメント