VRChat 非公式日本語ドキュメント

Player Positions

プレイヤーの座標、回転、および速度は、Udonを使用して取得および変更できます。以下のノードはすべて、入力として VRCPlayerAPI を必要とします。

プレイヤーに関連する力(物理演算)を扱うノードについては、Player Forces を参照してください。

GetPosition

プレイヤーの座標を取得します。

Output

GetRotation

プレイヤーの回転を取得します。

Input

Output

GetBonePosition

プレイヤーのアバターにおける指定したボーンの座標を取得します。ボーンが存在しない場合は Vector3.Zero (0,0,0) を返します。アバターによってボーン構成が想定と異なる場合があるため、ボーンの座標に基づいてプレイヤーの身長や姿勢などの属性を決めつける際は注意してください。

Input

Output

GetBoneRotation

プレイヤーのアバターにおける指定したボーンの回転を取得します。ボーンが存在しない場合は Quaternion.Identity (0,0,0,1) を返します。アバターによってボーン構成が想定と異なる場合があるため、ボーンの回転に基づいてプレイヤーの身長や姿勢などの属性を決めつける際は注意してください。

Output

GetTrackingData

個別の座標および回転データを含む TrackingData という構造体を取得します。これは、プレイヤーの頭部や手(ハンド)の座標・回転データを取得する際に推奨される方法です。ローカルプレイヤーに対しては TrackingManager からデータ(ヘッドセットやトラッカーからのデータ)が返され、リモートプレイヤーに対しては RightHandLeftHandHead ボーンからのデータが返されます。Origin はローカルVRユーザーのプレイエリア中心を返しますが、デスクトップユーザーや全リモートユーザーに対してはプレイヤーの座標を返します。AvatarRoot はアバターのルートトランスフォーム(プレイヤーのカプセルがアタッチされているのと同じトランスフォーム)のデータを返します。フルボディトラッキングを使用しているユーザーの場合、AvatarRoot は頭部の向きに合わせて回転しません。プレイヤーの一般的な前方方向を反映したデータが必要な場合は、代わりに GetRotation を使用することを検討してください。

Input

Output

GetVelocity

プレイヤーの移動速度および方向を取得します。

Output

SetVelocity

プレイヤーの移動速度および方向を設定します。ローカルプレイヤーに対して SetVelocity が呼び出されると、その間プレイヤーは自身の移動を直接制御できないため、IsGrounded プロパティが false に設定されます。

Input

IsPlayerGrounded

プレイヤーが地面に接地しているかどうか(ジャンプが可能かどうか)を取得します。

Output

TeleportTo

ローカルプレイヤー を指定した座標および回転へ移動させます(ステーションによって制限されている場合を除く)。

warning

ネットワーク更新中(例: OnDeserialization)にプレイヤーをテレポートさせないでください。テレポート中にアバターがジオメトリと予期せぬ衝突を起こす可能性があります。その代わりに SendCustomEventDelayedFrames を使用して、テレポートを1フレーム遅らせてください。

Inputs

最終更新: