パーティ
Create and manage player parties to enable groups of players to join game matches together.
読み終わるまでの所要時間 2 分最終更新 8日前
パーティは、ゲーム内でのパーティ体験を作成する方法を示します。パーティはプレイヤーが形成するプレイヤーのグループで、ゲームセッション (ゲームの起動からゲームの終了まで) の間存続します。パーティは、ロビー、マッチメイキング、ゲームプレイなど、複数のゲーム # 状態にわたり存続します。友達リスト (プレイヤーの永続的なグループ) とは異なり、パーティは単一のゲームセッションの継続時間のみ続きます。
続行する前に、Unity Hub およびサポートされるバージョンの Unity エディターを ダウンロードしてインストール してください。パーティでは、以下の Unity エディターバージョンがサポートされます。
- Unity 2020.3 LTS 以降
要件
パーティの使用を準備する前に、以下の要件を満たす必要があります。- Unity Lobby SDK をインストールする。
- Unity プロジェクトが Lobby サービスに オンボード されている。
- TextMesh Pro の必須事項。
- エディターで、Window (ウィンドウ) > Textmesh Pro > Import TMP Essential Resources (TMP Essential リソースのインポート) に移動します。
高レベルのワークフロー
パーティを使用した一般的なパーティメンバーの行程は以下のとおりです。- プレイヤー A がパーティを開始する
- プレイヤー A がプレイヤー B に招待コードを送信する
- プレイヤー B がコードを使用してパーティに参加する
- プレイヤー A と B の両者がパーティに存在し、マッチ 1 を開始する
- マッチ 1 が終了し、パーティはまだ存在しているため、プレイヤー A と B はマッチ 2 を再度一緒にプレイできる
概念
パーティ
パーティはプレイヤーが形成するプレイヤーのグループで、ゲームセッション (ゲームの起動からゲームの終了まで) の間存続します。パーティリーダー
パーティリーダーはパーティのホストです。パーティを管理し、プレイヤーの追加と追放を行うことができます。パーティメンバー
パーティメンバーは、パーティの一部であるプレイヤーです。パーティメンバーは、招待コードを送信することで他のプレイヤーを追加できます。パーティの管理
LobbyManager から以下のロビーコードサンプルを使用して、パーティ操作を実行します。パーティの作成
async void CreateLobby(){ try { var partyLobbyOptions = new CreateLobbyOptions() { IsPrivate = true, Player = m_LocalPlayer }; var partyLobbyName = $"{k_LobbyNamePrefix}_{m_LocalPlayer.Id}"; m_PartyLobby = await LobbyService.Instance.CreateLobbyAsync(partyLobbyName, m_MaxPartyMembers, partyLobbyOptions); await OnJoinedParty(m_PartyLobby); } catch (LobbyServiceException e) { PopUpLobbyError(e); }}
パーティリードとして別のプレイヤーを割り当て (パーティリードとして)
async Task TrySetHost(string playerId){ if (!m_LocalPlayer.IsHost) return; try { var setHostOptions = new UpdateLobbyOptions() { HostId = playerId }; await LobbyService.Instance.UpdateLobbyAsync(m_PartyLobby.Id, setHostOptions); } catch (LobbyServiceException e) { PopUpLobbyError(e); }
パーティにプレイヤーを招待 / パーティに参加
プレイヤーに招待を送信するためのメソッドを作成する必要があります。ただし、プレイヤーに招待を送信する機能の代わりに、プレイヤーはテキスト通信を介して LobbyCode を共有できます。async void TryLobbyJoin(string joinCode){ try { var joinOptions = new JoinLobbyByCodeOptions() { Player = m_LocalPlayer }; m_PartyLobby = await LobbyService.Instance.JoinLobbyByCodeAsync(joinCode, joinOptions); await OnJoinedParty(m_PartyLobby); } catch (LobbyServiceException e) { var joinFailMessage = FormatLobbyError(e); m_LobbyJoinPopupPopupView.JoinPartyFailed(joinFailMessage); }}
パーティからの退出
async void OnLeaveLobby(){ await RemoveFromParty(m_LocalPlayer.Id); NotificationEvents.onNotify?.Invoke( new NotificationData( "You", "Left the Party!", 1)); //Leave Lobby Regardless of result OnLeftParty();}
パーティからのプレイヤーの削除 (パーティリードとして)
async Task RemoveFromParty(string playerID){ try { await LobbyService.Instance.RemovePlayerAsync(m_PartyLobby.Id, playerID); } catch (LobbyServiceException e) { PopUpLobbyError(e); }}
サポート
以下の方法のどれかを使用して、Lobby サポートチームに連絡できます。- Multiplayer ダッシュボード から、ページの右上隅にある Help and support (ヘルプとサポート) アイコンを選択してチケットを作成する。
- Lobby フォーラム または Discord チャンネル に投稿を作成し、懸念事項、機能リクエスト、および問題の再現方法を詳細に記述する。