【VRChat】そのCollider、効いてません。髪の貫通が本当に止まったかを実測する「どこささる」
- ダウンロード商品¥ 800





🔍 置いたColliderが効いたかどうか、実測で出します 「Colliderを置いたのに、まだ髪が背中に刺さる」 「どこに足せばいいのか分からない」 「そもそも今の設定、効いているの?」 そんなときのための、貫通の"答え合わせ"をするツールです。 ━━━━━━━━━━━━━━━━━━━━━━━━ ■ 置くツールではありません。置いたあとを測るツールです ━━━━━━━━━━━━━━━━━━━━━━━━ Colliderを自動で置いてくれるツールは、すでにあります。 ですが、置いた結果が効いたかどうかを確かめる手段がありません。 Sceneビューで髪を手で引っぱって、目で見て確かめる── それが今の唯一の方法です。 このツールは、そこを数字にします。 ━━━━━━━━━━━━━━━━━━━━━━━━ ■ 実際のアバターを測った結果です ━━━━━━━━━━━━━━━━━━━━━━━━ Colliderが22個設定された、ロングヘアにコートのアバターを測りました。 (商品画像に写っているのと同じアバター・同じ測定です) ▼ コートの裾(左) Collider 22個 ・ 刺さる姿勢 5/24 ・ 最大の深さ 106.7mm Colliderを外すと → 5姿勢 / 106.7mm(1mmも変わらない) ▼ コートの裾(右) Collider 22個 ・ 刺さる姿勢 5/24 ・ 最大の深さ 106.7mm Colliderを外すと → 5姿勢 / 106.7mm(1mmも変わらない) ▼ 髪 A Collider 22個 ・ 刺さる姿勢 24/24 ・ 最大の深さ 63.3mm Colliderを外すと → 24姿勢 / 81.9mm ▼ 髪 B Collider 22個 ・ 刺さる姿勢 7/24 ・ 最大の深さ 13.5mm Colliderを外すと → 9姿勢 / 57.7mm ▼ コートの前(左) Collider 22個 ・ 刺さる姿勢 0/24 ・ 最大の深さ 0.0mm Colliderを外すと → 0姿勢 / 0.0mm 上の2つは、Colliderを外しても数字が1mmも変わっていません。 22個のColliderは、コートの裾に対しては1つも仕事をしていない。 「髪 A」は 81.9mm が 63.3mm へ。効いてはいますが、まだ入ります。 「髪 B」は 57.7mm が 13.5mm へ、刺さる姿勢も 9 から 7 へ減っています。 一番下は24姿勢すべてで体に届いていません。対処は要りません。 同じアバターの中で、効いている場所と効いていない場所が これだけ分かれます。目で見て確かめる方法では、 「まだ刺さる」までは分かっても「Colliderが1つも届いていない」までは分かりません。 なお、左右対の2つ(コートの裾の左と右)が どちらも 106.7mm / 5姿勢 と完全に一致しています。 左右対称のアバターで左右が一致するのは、 乱数を使わず総当たりで測っているからです。 ━━━━━━━━━━━━━━━━━━━━━━━━ ■ どうやって測っているか ━━━━━━━━━━━━━━━━━━━━━━━━ 1. アバターの複製を作る(元には一切触れません) 2. 揺れものを 8方向 × 3段階 = 24 の姿勢へ順番に倒す 3. そのつど、髪や服の頂点が体の内側に入ったかを数える 4. Colliderを無いことにして、同じ24姿勢をもう一度測る 5. その差が「そのCollider配置が効いた量」 乱数で揺らしていないので、同じアバターなら 何度測っても同じ数字が出ます。 「さっきは出たのに今度は出ない」が起きません。 ━━━━━━━━━━━━━━━━━━━━━━━━ ■ 元から体の中にある部分は差し引きます ━━━━━━━━━━━━━━━━━━━━━━━━ 髪の根元は頭の中に、スカートの腰は腰の中にあるのが正常です。 これを貫通と数えると、全部の行が真っ赤になって使い物になりません。 先に「倒す前の姿勢」を測って基準にし、 元は外にいたのに倒したら入った頂点だけを貫通とします。 髪と体が同じ1つのメッシュに入っている一体型のアバターでも、 揺れもの側の頂点を自動で外してから測ります。 ━━━━━━━━━━━━━━━━━━━━━━━━ ■ どこに刺さっているかが目で見えます ━━━━━━━━━━━━━━━━━━━━━━━━ 行の「Sceneに出す」を押すと、Sceneビューに出ます。 灰色の線 … 元の骨の位置 黄色の線 … 一番ひどい姿勢へ倒した先の骨 黄色の点 … そのとき髪や服そのものが来ている場所 赤い点 … そのうち体の中に入った場所 数字だけでなく、場所が分かります。 ━━━━━━━━━━━━━━━━━━━━━━━━ ■ 数字が合っているかを、毎回自分で点検します ━━━━━━━━━━━━━━━━━━━━━━━━ 自己点検: 計算した頂点の範囲 1.39x1.61x0.56 Unity が持つ描画範囲 1.39x1.61x0.56 / はみ出し 0.000m 計算した範囲がUnityの持つ範囲からはみ出していれば、 座標の取り方が合っていないということです。 そのときは警告を出します。 「それらしく動いているように見えるが実は違う」を防ぐためです。 ━━━━━━━━━━━━━━━━━━━━━━━━ ■ アバターは変更しません ━━━━━━━━━━━━━━━━━━━━━━━━ すべて複製の上で行い、複製は測り終えたら捨てます。 元のアバターにも PhysBone の設定にも一切触れません。 ━━━━━━━━━━━━━━━━━━━━━━━━ ■ 使い方 ━━━━━━━━━━━━━━━━━━━━━━━━ 1. zipを解凍する 2. 中の どこささる_v1.0.0.unitypackage を Unityにドラッグ&ドロップ 3. Unity上部メニュー Tools → どこささる 4. アバターをドラッグして「調べる」 「結果をテキストでコピー」で、全内容を貼り付けられます。 ━━━━━━━━━━━━━━━━━━━━━━━━ ■ 動作環境 ━━━━━━━━━━━━━━━━━━━━━━━━ ・Unity 2022.3 / VRChat SDK - Avatars 3.x 処理速度の目安: 揺れもの46本・体30,753三角形のアバターで約90秒。 Colliderあり・なしで2回ぶん、合計 46本 × 24姿勢 × 2 = 2,208回を測るためです。 途中で止められます。 ━━━━━━━━━━━━━━━━━━━━━━━━ ■ できないこと ━━━━━━━━━━━━━━━━━━━━━━━━ ・Colliderを自動で置く機能はありません 置く作業には Collider 配置系のツールをご利用ください このツールは、置いたあとの答え合わせをする側です ・VRChat実機の物理演算そのものを再現するものではありません 起こりうる姿勢を総当たりして、そこで刺さるかを測っています ・Colliderの当たり判定はVRChatの仕様(球・カプセル・平面)に 合わせていますが、実機と1mmまで同一であることを保証するものではありません ━━━━━━━━━━━━━━━━━━━━━━━━ ■ 同じ作者のツール ━━━━━━━━━━━━━━━━━━━━━━━━ ◆「あとどれだけ」── 軽量化の"計画"を出すツール(無料) 目標のパフォーマンスランクを選ぶと、そこへ届くために 何をどれだけ削ればいいかを数値で出します。 無料です。作者の作るものの雰囲気を確かめる意味でも、 よろしければ先にこちらをお試しください。 https://hakari-lab.booth.pm/items/8702378 ※VCC・ALCOM からも導入できます https://hakari-lab.github.io/vpm/ ◆「どれがおもい」── 何が重いのかを実測で出すツール 複製を作って実際に取り除いて測るので、 「消したのに減らなかった」が起きません。 https://hakari-lab.booth.pm/items/8718160 ◆「どこぬる」── マスクを塗る場所が一目で分かるツール アバターの構造を読んで、塗れる場所の候補を先に一覧にします。 https://hakari-lab.booth.pm/items/8716672 ━━━━━━━━━━━━━━━━━━━━━━━━ ■ 利用条件 ━━━━━━━━━━━━━━━━━━━━━━━━ 個人・商用問わずご自由にお使いいただけます。 本ツール本体の再配布・販売はご遠慮ください。 詳細は同梱の「利用規約.txt」をご確認ください。





