今、私はマルチプレイヤーゲームをプレイしています。プレーヤーは、一定量のバブルを持つ他のプレイヤーに発射物を発射します。一度プレイヤーがすべての泡を失うと、彼らは負けます。UNETの他のプレイヤーの子オブジェクトを破壊するには?
以前の問題は、1つの画面で最初のプレーヤーが2番目のプレーヤーのバブルを撃つことができたということでしたが、2番目のプレーヤーの画面上のすべてのバブルがポップされるわけではないため、何とかネットワーク。
私が見ている問題は、NetworkServer.DestroyがNetworkIdentityによって破壊しようとするGameObjectを見つける必要がありますが、ルートPlayer GameObjectだけがNetworkIdentityコンポーネントを持っていることです。プレーヤーの子オブジェクトの破棄を同期できる最善の方法は何ですか?
私はネットワークに精通していませんが、ここでは解決策を提案しています。 https://docs.unity3d.com/Manual/UNetActions.html 各子オブジェクトに固有の非ネットワークIDを付与し、リモートアクション呼び出しを行うことができます(リンクを参照)。これにより、各クライアント/サーバーはオブジェクトを破壊し、一種の独自のNetworkServer.Destroy呼び出しを作成します。 – Doh09