床すり抜けガード - 座ると髪もスカートもしっぽも椅子をすり抜ける、を止める【VRChat】【JA,EN,KO】
상품 설명
「座ると、髪もスカートも椅子をすり抜けて床まで垂れる」。
床すり抜けガードは、髪・スカート・しっぽが床や椅子をすり抜けるのを止めるUnity Editorツールです。Blenderは使いません。
◆ 体にコライダーを置いても直りません
これまでの貫通ガードは「自分の体との当たり」を見るものでした。床は自分の体ではないので、体側にいくらコライダーを置いても、座ったときに椅子を抜けるのは直りません。
VRChatが VRC Raycast を入れたことで、これが素直に解けるようになりました。
◆ 当たった面に板が貼りつきます
下へ光線を飛ばし、当たった面へ板のコライダーを貼りつけます。床でも、椅子の座面でも、ベッドでも同じです。ワールドごとに設定し直す必要はありません。
◆ FXも表情メニューも触りません
アニメーターもパラメータも作りません。VRC Raycast が Transform を直接動かす仕組みなので、買った人のFXレイヤーや表情メニューに一切触れません。
◆ 触れうる鎖にだけ登録します
腰より下へ垂れていて、下の面に触れうる鎖だけに登録します。全部の鎖に入れると当たり判定の数が増えて重くなるためです。
作っている途中、素の姿勢で床に着くかで判定したら、実物のアバター29体すべてでしっぽ1本しか拾えませんでした。実測すると、スカートの裾は身長の52〜54%、ベルトは51%、しっぽは20%の高さにあり、立っている限り床には着きません。
問題が起きるのは座ったとき・しゃがんだときで、そのとき光線は床ではなく椅子の座面に当たります。判定を「腰より下へ垂れているか」に変えたところ、1体あたり1本から21本に増えました。
◆ 元に戻せます
・「この道具が置いたものを外す」で、板も鎖の登録も完全に消えます
・Ctrl+Z でも戻せます
・2回続けて実行しても増えません
◆ 使い方
1. unitypackage を Import
2. Tools > tool > 床すり抜けガード を開く
3. アバターをシーンに置いて、そのアバターをドラッグ
4. 「調べる」を押す(この時点では何も書き換えません)
5. 結果を見て「板を置いて登録する」を押す
◆ 確かめたこと
3本合計でテスト57件すべて通過。このツール単体では17件。
実物のアバター29体で確認しました。直せた16体 / 失敗0体 / 対象外13体。床や椅子に触れうる鎖へ のべ316回 登録しました。2周目でも増えず、外すと残り0になります。
※ VRChat SDK3 (Avatars) 3.10.3 以降が必要です。同梱していません。
※ Humanoidに設定されているアバターが対象です。
※ 揺れもの(PhysBone)が入っていないアバターには何もできません。
※ 腰より下へ垂れていない揺れもの(耳・角・翼など)は対象外です。当たる場所が違います。
※ 光線はVRChatの中でしか飛びません。組み上がりと登録はUnityで確かめられますが、実際にどれだけ跳ね返るかはUnity上では測れません。測れないものは測りません。
内容物: unitypackage / README / CHANGELOG / TEST_REPORT / LICENSE / ツール画面のスクリーンショット
動作環境: Unity 2022.3.54f1 / VRChat SDK3 (Avatars) 3.10.3 以降
모든 리뷰
더보기리뷰 등록
리뷰를 작성하려면 로그인이 필요합니다.
로그인하고 리뷰 쓰기