次の方法で共有


ゲームにチャットを実装する

この記事では、ゲームにチャットを実装する手順の要約を提供します。 詳細については、記事の最後にある関連項目セクションのページを必ず確認してください。

Microsoft Azure PlayFab パーティーを使用してチャット機能を実装する

Microsoft Game Development Kit (GDK) に含まれる PlayFab パーティーは、PC/Xbox エコシステムでの同期チャットに推奨されるソリューションです。

  1. PlayFab パーティー SDK を設定する: PlayFab パーティー SDK は、ゲームのネットワークと音声/テキスト チャット通信を提供します。 さまざまなプラットフォームとゲーム エンジン用の PlayFab パーティー SDK があります。 必要なものを選択してダウンロードします。
  2. プレイヤーを認証する: Xbox および PC タイトルで PlayFab パーティーを使用している場合は、パーティー Xbox Live ヘルパー ライブラリを使用して、一貫した機能と動作を確保することをお勧めします。 このライブラリは、タイトルが Xbox サービスの要件を満たすのに役立ちます。
  3. ネットワークを作成する: ゲーム セッションで PlayFab パーティー ネットワークを使用する場合は、PartyManager::CreateNewNetwork() を使用して、ネットワークを作成するクライアントとプレイヤーを選択します。
  4. PartyLocalChatControl オブジェクトを作成する: このオブジェクトは、特定のローカル ユーザーに関連するチャット操作の管理オブジェクトとして機能します。 入力デバイスと出力デバイス、ミュート状態、ユーザー補助の設定を選択できます。 各ローカル ユーザーは、複数のチャット コントロールはできません。 ローカル チャット コントロールが別のチャット コントロールと通信するには、次の要件を満たす必要があります。
    • 2 つのチャット コントロールが同じネットワーク上にある必要があります。
  5. チャット コントロールをネットワークに接続する: PartyNetwork::ConnectChatControl() を呼び出します。 接続すると、ネットワーク内の他のデバイスに、チャット コントロールが PartyChatControlJoinedNetworkStateChange の状態変更でネットワークに参加したことが通知されます。 また、すでにネットワーク内にある他のすべてのチャット コントロールに対して PartyChatControlJoinedNetworkStateChange を受信し、すぐに通信することができます。
  6. オーディオの入力と出力を選択する: PlayFab パーティーを使用して、PartyLocalChatControl::SetAudioInput()PartyLocalChatControl::SetAudioOutput() メソッドで、チャット コントロールで使用されるオーディオ デバイスを選択します。 次のメソッドの動作を変更するには、PartyAudioDeviceSelectionType 列挙型を使用します。
    • PartyAudioDeviceSelectionType::None: このオーディオ デバイス選択の種類が既定です。
    • PartyAudioDeviceSelectionType::SystemDefault: このオーディオ デバイス選択の種類を選択すると、チャット コントロールはシステムの既定の通信デバイスの使用を試みます。
    • PartyAudioDeviceSelectionType::PlatformUserDefault: このオーディオ デバイス選択の種類を選択した場合、PartyLocalChatControl::SetAudioInput() および PartyLocalChatControl::SetAudioOutput() では、audioDeviceSelectionContext パラメータをプラットフォーム ユーザー ID に設定する必要があります。 PlayFab パーティーは、そのユーザーに関連付けられているプラットフォームの既定の通信デバイスの使用を試みます。
    • PartyAudioDeviceSelectionType::Manual: このオーディオ デバイス選択の種類を選択すると、PartyLocalChatControl::SetAudioInput() および PartyLocalChatControl::SetAudioOutput() では、audioDeviceSelectionContext パラメーターを有効なオーディオ デバイス識別子として使用し、その識別子に一致するデバイスの使用を試みます。
  7. チャットのアクセス許可とミュートを実装する: PlayFab パーティーを使用すると、プレイヤー同士の通信方法を細かく制御できます。 PlayFab パーティーでは、チームやチャネルを指定するのではなく、チャット コントロールの各ペア間のアクセス許可を明示的に定義する必要があります。
  8. テキスト チャット、翻訳、モデレーションを実装する: PlayFab パーティーでは、他のチャット コントロールとの間でテキスト チャットを送受信することもできます。
    • PartyLocalChatControl::SendText() メソッドを使用すると、任意の数のチャット コントロールにテキスト メッセージを送信できます。 適切な PartyChatPermissionOptions::ReceiveText チャット アクセス許可を持つチャット コントロールのみがメッセージを受信することを保証できます。
    • テキスト チャット翻訳は、PartyLocalChatControl::SetTextChatOptions() を呼び出して有効にすることもできます。
    • PartyTextChatOptions::TranslateToLocalLanguage オプションを設定すると、PlayFab パーティーは受信テキスト メッセージをローカル チャット コントロールの言語に翻訳します。
  9. アクセス可能なチャットを実装する: Azure Speech Services を利用した PlayFab パーティーは、プレイヤーのボイス チャットを書き起こしテキストから音声を合成できます。
  10. オーディオ入力ノイズ抑制を実装する: PlayFab パーティーを使用すると、リモート チャット コントロールに送信される前に、キャプチャされたマイク オーディオのバックグラウンド ノイズを抑制できます。 これにより、プレーヤーの音声オーディオの品質が大幅に向上します。

関連項目

PlayFab ドキュメントは最新情報の最良のソースです。 詳細については、次の記事とサンプルを参照してください。