多个叠加场景

构建设置中,删除所有场景,并按以下顺序添加Scenes文件夹中的两个场景:

  • 主场景(Main)

  • 游戏场景(Game)

在编辑器中打开主场景,确保多场景网络管理器(MultiScene Network Manager)中的游戏场景字段包含游戏场景。这通常已经默认设置好了,但如果在将场景放入构建设置列表之前打开并保存了主场景,可能会意外清除游戏场景字段。

多场景网络管理器

多场景网络管理器派生自基本网络管理器,负责附加加载子场景实例,并将玩家放置在各自的子场景实例中,并初始化玩家的同步变量。它有一个游戏场景字段,用于指定游戏子场景,以及一个实例字段,用于设置服务器上加载多少个实例。

此外,NetworkManager对象具有场景兴趣管理组件。

在此示例中,子场景实例在服务器上使用localPhysicsMode = LocalPhysicsMode.Physics3D进行附加加载。物理子场景不会自动模拟,因此每个场景都有一个带有通用PhysicsSimulator脚本的游戏对象。此脚本在客户端上不起作用,只在服务器上起作用。

客户端只会加载一个附加的子场景实例(不带localPhysicsMode),而服务器会加载所有子场景实例。

在实例中进行游戏

文件 -> 构建并运行

至少启动3个已构建的实例:这些都将是客户端玩家。

在编辑器中点击播放,然后在 HUD 中点击主机(服务器 + 客户端)- 这将是主机和第一个玩家。您也可以选择仅服务器

在已构建的实例中点击客户端

  • 使用 WASDQE 键移动和转动您的玩家胶囊,空格键跳跃。

  • 与小彩色球碰撞会根据它们的颜色得分。

  • 与较大的滚筒碰撞会使它们滚动...它们是服务器端的非动力学刚体。

  • 只有在同一子场景中的玩家的得分才会显示在游戏窗口顶部。

最后更新于

这有帮助吗?