振ると振り落とされる
振りの強さを見ています。歩行や普通の腕の動きでは落ちにくく、蹴ったり、勢いよく振ったり、小刻みに振ったりすると落ちます。速く移動している間は、振り落としの判定を止めます。
腕や足に付けて、振るだけで動きます。付ける場所は、アバターの好きな部位を選べます。
振りの強さを見ています。歩行や普通の腕の動きでは落ちにくく、蹴ったり、勢いよく振ったり、小刻みに振ったりすると落ちます。速く移動している間は、振り落としの判定を止めます。
振った向きと速さを引き継いで、放物線を描いて飛びます。床で跳ねて、止まります。
落ちた手は、その場に残ります。アバターが歩いて離れても、ついてきません。ジャンプ中に落としても、下の床まで落ちます。
落ちた手に、その手が付いていた部位(足なら足、腕なら手首)で触れると、また装着されます。落としてから1秒たち、いったん部位が離れてから触れたときだけ戻ります。落とした直後にすぐ戻ることはありません。
落ちる・戻る・オン・オフの状態は、ほかのプレイヤーにも同期します。一方で、飛び方と落ちる場所は同期しません。それぞれの人の画面で別々に計算するため、人によって飛び方も落ちる場所も違って見えます。
VRChatのメニューに「Regret」の切り替えが入ります。オフにすると手が消え、オンにすると元の部位に付いた状態でまた現れます。オン・オフの状態は保存されます。
足・腕・手首・頭など、Humanoid のすべての骨に付けられます。アバターの中の好きなオブジェクトを指定して付けることもできます(初期設定は左足のつま先)。右側の部位を選ぶと、見た目が自動で左右反転します。
左右の足に1個ずつ、あるいは足と腕に1個ずつ置けます。片方を振っても、もう片方は落ちません。メニューの切り替えも1個ずつ別に入ります。メニュー名には、付ける場所の名前が入ります(「Regret(左つま先)」など)。
骸骨の手の代わりに、好きなオブジェクトを付けられます。当たり判定と、拾える範囲は、アップロード時に見た目に合わせて自動で調整されます。
骸骨の手の指を、親指から小指まで1本ずつ、握る・開く方向に調整できます。付ける部位の形に合わせて、指先が沿うように整えられます。
骸骨の手のモデルは、この商品のために一から作ったオリジナルです(1,130ポリゴン、法線マップ付き)。
前提のツールを入れ、プレハブを置いて、そのままアップロードします。
プレハブ「Regret」を、アバターのいちばん上の階層(アバターのルート)の直下にドラッグ&ドロップします。
付ける位置は、アップロード時に自動で、選んだ部位に合わせます。位置・回転は付く位置に影響しないので、動かしても構いません。
大きさ(Scale)を変えると、手の大きさになります(例: 1.5 で 1.5倍)。当たり判定と拾える範囲も同じ倍率で大きくなります。付く位置・振って落ちる感度・飛び方(速さ・高さ)は変わりません。X・Y・Z は同じ値にしてください(違うときは平均の値で、そろえて扱います)。
Hierarchy で「Regret」を選び、Inspector の「足に付く位置を今すぐ反映(プレビュー)」を押すと、Scene ビューで選んだ部位に付いた様子を確かめられます。
そのままアップロードします。
腕や足を勢いよく振る・蹴ると、装着した骨が振り落とされて飛んでいき、床に残ります。
落ちた手に、その手が付いていた部位で触れると、また装着されます。
メニューの「Regret」をオフにすると手が消え、オンにすると元の部位に付いた状態で現れます。
同じワールドの中でのリスポーンやテレポートでは戻りません。落ちた手はその場に残ります。遠くへ行ってしまった手は、メニューのオフ→オンで元の部位に戻せます。
プレハブの中で変えられる値です。プレハブの中の値は、Inspector の設定で調整してください。ルート(Regret)の位置・回転は付く位置に影響せず、大きさは手の大きさの倍率になります。
Hierarchy で「Regret」を選ぶと、Inspector に設定が出ます。
| 項目 | 選べる値 | 説明 |
|---|---|---|
| 付ける場所 | Humanoid のすべての骨(初期設定は左足のつま先)/「Object で指定」にアバター内のオブジェクト | 骨を付ける部位。アップロード時に、この部位へ合わせて付きます。Object の名前を変えたり消したりすると、アップロード時にエラーになります |
| 右側のとき左右反転 | オン/オフ | 右側の部位(名前が「右」の骨と、その下のオブジェクト)を選んだとき、見た目を左右反転します。左右対称の物などで反転したくないときは外してください |
| 当たり判定を自動で合わせる | オン/オフ | 床にぶつかる大きさと、拾える範囲を、見た目に合わせて自動で決めます。自分で調整したいときは外し、BoxCollider と GrabReceiver を手で設定してください |
選んだ骨がアバターの Humanoid に割り当てられていないことがあります(つま先の骨 Toes が無いなど)。その場合はアップロード時にエラーが出るので、別の部位を選んでください。
髪・スカートなど、PhysBone で揺れる部分の中には付けないでください。揺れ方が変わったり、勝手に落ちたりします。Inspector とアップロード時に注意が出ます。
親指・人差し指・中指・薬指・小指の5本のスライダーです。+側に動かすと握り、-側に動かすと開きます(-100〜+100)。0が初期の形です。
Scene ビューで付ける部位を見ながら、指先が沿うように動かしてください。握り込みすぎると、指が縮んで見えることがあります。骸骨の手を別のオブジェクトに差し替えて「BoneHand」を外したときは、スライダーは出ません。
置いたオブジェクトに当たり判定(Collider・Rigidbody など)が付いていた場合は、手の動きを邪魔しないよう、アップロード時に自動で取り除きます。衣装や髪など、アバターの骨で動くメッシュを置いた場合は、その時の形のまま固まったメッシュに変換されます。
プレハブ「Regret」をもう1個アバターのルートの直下に置き、それぞれ別の「付ける場所」を選びます。メニューの切り替えも1個ずつ別に入ります。メニュー名には、付ける場所の名前が入ります(「Regret(左つま先)」など)。
個数に応じて、アバターの負荷と同期パラメーターの使用量が増えます。
導入前に確認してください。
Quest(Android)には対応していません。
手が床で止まるかは、ワールドの床の作りしだいです。床の当たり判定が無い場所や、一部の特殊な床では、手がすり抜けて落ちていきます。拾えなくなった手は、メニューで「Regret」をオフにしてからオンにすると、元の部位に戻ります。
机や小物など、ワールドによっては壁もすり抜けることがあります。
落ちる・戻る・オン・オフの状態は同期します。
飛び出す速さや向き、着地位置は同期しません。人によって飛び方も落ちる場所も違います。ほかの人の画面では、同期が届いたときの装着部位の動きから別々に計算するため、足元に落ちたり、着地点がずれたりする場合があります。拾い直す判定は、持ち主の画面にある手の位置で行います。
VRChat実機で確かめたのは、左足のつま先と右手首だけです。右足・そのほかの部位・複数設置・身長変更、2人の画面での同期、途中参加は、Unity Editorでの検証のみです。実機では保証できません。
振り続けると、落ちた手にその部位がまた触れて拾い直し、1秒後にまた落ちる、をくり返すことがあります。
動作が重い(目安 50fps 未満)ときに蹴ると、手が装着部位よりも速く、高く飛ぶことがあります。
自分や他人のアバターに当たり判定(Collider)があると、落ちた手がその上に乗ることがあります。自分のアバターの当たり判定なら、その Collider の「Layer Overrides」→「Exclude Layers」に「Walkthrough」を入れると避けられます。
落ちた手は、落ちた時の大きさのまま残ります。落とした後にアバターの身長を変えても、手の大きさは変わりません。次に付いたときに、アバターに合った大きさに戻ります。
1個につき、Rigidbody 4・Collider 1・Contact 2・Constraint 5 を使います。このギミックだけで、Rigidbodyの項目はMediumになります。最終的なランクは、アバター全体の構成によって変わります。複数置くと、そのぶん増えます。
商品紹介に使用させていただいているアバターや衣装などは付属しません。