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