RandomMatchingReconnect サンプル

目次

  概要
  クライアント動作のための準備
  アプリケーションの作成
  クライアントでの動作確認
  断線検知からの再接続処理


概要

MUN版「再接続可能なマッチメイキングサンプル」に「ボイスチャット」機能を付加したサンプルです。

  本サンプルは、従来の 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/RandomMatchingReconnect/OfflineSceneReconnect.unity
     ・Assets/Monobit Unity Networking/Samples/Scenes/RandomMatchingReconnect/OnlineSceneReconnect.unity
  (上記ファイルを順番に、1つずつドラッグ&ドロップしてください。)
  ここまで登録し終えたら、各種プラットフォーム向けにビルドを実行します。
  以下のリンクを元に、各種プラットフォーム向けビルドを実行してください。

     Windows 版 はこちら。

     MacOSX & macOS Sierra 版 はこちら。

     Android 版はこちら。

     iOS 版はこちら。


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

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

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

  実行すると、テキストボックスとボタンが3つ表示されます。
テキストボックス ルーム名を入力します。デフォルトで「roomName」としています。
Create Room ボタン 上記テキストボックスで入力したルーム名で、ルームを作成します。
Join Room ボタン 現在作成済みの、入室可能なルームの中から、ランダムで選択して入室します。(ランダムマッチング)
  実行バイナリ、Unityエディタのいずれか一方で、任意の名前でルームを作成してみましょう。
  すると、もう一方で、作成したルームのルーム名と同名のボタンが現れます。
  このボタンを押すことで、該当するルームに入室することも可能です。(ルーム選択型のプレイヤーマッチング)
  また、Join Room ボタンでは、現時点で存在するルームの中からランダムに入室します。(ランダムマッチング)
  ルームを作成・入室すると、以下のような表示がなされます。
     ・ 自身のプレイヤー ID, ルーム名, 現在のルームの人数, ルーム入室の許可/拒否設定が表示されます。
     ・ Leave Room ボタンで、ルームから退室することが出来ます。
     ・ (ホストのみ) Start Game ボタンでゲームを開始することが出来ます。
  また、この段階から、ルームから離脱しない限り、同一ルームに存在するプレイヤーに対してボイスチャットを実行することができます。
  確認を終えたところで、Start Game ボタンを押してみましょう。
  UnityEditor側ではカーソルキーでSDユニティちゃんを動かすことができます。
    ※ Android / iOS 端末の場合、入力インタフェースには現時点で対応していないため、端末側からのSDユニティちゃんの操作は出来ません。
    ※ UnityEditor/Windowsバイナリ/MacOSバイナリ による、オブジェクトの位置・姿勢・アニメーション同期は全端末で確認できます。
    ※ スクリーンショットの取得タイミングの都合で画像では値が違っていますが、制限時間(Rest Frame)も同期しています。

  プレイ中に関しても、ルームから離脱しない限り、同一ルームに存在するプレイヤーに対してボイスチャットを実行することができます。


断線検知からの再接続処理

断線検知画面

  断線を検知すると、以下のようなポップアップウィンドウが表示されます。
  この時点で断線していますので、断線したルームに対するボイスチャットの機能も失われます
  「Yes」を選択すると、再接続し、切断前の状況から再開できます。再開し、同一ルームに入室処理を自動的に終えたところで、ボイスチャットが再開できます
  「No」を選択すると、切断し、最初の画面に戻ります。