PUN Voiceデモ
PUN Voiceデモは、プレイヤー同士で会話できる簡単な4人プレイのモバイルゲームです。
マッチメイキングの他、4人のキャラクター、3つのカメラ表示があります。
このデモはUnityのチュートリアル「Survival Shooter」を基に作成されました。
Photon Voiceパッケージで使用できます。

セットアップ
PUN Voiceデモを試すには:
- アセットストアからパッケージをダウンロードする。
- Unityでプロジェクトを開き、DemoPunSceneをロードする。
- UnityインスペクターでPhotonServerSettingsを開く (メニュー: "Window" -> "Photon Unity Networking" -> "Highlight Server Settings"):
- PUNを設定する: 自分のRealtime AppIDをPhoton Realtimeダッシュボードからコピーペーストする。
- Voiceを設定する: Photon Voiceダッシュボードから自分のVoice AppIdをコピーペーストする。
- ビルドして、実行して、できあがり!
特徴
このセクションではこのデモで確認できる特徴についてご紹介します。
複数のキャラクター
デモを試行しているとき、各プレイヤーのキャラクターがそれぞれユニークで、ランダムな位置にスポーンされることに気が付くでしょう。
これはCharacterInstantiation
クラスを使用して処理されています。 OnJoinedRoom
コールバックで、アクター番号に基づいてプレハブを選択し、スポーン位置をランダムにします。
接続とキャリブレーション

右下の端にキャリブレーションと接続のボタンがあります。
キャリブレーションボタンは、Voiceのルームに入ったときのみ有効で、音量の調整に便利です。
詳細は"キャリブレーション"を参照してください。
他の2つのボタンはそれぞれ、PUNまたはPhoton Voice 「へ接続」・「から切断」します。
設定
いくつかの設定を行うと、UIから簡単にアクセスできるようになります。
ショートカットを作って、Photon Voiceアプリケーションを整えましょう。
ゲーム内設定

Photon Voiceアプリケーションにとって最も重要なランタイム設定は単一のToggleGroup
に分類されています:
- Transmit: 無効にすると、音声伝送がオフになります。有効の場合、音声は録音され、伝送されます。
- Mute Speaker: 名前の通り、音量が0になりスピーカーがミュートされます。
- VoiceDetection: この設定は、ボイスの検出を有効化・無効化します。
- DebugEcho: この設定は、クライアントが1人でVoiceアプリケーションをテストする場合に便利です。 オンにした場合、サーバーからオーディオストリームが元の送信者に送り返されます。 デバッグ目的でのみの使用となります。
グローバル設定

- AutoConnectAndJoin: PUNクライアントが「PUNルーム」に参加すると、自動的にPhoton Voiceクライアントを「ボイスルーム」に参加させます。
- AutoLeaveAndDisconnect: PUNクライアントが接続を切ると、自動的にPhoton Voiceクライアントの接続を切ります。
- DebugVoice: デバッグモードを切り替えます。
デバッグテキストが画面の左上の隅に、次の情報を含む表示されます。 PUNおよびVoiceアプリケーションClientState
、使用されているマイク端末、Voice統計。
オンにした場合、「話し中」の各キャラクターの上にVoiceのスピーカーラグが表示されます。
Voiceコンポーネントの特徴
メインとなる2つのVoiceコンポーネントの動作について、各プレイヤーの頭上に表示される等角図法を用いて説明します。
これは、Unityの「World Space」モードにある新しいUIシステムに基づいています。 アイコンを2つ含んでいます:
"Speaker" アイコン

このアイコンの目的は、プレイヤーボイスの再生を表示することです。
これはPhotonVoiceView
コンポーネントと連携しています。
画像は次のコードに基づいて表示・非表示されます:
C#
speakerSprite.enabled = photonVoiceView.IsSpeaking;
また、DebugVoiceグローバル設定が切り替わると、常にアップデートされた数字を含むテキストが同じ画面に表示されるようになります。
これはスピーカーコンポーネントのラグについて通知します。 以下のように有効化・無効化します:
C#
bufferLagText.enabled = showSpeakerLag && photonVoiceView.IsSpeaking;
if (bufferLagText.enabled)
{
bufferLagText.text = string.Format("{0}", photonVoiceView.SpeakerInUse.Lag);
}
「吹き出し」アイコン

このアイコンの目的は、プレイヤーボイスが録音され伝送されたことを表示することです。
これはPhotonVoiceView
コンポーネントと連携しています。
画像は次のコードに基づいて表示・非表示されます:
C#
recorderSprite.enabled = photonVoiceView.IsRecording;
詳細は、「Highlighter.cs」ファイルと同じ名前のクラスを参照してください。
いろいろなカメラ
Photon VoiceがAR・VRを含むあらゆるタイプのゲームに向いていることから、3Dサウンドエクスペリエンスのすばらしさを示す実際の例が役立つでしょう。
すばらしさを体感してもらえるように、カメラモードを3つ用意しました:
・「一人称視点」

・「三人称視点」

・「オーソグラフィック」(デフォルト)

カメラの切り替えはルームに参加していればいつでも、自由に途切れることなく行えます。
プレイヤーのキャラクターが初期化されたら、画面の右上にあるそれぞれ3つのボタンを使用します。
モバイルジョイスティック
デモにはモバイルタッチ入力のサポートも含まれます。
スマートフォンやタブレットで、デモに搭載されているジョイスティックUIを使用できます。このUIはUnityの標準アセットに基づいています。
この機能を使用するには、Unityのメニューで「Mobile Input」を有効化し、Unitynoビルド設定で互換性のあるプラットフォームに切り替えます。

デバッグモード
DebugVoice切り替えがオンの場合は、Debug Modeが有効化されます。
このモードでは、画面左上の隅に次の追加情報が表示されます:
・PUNクライアントの状態
・Voiceクライアントの状態
・ボイスの振幅の平均とピーク
・使用可能なマイク端末のリストおよび、使用可能なマイクがない場合は警告 一般的には、ほとんどの端末にマイクが1つ搭載されています。
