使用 Photon Unity Network 在 Unity 中进行实时同步(多人游戏)

Real time sync in Unity using Photon Unity Network(multiplayer)

我正在开发一个演示项目,我在其中使用 Unity 3D 和 Photon Unity 网络 (PUN) 进行实时游戏。

顶部面板中的人是敌方单位,由另一名玩家控制,该玩家对左下角的玩家造成伤害(剩余 1/3 生命值)。 然而,右下角的人是治疗师,可以治疗左下角的玩家(均由本地玩家控制)。

这是我的问题!因为它不是回合制的,必须实时发生。我该如何设计我的多人游戏系统?我以前从事过回合制游戏,我只是传递索引并在远程播放器中反映本地发生的事件。

但是这里图片有延迟,不知道怎么办! 我想做的是,让治疗师在玩家被远程玩家攻击之前在本地以及远程玩家的 phone 上治疗玩家,或者在治疗师可以治愈他的 hp 之前杀死玩家,具体取决于时间戳事件发生并在两个设备上反映出来。

我认为您对某些双关语网络功能感到困惑。

如果治疗师治愈了您的本地玩家,那么您本地玩家的远程实例也会如此。你的治疗系统当然必须是联网的,确保你通过我们的基础教程来学习如何实现一个简单的健康系统。

https://doc.photonengine.com/en-us/pun/v2/demos-and-tutorials/pun-basics-tutorial/player-networking#health_synchronization

比健康管理稍微复杂一点的是本地玩家和治疗师之间的切换。为此,您有两个主要变体。

  1. 在玩家和治疗者之间转移所有权:https://doc.photonengine.com/en-us/pun/v1/demos-and-tutorials/package-demos/ownership-transfer(这是一个v1演示,但原则仍然适用于v2)

  2. 有一个隐身网络玩家,在你的游戏中使用你自己的逻辑,让玩家匹配这个隐身网络玩家或者治疗师匹配它。