Multi-Peer Mode
概要
Multi-Peerモードは、Fusionシミュレーション、Physicsシーン、ネットワーク接続、シーンを持つ完全に独立した複数のゲームインスタンスを、1つのUnity Editorインスタンス内にインスタンス化することができます。
Multi-peer モードは、Unity Editor トップメニューから、Fusion > NetworkProjectConfig を選択し、Peer Mode を Multiple に設定することで有効にすることができます。
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 メニューで開くことができます。
表示されている各 NetworkRunner 名を選択すると、その NetworkRunner インスタンスをシーンにPing/選択することができます。
NetworkRunner名の横には、NetworkRunner.PlayerRef.PlayerIdが表示されます。もし、NetworkRunnerにPlayerObjectがアサインされている場合は、これをクリックするとそのプレイヤーのGameObjectをシーンにPing/選択することができます。
RunnerVisibilityNodes コンポーネント
このコンポーネントは、Components欄にリストされた各コンポーネントに対して、自動的に RunnerVisibilityNode コンポーネントを追加します。これらのコンポーネントは、Multi-Peer モードで動作している場合、有効なインスタンスは1つ以下に制限されます。これは、AudioListeners や EventSystems など、Unity がシングルトーンであることを意図しているコンポーネントにとって特に重要なことです。
優先ランナー
複数の NetworkRunners がアクティブな場合に、どの Runner ピアタイプを優先して表示するかを選択します。
コンポーネント
現在シングルインスタンス専用としてフラグが立っているコンポーネントです。ここにあるコンポーネントは、1 つのピア以外では無効化されます。
Back to top