このページは編集中です。更新が保留になっている可能性があります。

Multi-Peer Mode

概要

Multi-Peerモードは、Fusionシミュレーション、Physicsシーン、ネットワーク接続、シーンを持つ完全に独立した複数のゲームインスタンスを、1つのUnity Editorインスタンス内にインスタンス化することができます。

Multi-peer モードは、Unity Editor トップメニューから、Fusion > NetworkProjectConfig を選択し、Peer ModeMultiple に設定することで有効にすることができます。

Add Fusion Stats
NetworkProjectConfigでMulti-Peerモードを選択

1つのUnityインスタンスで複数のピア(NetworkRunners)を実行する機能により、以下のことが可能になります。 - 複数のビルドを作成したり、追加のUnityエディタインスタンスを実行することなく、エディタで複数のクライアントをテスト。 - 1つのUnityインスタンスから複数のGame Sessionsを提供できる専用サーバー。 - 複数のゲームセッションに同時に接続できるクライアント。

トップに戻る

NetworkRunner の可視性

NetworkRunner の可視性は、Multi-Peerモードにのみ適用されます。デフォルトでは、すべてのピアが表示されます。シーンが読み込まれたり、オブジェクトが生成されると、それらは NetworkRunner の可視性システムに登録され、レンダラーやオーディオソースなど、与えられたピアに対して可視性を構成するコンポーネントが自動的に検出されます。

NetworkRunner.IsVisible

Multi-Peer モードで実行している場合、NetworkRunner.IsVisible は登録されたすべてのレンダリング/オーディオコンポーネントを有効/無効にします。これにより、コードの実行に影響を与えることなく、ランナーを隠したり見せたりすることができます。

Visibility は、NetworkRunner.IsVisible プロパティを設定することで、コードから制御することができます。

トップに戻る

Runner Visibility Control

Runner Visibility Controls ウィンドウは、ランナーを表示/非表示にしたり、どのランナーがユーザーの入力を集めるかを制御するためのツールです。また、有効なランナーに対して新しい FusionStats オーバーレイを作成するためのクイックアクセスボタンもあります。

ランナー名のボタンを選択すると、シーン内の関連するランナーに ping が送信されます。

このウィンドウは、Fusion > Windows > Runner Visibility Controls メニューで開くことができます。

Runner Visibility Controls
Runner Visibility Control

表示されている各 NetworkRunner 名を選択すると、その NetworkRunner インスタンスをシーンにPing/選択することができます。

NetworkRunner名の横には、NetworkRunner.PlayerRef.PlayerIdが表示されます。もし、NetworkRunnerPlayerObjectがアサインされている場合は、これをクリックするとそのプレイヤーのGameObjectをシーンにPing/選択することができます。

トップに戻る

RunnerVisibilityNodes コンポーネント

このコンポーネントは、Components欄にリストされた各コンポーネントに対して、自動的に RunnerVisibilityNode コンポーネントを追加します。これらのコンポーネントは、Multi-Peer モードで動作している場合、有効なインスタンスは1つ以下に制限されます。これは、AudioListenersEventSystems など、Unity がシングルトーンであることを意図しているコンポーネントにとって特に重要なことです。

Runner Visibility Nodes
Runner Visibility Nodes

すべてのランナーは互いに完全に独立していなければなりません。したがって、シミュレーションに影響を与えるものについては、静的変数やシング ルトンを避けることが強く推奨されます。必ずしも必要ではありませんが、複数の NetworkRunner インスタンスを実行する場合(Multi-Peer モードを使用する場合)、静的変数とシングルトンはコンフリクトが発生することがあります。

トップに戻る

優先ランナー

複数の NetworkRunners がアクティブな場合に、どの Runner ピアタイプを優先して表示するかを選択します。

トップに戻る

コンポーネント

現在シングルインスタンス専用としてフラグが立っているコンポーネントです。ここにあるコンポーネントは、1 つのピア以外では無効化されます。

トップに戻る

Network Conditions

遅延とロスの組み込みシミュレーションを有効にします。この設定は、Fusion > Network Project ConfigNetwork Conditionsセクションで確認することができます。これはMulti-Peerモードでのテストに有効です。ローカルでの遅延や 損失はほとんど発生しませんが、これは現実的でありません。Network Conditionsオプションは、FusionデバッグDLLを使用している場合のみ有効です。

また、Windowsユーザーの方は、Clumsyというサードパーティーのユーティリティをダウンロードして使用することで、ローカルでのレイテンシーとロスをシミュレートすることができます。

Network Conditions
意図的に遅延や損失を発生させるためのNetwork Conditions設定。

注意:これらは、Fuson Debug DLL を使用する場合のみ利用可能です。

ドキュメントのトップへ戻る