网络大厅管理器Unity3D中的不同预制件

时间:2015-12-28 15:47:11

标签: c# unity3d unity5 unity-networking

我想让每个客户在大厅选择他们的播放器预制件,当游戏开始时我想要为客户端实例化所选的预制件。我在LobbyManager中定义了变量,但它不起作用。它始终与同一主机。我该如何解决这个问题?

这是我的代码:

 public override GameObject OnLobbyServerCreateGamePlayer(NetworkConnection conn, short playerControllerId)
    {
        Debug.LogError(playerPrefabIndex + "Ins Index");
        GameObject playerPrefab = (GameObject)Instantiate(spawnPrefabs[playerPrefabIndex]);
        NetworkServer.Spawn(playerPrefab);
        return playerPrefab;
    }

1 个答案:

答案 0 :(得分:0)

为了解决这个问题,我在没有模型的情况下实例化预制件并通过syncvar传递预制件ID,然后在附加到所有客户端上的玩家对象的脚本中调用SetModelById()。