跳到主要内容
实时游戏

本页尚未翻译,当前显示英文版本。

谁看到什么,由哪台机器运行

听起来像一个问题,其实是两个。 谁看到什么关乎客户端:房间状态的哪一部分送达哪个玩家。由哪台机器运行关乎主机:哪个进程拥有某个实体,下一个接手的又是谁。把两者混为一谈的词是复制:在游戏引擎里它通常指前者,在这里指后者。

你想问的是阅读
哪个客户端收到哪些状态、收到多少Visibility,以及 Data & Subscriptions 和 Prediction & Lag Comp
哪台机器拥有实体,机器宕掉后会怎样主机失联后还剩什么

两者在不同的地方声明

两者都不在运行时配置,也不共用同一个声明。

声明位置声明内容
谁看到什么aspect:Data & Subscriptions、Visibility可见性谓词、对象上限及其排序、哪些相邻区域可见,以及投递模式
由哪台机器运行房间类型:Rooms权威模式、对外部权威上报的结果信任到什么程度,以及主机掉线时的行为

什么都不声明时,两者的结果也不同。没有自己可见性规则的 aspect 通过共享数据包投递,这是默认行为,适合小房间。没有指定权威模式(authority mode)的房间类型会被拒绝:这里没有默认值,因为没有谁能替你在平台模拟和外部权威之间做选择。