UNET を使用しているときに、次のエラーの違いの原因を突き止めようとしています。
マルチプレイヤー機能をテストするために、プロジェクトをエディタとアプリケーション フォームで同時に実行しています。私がテストしている機能は、発射体の作成/スポーンです。エディターをホスト、アプリケーションをクライアントにすると、ホストだけが発射物を見ることができます。ただし、エディターをクライアントに、アプリケーションをホストにすると、両方のプレイヤーが発射物を見ることができます。
これは奇妙なところです.1つのアプリケーションとエディターではなく、2つのアプリケーションで実行するときにどのような組み合わせを使用しても、ホストだけが発射物を見ることができます.
この特定の組み合わせが機能するのはなぜですか?どのようなセットアップでも機能させるにはどうすればよいですか?
スポーン コードは次のとおりです。それが問題かどうかわからない:
[Command]
public void CmdFireProjectile(Quaternion cA, Vector3 tF, string pN) {
GameObject projPrefab = Projectile.getProjectilePrefab(pN);
GameObject proj = (GameObject)Instantiate(projPrefab, new Vector3(transform.position.x, transform.position.y + .4f, transform.position.z) + tF, cA);
proj.GetComponent<Projectile>().setSource(this);
NetworkServer.Spawn(proj);
}