C# 使用镜像的统一地图/战斗系统(类似Dofus)

C# 使用镜像的统一地图/战斗系统(类似Dofus),c#,unity3d,networking,scene,mirror,C#,Unity3d,Networking,Scene,Mirror,我一直在思考使用镜像实现“地图”系统的最佳方法(如DOFUS)(看看是否有人想在前30/40秒了解我所说的内容) 每个地图都将是一个场景。玩家只能在同一地图上看到/与其他玩家聊天(因此是同一场景) 现在战斗的问题来了:玩家可以和NPC开始战斗。玩家和NPC将在战斗中消失(在其他玩家客户端中)。但这仍然发生在相同的地形、相同的网格上。 因此,我考虑了几种解决方案: 让每一场战斗发生在另一个场景中,在运行时创建?但这似乎太过分了 Z-堆叠玩家和怪物,并在运行时创建另一个地形(因此它将在同一场景中,仅

我一直在思考使用镜像实现“地图”系统的最佳方法(如DOFUS)(看看是否有人想在前30/40秒了解我所说的内容)

每个地图都将是一个场景。玩家只能在同一地图上看到/与其他玩家聊天(因此是同一场景)

现在战斗的问题来了:玩家可以和NPC开始战斗。玩家和NPC将在战斗中消失(在其他玩家客户端中)。但这仍然发生在相同的地形、相同的网格上。
因此,我考虑了几种解决方案:

  • 让每一场战斗发生在另一个场景中,在运行时创建?但这似乎太过分了
  • Z-堆叠玩家和怪物,并在运行时创建另一个地形(因此它将在同一场景中,仅在Z轴上更远的位置,以便其他玩家在战斗中看不到玩家和NPC)
  • 为场景中的其他玩家禁用战斗中玩家和NPC的网络可见性

  • 关于如何进行下去,有什么建议吗?

    < P> >我会想到一个新的场景——如果你在同一个地图上有1000个人在战斗中怎么办?我认为最好是保存玩家坐标,加载一个场景,进行战斗,破坏场景,把玩家扔回原来的坐标