2017-04-26 4 views
1

こんにちは私はマルチプレイヤー開発には新しく、光子声を使用していて、多くの選手がいる部屋で2人のプレーヤーの間で私的な音声チャットをしたかったのです。光子のサポートで https://doc.photonengine.com/en-us/voice/current/getting-started/voice-for-pun?utm_campaign=sendgrid&utm_source=sendgrid.com&utm_medium=email に向けられましたが、動作させることができません。このマルチプレイヤーでプライベートボイスチャットをどうすればいいですか?説明のために例を挙げてください。ありがとうPhoton Voice Unity3Dでオーディオグルー​​プを使用するには?

答えて

0

これを行う方法を紹介するプッシュトゥトークのデモシーンがあります。 は私が現在の光子の声を使用してプレーヤーのボイスチャットにプレーヤーを実装する方法を説明してみましょう:

光子音声は別々の音声チャネル/ターゲットに(何もなく、フォトンロードバランシングの「Interest Groups」ではありません)音声グループを使用しています。

フィルターの着信音は、(「誰が聴きたいん」「何を聞くために」を選択するか):

各アクターは、それが興味の声グループに加入する必要がありますデフォルトでは、すべての俳優が耳を傾けます。音声グループ0であり、音声放送のためのグローバル音声グループとみなすことができる。他のグループに送信された音声を聞きたい場合は、そのグループに登録する必要があります。以前に購読したものから退会することもできます。このすべてが行うには操作:各俳優が声グループは、それが望んでいるのかを決定する必要が

PhotonVoiceNetwork.Client.ChangeAudioGroups(byte[] groupsToRemove, byte[] groupsToAdd);

は、単一の送信対象オーディオグルー​​プ(「あなたがする話をしたくない人」を選択)を選択します音声を送信する。対象オーディオグルー​​プはPhotonVoiceRecorder.AudioGroupで設定できます。


だから、あなたが何ができるか、ユースケースによっては次のとおりです。

  1. は、単一のグループに話すと、複数のグループに耳を傾けます。聞こえる人以外のグループに話すことができます。利用可能なすべてのグループを聴くことができます。
  2. 単一のグループに話しかけ、デフォルトのグループだけを聞きます。
  3. 単一の同じオーディオグルー​​プを話して聞きます。この特定の使用例では、PhotonVoiceNetwork.Client.GlobalAudioGroupを設定してこの単一の入出力グループを切り替えるショートカットがあります。 GlobalAudioGroupを設定する場合は、ChangeAudioGroupsに電話するか、PhotonVoiceRecorder.AudioGroupを内部で実行する必要はありません。 3例で

、あなたは常にフォトンボイスデモがプライベート(1対1)のボイスチャット用の2つのオプションが提供していますオーディオグルー​​プに0

をデフォルトに聞く:

  • 「MuteOthersWhileTalkingを」有効:ケース3に対応します。
  • "MuteOthersWhileTalking"が無効です.N°1に対応します。

デモのオーディオグルー​​プは次のように構成されています。 私たちには4人の俳優の部屋があります。 6つのオーディオグルー​​プが必要です。 アクターの各ペアについて、一意のグループコードを計算します。ここでY

に等しい俳優番号と

  • 俳優番号(プレイヤーID)と俳優のA X
  • に等しい
  • 俳優のBは、我々はAとの間でプライベートボイスチャットの音声グループを取得する方法です

    if (x < y) 
    { 
        AudioGroup = y + x * 10; 
    } 
    else if (x > y) 
    { 
        AudioGroup = x + y * 10; 
    } 
    else 
    { 
        // error 
    } 
    

    例:俳優1及び2のオーディオグルー​​プ12

    さB(アクターの数は24に達した場合、我々は問題を持っています)

    プライベート音声グループを計算するもう1つの方法は、アクター番号をオーディオグルー​​プとして使用することです。各アクターは、そのアクター番号と同じコードを持つ1つのオーディオグルー​​プにサブスクライブします。リモートアクタと話したいときは、ターゲットのアクタ番号にターゲットオーディオグルー​​プ(PhotonVoiceRecorder.AudioGroupのみを使用)を設定します。 このアプローチの利点:より少ないオーディオグルー​​プ:アクターと同じ数のオーディオグルー​​プが必要です。このアプローチの利点:

    • オーディオグルー​​プの切り替えが少ない:サブスクライブするサブオーディオグルー​​プとサブスクライブしないシングルオーディオグルー​​プ。

    このアプローチの欠点は:

    • あなたは、他の俳優をミュートすることはできません。あなたは私的にあなたと話したい人に耳を傾けます。
+0

ありがとうございました。それは多くの助けになります。 – RingR89

関連する問題