足が床に埋まるなおし - 靴を替えたら足が床にめり込む・宙に浮くを靴底の実測で直すUnityツール【VRChat】
상품 설명
「靴を替えたら、足が床にめり込んだ」「ヒールを履いたら、少し浮いた」。
自分の視点では気づきにくく、他人からはずっと見えています。
足が床に埋まるなおしは、靴底の位置を実測してから直すUnity Editorツールです。Blenderは使いません。
◆ なぜ起きるのか
VRChatはアバターの原点(Descriptorが付いているGameObject)を床に置きます。足の裏がその原点より下にあれば埋まり、上にあれば浮きます。靴を履き替えると靴底の厚みが変わるので、履き替えるたびにズレます。
◆ 全身の最下点では測りません
髪やスカートやしっぽが床より下にあると、そこを床に合わせてしまい、全身が持ち上がります。
このツールは、Humanoidの足・つま先の骨に預けられた頂点だけを集め、いまの姿勢で焼いたメッシュから最下点を取ります。見ているのは靴底です。
◆ 骨は名前でも拾い直します
素体によっては、パーツごとに骨が分かれていて、靴のメッシュが「同じ名前で別の実体」の骨に預けられていることがあります。実測したアバターの片方がそうでした。実体だけで照合すると1頂点も測れません。名前でも拾い直すので、この作りの素体でも測れます。
◆ 動かすのはアバターの中身ぜんぶ
Armatureを1つだけ動かすやり方は、パーツごとに骨が分かれた素体で破綻します。体だけが浮いて、靴が床に残ります。このツールはアバター直下のものを全部まとめて上下します。
視点位置(ViewPosition)も同じだけ動かします。動かさないと目の高さがずれます。
◆ 実測
実際のアバター2体で、靴を厚いものに替えた状態(37mm沈めた状態)を作って測りました。
しなの 足裏 -37.4mm → 0.0mm
Felis 足裏 -37.1mm → 0.0mm
45mm浮かせた状態からも、同じように床へ戻せます。
どちらも横から絵を撮って、靴底が床の面に乗っていることを目で見て確かめています。
◆ 元に戻せます
・「測るだけ(変更なし)」で、何mm動かせば床に着くかだけを先に確認できます
・元の値はアバターの中に覚えているので、「元に戻す」でいつでも戻せます
・記録用のオブジェクトは EditorOnly タグなので、アップロードには含まれません
・Ctrl+Zでも戻せます
◆ 床から少し離すこともできます
スライダーで -20mm 〜 +20mm を指定できます。厚底ブーツで少し浮かせたい、というときに使えます。
◆ 使い方
1. unitypackageをImport
2. Tools > VRCtoolers > 足が床に埋まるなおし
3. アバターを「アバター」欄へ入れる(足の骨は自動で探します)
4.「測るだけ」で現在の足裏の高さを確認
5.「足を床に合わせる」を実行
◆ 検証
Unity 2022.3.54f1 / VRChat SDK Avatars。ユニット17項目、実機E2E(実SDK・実アバター2体)17項目、出品ZIP同梱のunitypackageを別プロジェクトへ新規Importする検証 9/9、いずれも全項目クリアしています。
数字だけで通していません。適用前と適用後を実際に描画し、床の面と靴底の関係を絵でも確かめています。
※ 靴を替えたら、もう一度実行してください。靴底の厚みが変わるためです。
※ Humanoidでないアバターでは全身の最下点で測ります。髪やスカートが床より下にあると、その分だけ持ち上がります(警告が出ます)。
※ スケールの入った素体では1〜2mmの誤差が出ることがあります(出たら警告します)。
※ アバター・衣装・VRChat SDKは付属しません。
※ すべてのアバター・すべての靴の組み合わせで完全な一致を保証するものではありません。最終確認は購入者環境で行ってください。
※ デジタル商品のため、購入後の返品・返金はできません。
모든 리뷰
더보기리뷰 등록
리뷰를 작성하려면 로그인이 필요합니다.
로그인하고 리뷰 쓰기