【问题标题】:Different Prefab for each new connected client?每个新连接的客户端都有不同的 Prefab?
【发布时间】:2021-10-22 13:25:45
【问题描述】:

试图让第二个加入服务器的玩家收到不同的预制件。 这就是我认为可以完成这项工作的方法:

public class CustomNetwork : NetworkManager
{
    public Transform player1Position;
    public Transform player2Position;
    public GameObject player1Prefab;
    public GameObject player2Prefab;

    public override void OnServerAddPlayer(NetworkConnection conn)
    {
        if (numPlayers == 0)
        {
            Transform start1 = player1Position;
            GameObject player1 = Instantiate(player1Prefab, start1.position, start1.rotation);
            NetworkServer.AddPlayerForConnection(conn, player1);
        }
        else
        {
            Transform start2 = player2Position;
            GameObject player2 = Instantiate(player2Prefab, start2.position, start2.rotation);
            NetworkServer.AddPlayerForConnection(conn, player2);
        }
    }
}

但结果我可以在主机客户端看到 2 个不同的玩家(并且可以移动玩家 1),但在连接的客户端上我看到 0 个玩家,不是我的,也不是主机。

这是我收到的错误:

【问题讨论】:

    标签: unity3d networking mirror


    【解决方案1】:

    正如错误所说,您需要在 NetworkManager (spawnPrefabs) 中引用两个预制件。

    【讨论】:

      猜你喜欢
      • 2019-03-23
      • 1970-01-01
      • 2015-08-27
      • 1970-01-01
      • 2012-01-18
      • 2019-09-30
      • 2012-06-23
      • 2020-12-31
      • 2014-11-07
      相关资源
      最近更新 更多