プレイヤーが範囲に入ったとき
よく使うOnPlayerTriggerEnter
プレイヤーがこのオブジェクトのコライダー(Is Trigger)の範囲に入ったとき。
このオブジェクトに範囲(Is Trigger をオンにしたコライダー)が必要です。カードの「範囲を付ける」で付けられます。
誰かが範囲に入ると、このイベントはその場にいる全員の画面でそれぞれ起きます。カードの「誰が入ったら」で、どの人のときに動かすかを選びます。
- 自分: 自分が入ったときだけ。テレポートや自分だけの演出はこれにする
- 自分以外: ほかの人が入ったときだけ
- 誰でも: 誰が入っても。入ってきた人は「そのプレイヤー」で分かる
最初は「自分」になっています。「誰でも」にすると、ひとりが入るたびに全員の画面で同じアクションが動くので、音を鳴らすときなどに向いています。
範囲になるのは、このオブジェクトの Is Trigger をオンにしたコライダーです。入ったかどうかは、プレイヤーのカプセル形のコライダーで判定されます。範囲に入った人をテレポートする例は テレポート にあります。
公式の説明によると、テレポートで出入りしたときやとても速く動いたときは、このイベントが起きないことがあります。ボールなどの物体が入ったことを知りたいときは、「物体が範囲に入ったとき」を使います。
公式の説明: Player Collisions(VRChat)、Event Nodes(VRChat)
イベントの値
このイベントが持つ値です。アクションの設定で、対象や値として選べます。
| 名前 | 種類 |
|---|---|
| そのプレイヤー | プレイヤー |
カードの例
いつプレイヤーが範囲に入ったとき⋯
何をする
+ 何をするかを追加
Udon では
UdonSharp では、このメソッドになります。
public override void OnPlayerTriggerEnter(VRCPlayerApi player)