コンテンツにスキップ

VRCPickup関係の細かい情報

公式説明は上記のリンクだが、細かいことが書かれていないので以下に検証した内容を書く。

検証環境

com.vrchat.worlds 3.4.0
com.vrchat.base 3.4.0

Exact Gun と Exact Grip

OrientationGunを選択すると持った時にExact Gunの位置にスナップする。 OrientationGripを選択すると持った時にExact Gripの位置にスナップする。 どちらも手につかんだ時に指定したオブジェクトの位置にスナップするようにする機能だが、それぞれ微妙に向きが異なる。

回転はExact Gun/Gripに指定したオブジェクトに従うようになっている

Exact Gun

前方は[+X]、上方は[+Z]になる。 VRモードで手に持った時、銃を持った時のように[+X]方向が前を向く。 Desktopモードでは画面奥行方向が前方になる。

Desktop VR

Exact Grip

前方は[+Z]、上方は[-X]になる。 VRモードで手に持った時、剣などの棒状のものを持った時の棒の先端への向きが前方になる感じ Desktopモードでは画面奥行方向が前方になる。

Desktop VR

UdonSharpからVRCPickupを使用したい場合

GetComponentなどで取得する場合はVRC.SDKBase.VRC_Pickupから取得する

1
m_pickup = GetComponent<VRC_Pickup>();

RequestComponentでVRCPickupを指定したい場合

こちらは上記とは異なりVRC.SDK3.Components.VRCPickupを指定しなくてはいけないので注意

1
[RequestComponent(typeof(VRCPickup))]