【问题标题】:Unity Photon Player InstantiationUnity Photon Player 实例化
【发布时间】:2019-08-07 11:11:59
【问题描述】:
我有一个 SteamVR Unity 项目,我正在将其转换为多人游戏。
当另一个客户端加入游戏时,不是两个不同的玩家看到彼此,而是每个玩家都有自己的游戏版本,在其中他控制所有玩家实例。
例如,当一个玩家连接时,一切都很好,但是当第二个玩家加入时,游戏只会添加另一个玩家预制件,由第一个玩家控制。
我尝试用一个简单的立方体替换播放器,一切似乎都很好。
Player 和立方体都有 Photon Transform View 和 Photon View 脚本。
如果能得到任何帮助,我将不胜感激。
【问题讨论】:
标签:
unity3d
networking
multiplayer
virtual-reality
photon
【解决方案1】:
当您从 PUN 开始时,这是一个常见问题。您可能设置了一个带有网络同步的播放器预制件,并为每个播放器实例化它。实例上的所有脚本都将作用于本地输入,这就是您现在看到的。
您需要预制件的两种变体,用于本地和远程表示。由于始终配置两个预制件是不切实际的,因此您构建一个将自身(在 Awake 或 Start 中)初始化为本地或远程的预制件。您的脚本应检查对象的 PhotonView 是否为 .isMine。
这可以按组件完成(在每个不同的脚本中),或者您可以添加一个组件来启用/禁用 GameObject 上的脚本,具体取决于 isMine。
例如The Basics Tutorial does this。