主机可以在所有客户端屏幕上生成对象,而客户端只能在其屏幕上生成对象客户端无法在服务器上生成对象

问题描述

我正在制作的游戏的主机可以通过服务器生成对象,游戏中的每个人都可以看到,包括主机。然而,当客户端尝试生成一个对象时,该对象仅在客户端屏幕上可见,即使两个玩家的生成功能完全相同。代码如下:

public GameObject Bullet;
public GameObject Cube;
public NetworkIdentity netid;
[Command]
public void Cmdspawn(Vector3 Pos,string name,Quaternion Rot)
{
    
    Debug.Log(name + " " + "spawned");
    GameObject go = (GameObject)Instantiate(Resources.Load<GameObject>("bullet"),Pos,Rot);
    NetworkServer.SpawnWithClientAuthority(go,netid.connectionToClient);
    
}

[Command]
public void BulletSpawn(Vector3 Pos,Quaternion Rot)
{

    Debug.Log("Bullet Spawned");
    GameObject go = Instantiate(Bullet,netid.connectionToClient);

}

[Command]
public void CubeSpawn(Vector3 Pos,Quaternion Rot)
{

    Debug.Log("Actual Cube Spawned");
    GameObject go = Instantiate(Cube,netid.connectionToClient);

}

我尝试在每个对象的网络标识上选中和取消选中 localplayerauthority 和 serveronly 框,但都无济于事。我不知道为什么会这样……有人可以帮忙吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...