RandomMatchingサンプル

目次

  概要
  ライトの輝度の調整
  複数クライアント動作のための準備
  アプリケーションの作成
  複数クライアントで動作させてみる


概要

「ルーム選択型のプレイヤーマッチング」の完成サンプルです。

  本サンプルは、ドキュメントに記載されている「MUN クライアントの主要機能」にある、
  ルーム選択型のプレイヤーマッチング について組み込んだ完成サンプルです。


ライトの輝度の調整

Directional light for UnityChan の輝度を低くする

  Unity5 以降のバージョンを使っている場合、本サンプルを動作させる場合、SDUnityChanの輝度が高くなってしまいます。
  そのため、ライトの輝度を低くしましょう。

  project ビューから Assets/Monobit Unity Networking/Samples/Scenes/RandomMatching/OfflineScene.unity を
  ダブルクリックして開きます。
  hierarchy ビューから、「Directional light for UnityChan」を選択します。
  Inspector にある Light の項目内の「Intensity」について、2 から 1 に変更してください。
  同様に、project ビューから Assets/Monobit Unity Networking/Samples/Scenes/RandomMatching/OnlineScene.unity を
  ダブルクリックして開きます。
  以下のようなダイアログが表示されたら [Save] を選んでください。
  先ほどと同様に、hierarchy ビューから、「Directional light for UnityChan」を選択します。
  先ほどと同様に、Inspector にある Light の項目内の「Intensity」について、2 から 1 に変更してください。


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

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

  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/RandomMatching/OfflineScene.unity を追加します。
  (他に登録されているシーンファイルがある場合、Scene In Build 内のチェックボックスで外すか、Scene In Build 内のリストから削除してください)

  同様の方法で、Assets/Monobit Unity Networking/Samples/Scenes/RandomMatching/OnlineScene.unity を追加します。
  2つのシーンファイルを登録し終わったところで、Build Settings ウィンドウ内の右下にある [ Build ] のボタンを押します。
  ここでビルドしますが、ビルド方法が Unity2018.2 以前と Unity2018.3 以降で異なりますので、
  お使いの Unity のバージョンに合わせて、以下のいずれかを選択してビルドしてください。

  ファイル名を RandomMatching.exe として保存します。
  しばらく待つと、新規ファイル RandomMatching.exe が出来上がります。



  まず「新しいフォルダー」をクリックし、新規フォルダを作成します。
  新規に作成したフォルダーに名前を付けます。ここでは「RandomMatching」としましょう。
  フォルダに「RandomMatching」が選択された状態で、[フォルダーの選択] ボタンを押下します。
  ボタンを押すとビルドが開始され、さらにしばらく待つと、先ほど作成したRandomMatching フォルダ内に「MUN_TEST.exe」が作成されます。


複数クライアントで動作させてみる

実行バイナリとUnityエディタの両方を使って、マルチプレイ動作確認を行なう

  実行バイナリをダブルクリックすると、以下の画面が出現します。
  お使いのディスプレイ解像度よりも低いスクリーンサイズで、かつウィンドウモードを有効にした状態で、[ Play! ]ボタンを押してください。
  一方で、Unityエディタ上の実行ボタンも押します。
  実行バイナリ、Unityエディタともに以下のような画面に切り替わります。
  テキストボックスとボタンが3つ表示されます。
テキストボックス ルーム名を入力します。デフォルトで「roomName」としています。
Create Room ボタン 上記テキストボックスで入力したルーム名で、ルームを作成します。
Join Room ボタン 現在作成済みの、入室可能なルームの中から、ランダムで選択して入室します。(ランダムマッチング)
  実行バイナリ、Unityエディタのいずれか一方で、任意の名前でルームを作成してみましょう。
  すると、もう一方で、作成したルームのルーム名と同名のボタンが現れます。
  このボタンを押すことで、該当するルームに入室することも可能です。(ルーム選択型のプレイヤーマッチング)
  また、Join Room ボタンでは、現時点で存在するルームの中からランダムに入室します。(ランダムマッチング)
  ルームを作成・入室すると、以下のような表示がなされます。
     ・ 自身のプレイヤー ID, ルーム名, 現在のルームの人数, ルーム入室の許可/拒否設定が表示されます。
     ・ Leave Room ボタンで、ルームから退室することができます。
     ・ (ホストのみ) Start Game ボタンでゲームを開始することができます。
     ・ (ホストのみ) Switch Host ボタンでホスト権限を他のルーム内プレイヤーに移譲することができます。
  確認を終えたところで、Start Game ボタンを押してみましょう。
  カーソルキーでSDユニティちゃんを動かすことができます。オブジェクトの位置・姿勢・アニメーション同期も取れていますね。
  (スクリーンショットの都合で値が違っていますが、制限時間(Rest Frame)も同期しています。)