SimpleVoiceChat サンプル

目次

  概要
  クライアント動作のための準備
  アプリケーションの作成
  クライアントでの動作確認


概要

「ルーム内の全員に対して」および「ルーム内の特定プレイヤーに対して」自身の発声を送信するボイスチャットサンプルです

  本サンプルは、最も簡易的なボイスチャットのサンプルとして、
     ・自身を除く、ルーム内の全員に対して発生を送信(broadcast)
     ・自身を含む、ルーム内の特定プレイヤーに対して発声を送信(multicast)
  するためのサンプルです。

  このサンプルにより、VR VoiceChat with MUN におけるボイスチャットの機能について、一通り確認することが可能です。


クライアント動作のための準備

バックグラウンドでの動作を有効にする

  Unity のバージョンによっては「バックグラウンドでの動作」が無効になっている場合があり、
  その状態で複数クライアントを動かすと支障が出ます。
  実行バイナリを生成する前に、まずはその確認と、無効になっていた場合に有効にする手続きを行いましょう。

  Unity のメニューから Edit > Project Settings > Player を選択します。
  PlayerSettings の「Resolution and Presentation」内にある、「Run In Background」のチェックボックスが ON になっているか確認してください。
  もし、OFFになっていた場合には、チェックボックスを ON にします。


アプリケーションの作成

実行バイナリを生成する

  では改めて実行バイナリを生成しましょう。
  Unity のメニューから File > Build Settings... を選んでください。
  Build Settings ウィンドウ内の Scenes In Build に対し、
  Assets/Monobit Unity Networking/Samples/Scenes/SimpleVoiceChat/SimpleVoiceChat.unity を追加します。
  ここまで登録し終えたら、各種プラットフォーム向けにビルドを実行します。
  以下のリンクを元に、各種プラットフォーム向けビルドを実行してください。

     Windows 版 はこちら。

     MacOSX & macOS Sierra 版 はこちら。

     Android 版はこちら。

     iOS 版はこちら。


クライアントでの動作確認

ビルドしたアプリケーション、および Unity Editor 上で実行してみる

  実行バイナリ、あるいは Unity Editor 上でクライアントを実行してみましょう。
  以下、Windows 版の画面で説明しますが、MacOS / Android / iOS側でもインタフェースは一緒です。

  実行すると、テキストボックスとボタンが表示されます。
  PlayerName のテキストボックスの欄に、自身を識別するプレイヤー名を入力し、[Connect Server] ボタンを押します。
  続けて以下の画面に切り替わります。実行端末のいずれか1つで、RoomName の入力欄に任意のルーム名を入力し、
  [Create Room] ボタンを押してルームを作成してみましょう。
  すると、以下の画面に移行します。
  この段階でもボイスチャットの自己テストは可能ですが、一旦このまま放置します。
  一方で別のクライアントを立ち上げて、PlayerName に名前を入力し、[Connect Server] ボタンを押します。
  押すと以下のように既設ルームが選択できようになりますので、選択しましょう。
  すると、双方の端末でルーム入室中の状態になり、以下のような表示がなされます。
  デフォルトの状態では、VoiceChat Send Type が「broadcast」に設定されており、
  この状態でボイスチャットによる対話を実行すると、自身の発声内容が、自身を除くルーム内の全プレイヤーに対して送信されます。
  UI を操作することにより、VoiceChat Send Type が「multicast」に切り替えることができます。
  この状態に切り替えてボイスチャットによる対話を実行すると、自身の発声内容について、ルーム内の指定されたプレイヤーに対してのみ送信されます。
  「multicast」に切り替えた場合、さらにルーム内のプレイヤーのリストと、
  ボイスチャットの送信対象として「許可する(Allow)」か「拒否する(Deny)」かの選択を行なうことができます。

  PlayerName に表示されたプレイヤーのクライアントに対して、Send Permission の設定を「Allow」にした場合、
  その PlayerName のクライアントに対し、自身の発声内容を送信します。
  一方、Send Permission の設定を「Deny」にした場合には、その PlayerName のクライアントに対し、自身の発声内容を送信しません。

  以下の設定例では、次のような状態でボイスチャットが機能します。
    ・ PlayerName「Monobit」は、自身の音声を自身のスピーカーでは聞き取れず、PlayerName「Engine」側のスピーカーでのみ自身の音声を出力できます。
    ・ PlayerName「Engine」は、自身の音声を自身のスピーカーで聞き取ることは可能ですが、PlayerName「Monobit」側のスピーカーでは自身の音声を出力できません。