在网络上实例化播放器时遇到问题

Having trouble instantiating players on network

我正在尝试制作一款非常简单的多人平台类游戏。直到最近,我只有主场景可以自动创建或加入一个固定的房间。 运行 游戏会自动加入并实例化的所有玩家,此时一切正常。
现在,我正在尝试添加一个能够创建个人房间或加入现有房间的标题场景。在 creating/joining 一个房间后,您将转到我之前使用过的主场景。这适用于一个明显的问题。在您之前加入的玩家不会出现在您面前。在您之后加入的任何人都是可见的,并且您对在您之前加入的任何人都是可见的。

在您加入房间后的主场景中,您的角色实例化为:

PhotonNetwork.Instantiate(playerPrefabName,
                          spawnPoint.position,
                          Quaternion.identity,
                          0);

所以当前游戏中的所有玩家都应该在网络上实例化,因此在您的游戏中,为什么不是这样?

提前致谢。

编辑:我最终解决了自己的问题(下面的答案)。我会将问题再开放 24 小时左右,以防万一有人有更好的解决方案或我的解决方案不好的原因,之后我会将我的答案标记为解决方案。

我最终解决了自己的问题。我想出的解决方案是(通过全局静态)将房间名称传递给 create/join,然后在新场景的 NetworkManager 中将其用于 create/join 房间。这似乎解决了我的问题