Play In Editor (PIE) プレビュー モードは複数のワールドを使用したテストをサポートしているため、ネットワーク プレイをテストすることができます。このエディタは、Unreal Engine のロード済みのインスタンス内で複数のワールドをスポーンするため、イテレーション時間が短縮され、各ワールドのブループリントをデバッグすることができます。
ネットワーク テストをセットアップする
レベル エディタのツールバー または ブループリント エディタのツールバー の [Play In (プレイ イン)] ドロップダウン メニューで、プレイ イン エディタ (PIE) セッションを開始するときに作成するクライアント ワールドの数を設定できます。また、専用サーバーを稼働させるかどうかも指定することができます。
[Number Of Players (プレイヤー数)] フィールドを使用すると、テストするプレイヤーの総数を指定することができます。
次に、使用する [Net Mode (ネット モード)] を選択します。
オプション | 説明 |
---|---|
Play Standalone (スタンドアローンでプレイ) | スタンドアローン ゲームを作成します。このオプションでは、専用サーバーを作成しません。bLaunchSeparateServer を有効にすることで、サーバーを作成できます。 |
Play As Listen Server (Listen サーバーとしてプレイ) | サーバーとクライアントの両方として機能するセッションを作成します。クライアント数に応じて、さらにインスタンスを追加することができます。 |
Play As Client (クライアントとしてプレイ) | クライアントとして機能するセッションを作成します。専用サーバーはバックグラウンドで起動されます。 |
[Number Of Players] フィールドを「1」に設定し、[Net Mode] を [Play Standalone (スタンドアローンでプレイ)] に設定すると、Play In Editorセッションはスタンドアロン、非ネットワーク ゲームプレイをテストします。
[Net Mode] が [Play As Client] に設定されている場合、専用サーバー ワールドが起動されますが、専用サーバーのディスプレイやローカル プレーヤーは存在しません。専用サーバーを使用使用すると、どのクライアントも Listen サーバーとして実行されていないことになります。専用サーバーを使用して、ローカル プレーヤーに依存するコードなど、専用サーバーのみのバグをチェックすることができます。サーバーとクライアントに依存する機能を持つブループリントの基本的なテスト構成では、[Number of Players] を「1」に設定し、[Play as Client] を選択した状態にします。これにより、プレイをテストするためのウィンドウが 1 つだけ作成されます。ただし、このウィンドウは、専用サーバーに接続されたクライアントの完全な機能を備えています。
これらのオプションを設定した後、希望の Play In Editor モードを選択し、ゲームプレイのテストを開始します。クライアントのワールドが複数あり、Play In Editor セッションで [Viewport (ビューポート)] 表示オプションを選択した場合は、ビューポートには クライアントのワールドが 1 つ表示され、その他のワールドは新しいウィンドウで表示されます。以下の画像は、4 人のプレーヤーと専用サーバーを使用したテストです。
詳細設定
クライアントのワールドの数、専用サーバーを使用するかどうかは、レベル エディタ - プレイ イン エディタ (PIE) の設定 ウィンドウでも設定できます。ここでは、プレビュー セッションに送信されるコマンドライン オプションも指定できます。
設定 | 説明 |
---|---|
Launch Separate Server (別のサーバーを起動) | ネット モードでサーバーが必要ない場合でも別のサーバーを起動します。これを使用して、オフライン ゲームからサーバーに接続することで、--> オフライン サーバーのワークフローをテストできます。 |
Play Net Mode (プレイ ネット モード) | プレイ イン エディタ (PIE) セッションで使用するネット モードを設定します。
|
Run Under One Process (1 つのプロセス下で実行) | Unreal Engine の単一のインスタンスで、マルチプレイヤー ウィンドウをスポーンします。これは、ロードはきわめて迅速ですが、各ゲーム インスタンスが独自のプロセスで実行される、プレイヤーの典型的なランタイム環境ではありません。 |
Show Server Debug Drawing by Default (サーバーのデバッグ描画をデフォルトで表示) | エディタでプレイ中に専用サーバーからデバッグ レンダリングを行います。 |
Server Debug Drawing Tint Strength (サーバー デバッグ描画の色合いの強さ) | 選択したティント カラーに対するデバッグ描画の色のバイアスを制御します。 |
Server Debug Drawing Color Tint (サーバー デバッグ描画の色合い) | サーバー デバッグ描画のティント カラーを選択します。 |
Enable Network Emulation (ネットワーク エミュレーションの有効化) | ゲームでネットワーク問題がどのように処理されるかをテストする目的でゲームを開始する際に、選択したネットワーク エミュレーション設定を適用します。
|
Client (クライアント) | 選択したクライアント設定をゲームの開始時に適用します。
|
Server (サーバー) | 選択したサーバー設定をゲームの開始時に適用します。
|
ブループリントをデバッグする
ブループリント エディタ には、複数のワールド シナリオを実行するときにデバッグするワールドを選択するための追加のドロップダウン メニューがあります。
ワールド リストで選択されたワールドで、アクタ リストのアクタがフィルターされます。たとえば、[All Worlds (すべてのワールド)] が選択されている場合は、他のドロップダウン リストにすべてのワールドのアクタが表示されます。ワールドを 1 つだけ選択すると、そのワールド インスタンスのアクタのみを表示することができます。
これはブレークポイントにも影響します。たとえば、デバッグ ワールドをクライアント 1 に設定すると、クライアント 1 のワールドにあるアクタに対してのみブレークポイントがトリガーされるようになります。
プレビュー ウィンドウのクライアント番号は、ウィンドウ タイトルで確認できます。たとえば、上記のネットワーク プレイの画像では、1 つのウィンドウのタイトルが LyraStarterGame Preview [NetMode Client 1] です。
[All Worlds] が選択されている場合、どのワールドでもブレークポイントをトリガーすることができます。