This document is about: FUSION 2
SWITCH TO

マルチピアモード

概要

Multi-Peerモードは、Fusionが完全に独立した複数のNetworkRunnerインスタンスを、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インスタンスから複数のゲームセッションを提供する専用サーバーとなる。
  • 複数のゲームセッションに同時に接続できるクライアントとなる。

ネットワークランナーの可視性

NetworkRunnerの可視性はMulti-Peerモードにのみ適用されます。デフォルトではすべてのピアが表示されます。シーンがロードされたり、オブジェクトがスポーンされると、それらは NetworkRunner のビジビリティシステムに登録されます。

RunnerEnableVisibility コンポーネント

重要: 可視性をコントロールするには、NetworkRunner GameObject/prefab に RunnerEnableVisibility コンポーネントを追加する必要があります。このコンポーネントが NetworkRunner に存在すると、接続されているすべての NetworkObject (スポーンされたものとシーンの NetworkObjects の両方) がメイクアップとみなされるコンポーネントをスキャンし、それらのコンポーネントがそのRunnerに関連付けられたリストに追加されます。これらのアイテムは、NetworkRunner.SetVisibility(bool) メソッドによって有効/無効にされます。

GetVisible() と SetVisible(bool)

Multi-Peer モードで実行している場合、NetworkRunner.SetVisible(bool) は、その NetworkRunner に関連付けられたすべてのレンダリング/オーディオ/その他のコンポーネントを有効/無効にします。これにより、開発者はランナーのコード実行に影響を与えることなく、ランナーに関連付けられたGameObjectを隠したり見せたりすることができます。

EnableOnSingleRunner コンポーネント

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

runner visibility nodes
ランナーの可視性ノード
すべてのランナーは互いに完全に独立していることを意図しています。そのため、シミュレーションに影響を与えるものについては、静的変数とシングルトンは避けることを強くお勧めします。絶対にそうしなければならないわけではありませんが、複数の NetworkRunner インスタンスを実行する場合(つまり、Multi-peerモードを使用する場合)、静的変数とシングルトンが競合します

優先ランナー

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

コンポーネント

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

Runner Visibility Controlウィンドウ

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

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

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

runner visibility controls
Runner Visibility Controls.

表示されている NetworkRunner の名前を選択すると、シーン内の NetworkRunner インスタンスをピン留め/選択することができます。

NetworkRunner.PlayerRef.PlayerIdは、NetworkRunner名の横に表示されます。PlayerObjectNetworkRunnerに割り当てられている場合、これをクリックすると、シーン内のそのプレイヤーのGameObjectをピン/選択します。

Back to top