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

プレイヤーを取得する

これらのノードは、特定のプレイヤー、プレイヤーのグループ、あるいは全員を取得するのに便利です。

Networking.get LocalPlayer

VRCPlayerApi

注意

この関数は本来 Networking クラスのメンバーですが、便宜上ここに含めています。

ローカルプレイヤーとは、現在この Udon スクリプトが実行されているプレイヤー、つまりあなた自身のことです。自分自身を把握しておくことは非常に重要です!

GetPlayerCount

int

呼び出された時点でのインスタンス内の実際のプレイヤー数を取得します。

GetPlayers

VRCPlayerApi[]

ワールド内の全プレイヤーを取得する方法です。これを使用することで、For ループで各プレイヤーを走査して設定の適用や変更を行ったり、特定の名前を探したりすることができます。

最も簡単な方法は、パラメータを受け取らないバージョンを使用することです。

GetPlayersを呼び出すための必要最小限の構成です。VRCPlayerApi[]を変数として構築しておけば再利用できるため、より優れたアプローチとなります。

上記のアプローチでも動作しますが、使用するたびにメモリを割り当ててしまうため、呼び出すたびに VRCPlayerApi 配列が再構築されることになります。

このメソッドを頻繁(例えば毎フレームなど)に使用する場合は、代わりに非アロケーション(メモリを確保しない)バージョンを使用してください。こちらでは、変数として保存された VRCPlayerApi 配列を渡し、毎回再利用するようにします。配列は、ワールドで許可される最大プレイヤー数を保持できる十分な大きさであることを確認してください!

GetPlayers を定期的に使用するためのより効率的なパターン。このアプローチでは VRCPlayerApi[] を再利用可能な変数として構築するため、GetPlayers が実行されるたびにメモリ内に新しい配列が構築されるのを防ぎます。

GetPlayerById

int

指定されたプレイヤー Id に対応する VRCPlayerApi オブジェクトが存在する場合、それを取得します。

get playerId

int

キャッシュされた PlayerId を取得します。まだキャッシュされていない場合は GetPlayerId を呼び出します。

GetPlayerId

int

ソースからプレイヤーの Network Id を取得します。

Player Tag System

このシステムは、独自の変数やコレクションを作成することなく、プレイヤーに文字列を割り当てるための簡便な方法です。

SetPlayerTag / GetPlayerTag

Set: string, string

Get: string

後で参照できる文字列変数を設定します。例えば、料理ゲームにおいてプレイヤーの「role」を「chef」や「customer」として設定することができます。その後、GetPlayerTagで「role」を指定することで、「chef」または「customer」を取得できます。

ClearPlayerTags

VRCPlayerApi

プレイヤーに設定したすべてのタグを削除します。

GetPlayersWithTag

caution

現在機能していません。Udonでは利用できない List を返します。

将来的には、VRCPlayerApi オブジェクトの配列とタグを渡すことで、そのタグが設定されているプレイヤーを配列に格納できるようになる予定です。

最終更新: