Voice For PUN2

Contents

概念

Voice for PUN2レイヤーのロジックは、Photon Voice 1またはPUNVoiceから継承されています。 ボイスクライアントの状態は、PUNのクライアント状態と自動的に同期させることができます。

主なユースケースは、各プレイヤーがオーディオが3Dに配置されているネットワークインスタンス化されたPUNプレハブ(キャラクターやアバター)を 保持しているということです。単一のボイスストリームには、各エンドポイントに1つずつ、 合計2つのコンポーネント(RecorderとSpeaker)があります。 PUNでは、これらはPhoton View IDを介してリンクされます。

Back To Top

主要コンポーネント

PhotonVoiceNetwork

PhotonVoiceNetworkはVoiceConnectionを拡張し、PUN関連機能を追加します。デフォルトのSpeakerFactoryは上書きされ、 PUNとVoiceクライアントの状態を同期させる度合いを調整できます。また、PUNとVoiceは任意でPhotonServerSettingsから 同じAppSettingsを共有できます。

Back To Top

デフォルトのSpeakerFactory

新しいファクトリーは、カスタムユーザーデータオブジェクトとして交換されたPhoton View IDを使用して、voiceストリーム情報に適したスピーカーを探します。

Back To Top

自動接続と入室

PUNがルームに参加すると、Voiceクライアントも該当のVoiceルームに接続して参加することができます。

Back To Top

自動退室と切断

PUNがルームを出ると、Voiceクライアントは自動的に切断されます。

Back To Top

PhotonVoiceView

PhotonVoiceViewは、ネットワークでインスタンス化されたPUNプレハブのためにRecorderとSpeakerを設定するコンポーネントです。

Back To Top

推奨ワークフロー

シーン設定 (PhotonVoiceNetwork)

  1. PUNのPhotonServerSettingsのAppSettingsで音声AppIdを設定します。
  2. 必要に応じてPhotonVoiceNetworkをシーンに追加します。
  3. 必要に応じてPhotonVoiceNetwork.AutoConnectAndJointrueに設定。
  4. 必要に応じてPhotonVoiceNetwork.AutoLeaveAndDisconnecttrueに設定。
  5. 必要に応じてシーンにRecorderを追加し、プロパティを更新してPhotonVoiceNetwork.PrimaryRecorderに割り当てる。 5.a. 必要に応じてRecorder.TransmitEnabledを有効にして、準備ができ次第すぐに送信を開始することができます。 5.b. 必要に応じてRecorder.DebugEchoModeを有効にして自分の声を聞くことができます(ローカルスピーカーをリンクする必要があります。プレハブセットアップのステップ3.bを参照してください)。
  6. 受信ボイスストリーム用のSpeakerインスタンスが見つからない場合に、それを作成するかどうか(6.a.)、また、その作成方法(6.b.)を任意で決定します。 6.a. 必要に応じてPhotonVoiceNetwork.AutoCreateSpeakerIfNotFoundtrueに設定。 6.b. 必要に応じてSpeakerプレハブ(Speakerコンポーネントを含むプレハブ)を追加し、PhotonVoiceNetwork.SpeakerPrefabに割り当てる。

Back To Top

プレハブの設定 (PhotonVoiceView)

  1. PhotonViewが添付されているPUNプレハブのGameObjectにPhotonVoiceViewを追加する。
  2. Recorder setup (2.a. or 2.b. or 2.c.):
    2.a. PhotonVoiceView.UsePrimaryRecorderをtrueに設定(PhotonVoiceNetwork.PrimaryRecorderを設定する必要があります)。 2.b. PhotonVoiceView.AutoCreateRecorderIfNotFoundをtrueに設定。

    • レコーダーを作成したら、photonVoiceView.RecorderInUse.TransmitEnabledtrueに設定して、手動で送信を開始する必要があります。
    • 自分の声を聞くには、photonVoiceView.RecorderInUse.DebugEchoModetrueに設定して、手動で送信を開始する必要があります(ローカルスピーカーをリンクする必要があります。手順3.bを参照してください)。

    2.c. Recorderをプレハブに追加し、そのプロパティを更新してPhotonVoiceView.RecorderInUseに割り当てます。

    • 必要に応じてRecorder.TransmitEnabledを有効にして、準備ができ次第すぐに送信を開始することができます。
    • 必要に応じてRecorder.DebugEchoModeを有効にして自分の声を聞くことができます(ローカルスピーカーをリンクする必要があります。手順3.bを参照してください)。
  3. スピーカーの設定:
    3.a. 必要に応じて、プレハブにSpeakerを追加してPhotonVoiceView.SpeakerInUseに割り当てる。
    3.b. 必要に応じてPhotonVoiceView.SetupDebugSpeakerを有効にします(Recorder.DebugEchoModeが有効になっている場合に必要)。

ドキュメントのトップへ戻る