PUN Voiceデモ
PUN Voiceデモは、プレイヤーがお互いに話すことができる、シンプルな4プレイヤー用のモバイル対応ゲームです。
マッチメイキング以外に、このゲームには4つのプレイ可能なキャラクターと3つの異なるカメラビューがあります。
このデモは、Unityのチュートリアル「サバイバルシューター」に基づいていて、
Photon Voiceパッケージで提供されます。
設定
PUN Voiceデモを試すには:
- Asset Storeからパッケージをダウンロードします。
- Unityでプロジェクトを開き、DemoPunSceneを読み込みます。
- Unityのインスペクタ (Menu: "Window" -> "Photon Unity Networking" -> "Highlight Server Settings")でPhotonServerSettingsを開く:
- PUNの設定:Photon Realtimeダッシュボードから独自のRealtime AppIDをコピーして貼り付けます。
- Voiceの設定:Photon Voiceダッシュボードから独自のVoice AppIDをコピーし、貼り付けます。
- 構築、実行し、エンジョイ!
特徴
このセクションでは、デモに出てくる機能についてお話します。
複数の文字
フレンドとデモを試してみると、すべてのプレイヤーが固有のキャラクターを持ち、ランダムな位置にスポーンされることがわかります。
これはCharacterInstantiationクラスを使用して処理されます。OnJoinedRoomコールバックでは、アクター番号とランダムなスポーン位置に基づいて、プレハブを選択します。
接続とキャリブレーション
右下隅に、キャリブレーションおよび接続ボタンがあります。
キャリブレーションボタンは、Voiceルームに接続されている場合にのみ機能し、音量のレベルを調整するのに役立ちます。
キャリブレーションの詳細は"こちら"。
他の2つのボタンは、それぞれPUNまたはPhoton Voiceに「接続」または「接続解除」します。
設定
UIからいくつかの設定を簡単に行えるようにして、
Photon Voiceアプリケーションをチューンアップするためのショートカットを提供します。
ゲーム内設定
Photon Voiceアプリケーションの最も重要なランタイム設定は、単一のToggleGroupに分類されています。
- Transmit: この設定を無効にするとマイクがミュートされます。有効の場合は音がローカルで録音され、送信されます。
- Mute Speaker: この設定は、音量をゼロにすることでスピーカーをミュートします。
- VoiceDetection: この設定は、音声検出機能を有効または無効にします。
- DebugEcho: この設定は単一のクライアントを使用してVoiceアプリケーションをテストするときに便利です。オンの場合、サーバに送信されるオーディオストリームは、元の送信者に返されます。デバッグでのみ使用します。
グローバル設定
- AutoConnect: PUNクライアントが「PUNルーム」に入室している場合、自動的に「Voiceルーム」にPhoton Voiceクライアントを入室させます。
- AutoDisconnect: PUNクライアントが切断されたときに自動的にPhoton Voiceクライアントを切断します。
- AutoTransmit: Photon Voiceクライアントが「Voiceルーム」に参加すると同時に音声の送信を開始します。
- DebugVoice: デバッグモードを切り替えます。
デバッグテキストは画面の左上に表示され、次を含みます:PUNおよびVOiceアプリケーションのClientState、使用するマイクデバイス、一部のVoiceの統計。
オンの場合、すべての「喋る」キャラクターの上にVoiceスピーカーの遅れを示します。
Voiceコンポーネントのハイライト
二つの主要のVoiceコンポーネントがどのように機能するかを説明するために、すべてのプレイヤーの上に示される等角図を使用しています。
このビューは、Unityの「ワールドスペース」モードの新しいUIシステムに基づいています。これには2のアイコンが含まれます。
「スピーカー」アイコン
このアイコンの目的は、プレイヤーの音声が再生されていることを示すことです。これは、PhotonVoiceSpeakerコンポーネントにバインドされます。
画像は、このコードに基づいて表示または非表示されます。
C#
speakerSprite.enabled = speaker != null && speaker.IsPlaying &&
PhotonVoiceNetwork.ClientState == ExitGames.Client.Photon.LoadBalancing.ClientState.Joined;
DebugVoice グローバル設定がトグルされた場合も、同じビューに常に更新される番号を含むテキストが表示されるようになります。
それは、スピーカーコンポーネントの遅れについて通知します。次のように有効化または無効化されます;
C#
bufferLagText.enabled = showSpeakerLag && speaker.IsPlaying && speaker.IsVoiceLinked;
bufferLagText.text = string.Format("{0}", speaker.CurrentBufferLag);
「バブルスピーチ」アイコン
このアイコンの目的は、プレイヤーの声が録音され、送信されることを示することです。
これはPhotonVoiceRecorderコンポーネントにバインドされます。
画像は、このコードに基づいて表示または非表示されます:
C#
recorderSprite.enabled = recorder != null && recorder.IsTransmitting &&
PhotonVoiceNetwork.ClientState == ExitGames.Client.Photon.LoadBalancing.ClientState.Joined;
詳細は「Highlight.cs」ファイルと同じ名前を持つクラスを確認してください。
異なるカメラ
Photon VoiceはARやVRを含む如何なる種類のゲームで使用できるので、3Dサウンド体験の品質を表す例があると有用です。
そのために、3つのカメラモードを用意しました。
- ファーストパーソン
- サードパーソン
- 「正投影」(デフォルト)
ルームに参加すると、いつでも自由にかつシームレスに切り替えることができます。
プレイヤーのキャラクターがインスタンス化されると、3つのそれぞれのボタンが、画面の右上に表示されます。
モバイルジョイスティック
デモには、モバイルタッチ入力への対応が含まれています。
スマートフォンやタブレットでは、UnityのStandard Assetsに基づいているデモに付属しているジョイスティックUIを使用することができます。
この機能を使用するには、Unityのメニューから「モバイル入力」を有効にして、Unityのビルド設定で互換性のあるプラットフォームに切り替える必要があります。
デバッグモード
** DebugVoice**トグルがオンの場合、デバッグモードが有効です。
このモードでは、次の情報を含む追加情報が画面の左上隅に表示されます。
- PUNクライアントの状態
- Voiceクライアントの状態
- 平均およびピーク音声振幅
- 利用可能なマイクデバイスのリスト、または存在しない場合は警告。通常、ほとんどのデバイスにはマイクが含まれています。
音声
デモには、いくつかの効果音も含まれています。
ルームへの参加と退室のイベントを通知できます。
ぜひご利用ください!