Player Positions
プレイヤーの座標、回転、および速度は、Udonを使用して取得および変更できます。以下のノードはすべて、入力として VRCPlayerAPI を必要とします。
プレイヤーに関連する力(物理演算)を扱うノードについては、Player Forces を参照してください。
GetPosition
プレイヤーの座標を取得します。
Output
Vector3: ワールド空間におけるプレイヤーの座標。
GetRotation
プレイヤーの回転を取得します。
Input
Output
Quaternion: ワールド空間におけるプレイヤーの回転。
GetBonePosition
プレイヤーのアバターにおける指定したボーンの座標を取得します。ボーンが存在しない場合は Vector3.Zero (0,0,0) を返します。アバターによってボーン構成が想定と異なる場合があるため、ボーンの座標に基づいてプレイヤーの身長や姿勢などの属性を決めつける際は注意してください。
Input
HumanBodyBones: 取得対象のボーン。
Output
Vector3: ワールド空間におけるボーンの座標。
GetBoneRotation
プレイヤーのアバターにおける指定したボーンの回転を取得します。ボーンが存在しない場合は Quaternion.Identity (0,0,0,1) を返します。アバターによってボーン構成が想定と異なる場合があるため、ボーンの回転に基づいてプレイヤーの身長や姿勢などの属性を決めつける際は注意してください。
Output
Quaternion: ワールド空間におけるボーンの回転。
GetTrackingData
個別の座標および回転データを含む TrackingData という構造体を取得します。これは、プレイヤーの頭部や手(ハンド)の座標・回転データを取得する際に推奨される方法です。ローカルプレイヤーに対しては TrackingManager からデータ(ヘッドセットやトラッカーからのデータ)が返され、リモートプレイヤーに対しては RightHand、LeftHand、Head ボーンからのデータが返されます。Origin はローカルVRユーザーのプレイエリア中心を返しますが、デスクトップユーザーや全リモートユーザーに対してはプレイヤーの座標を返します。AvatarRoot はアバターのルートトランスフォーム(プレイヤーのカプセルがアタッチされているのと同じトランスフォーム)のデータを返します。フルボディトラッキングを使用しているユーザーの場合、AvatarRoot は頭部の向きに合わせて回転しません。プレイヤーの一般的な前方方向を反映したデータが必要な場合は、代わりに GetRotation を使用することを検討してください。
Input
TrackingDataType: 取得対象のトラッキングデータ。
Output
TrackingData: 指定したタイプのプレイヤーのトラッキングデータ。
GetVelocity
プレイヤーの移動速度および方向を取得します。
Output
Vector3 velocity: ワールド空間におけるプレイヤーの速度。
SetVelocity
プレイヤーの移動速度および方向を設定します。ローカルプレイヤーに対して SetVelocity が呼び出されると、その間プレイヤーは自身の移動を直接制御できないため、IsGrounded プロパティが false に設定されます。
Input
Vector3: ワールド空間におけるプレイヤーの速度。
IsPlayerGrounded
プレイヤーが地面に接地しているかどうか(ジャンプが可能かどうか)を取得します。
Output
bool IsPlayerGrounded: プレイヤーが接地しているかどうか。
TeleportTo
ローカルプレイヤー を指定した座標および回転へ移動させます(ステーションによって制限されている場合を除く)。
- Udonでテレポートできるのはローカルプレイヤーのみです。他のプレイヤーをテレポートさせるには、ネットワーキングを使用してください。
- ステーションは、Udonによるプレイヤーのテレポートを妨げる可能性があります。
- 非常に頻繁に、あるいはごく短い距離をテレポートさせる場合は、
lerpOnRemoteをfalseに設定することを検討してください。
ネットワーク更新中(例: OnDeserialization)にプレイヤーをテレポートさせないでください。テレポート中にアバターがジオメトリと予期せぬ衝突を起こす可能性があります。その代わりに SendCustomEventDelayedFrames を使用して、テレポートを1フレーム遅らせてください。
Inputs
Vector3 teleportPos: ワールド空間におけるターゲット座標。Quaternion teleportRot: ワールド空間におけるターゲット回転。SceneDescriptorSpawnOrientation TeleportOrientation(オプション): ターゲットの座標と回転にプレイヤーを合わせる方法。bool lerpOnRemote(オプション): リモートプレイヤーに対して移動を補間するかどうか。- (デフォルト)
falseの場合、リモートプレイヤーからはテレポートが瞬時に行われたように見えます。ネットワーク帯域幅の負荷が増加します。 true,の場合、テレポートは通常のプレイヤー移動として扱われ、リモートプレイヤーからは滑らかな動きに見えます。
- (デフォルト)
最終更新: