修改变量的“复制”属性要选择以下这个。
目的是确保游戏状态中客户端和服务器已同步。
参考资料:
在Unreal Engine中,"复制"(Replication)是指确保游戏状态在网络中的多个客户端和服务器之间保持同步的过程。当你在游戏中创建一个变量时,这个变量的值默认情况下只存在于创建它的那个实例(例如,客户端或服务器)中。如果你想要这个变量的值能够在网络上的其他实例中被读取和同步,就需要将这个变量设置为“复制”的。
如果一个变量没有被设置为“复制”,那么以下情况会发生:
服务器上的变量:如果这个变量是在服务器上更改的,那么它的新值只会在服务器上存在。客户端将不会知道这个变量的值已经更改,除非有其他机制(比如通过网络消息)将这个值发送给客户端。
客户端上的变量:如果这个变量是在客户端上更改的,那么它的新值只会在该客户端上存在。服务器和其他客户端都不会知道这个变量的值已经更改,因为这个变量的值并没有通过网络发送给它们。
当你将一个变量设置为“复制”时,Unreal Engine的网络系统会自动处理这个变量值的网络同步。服务器会将这个变量的值发送给所有连接的客户端,以确保所有玩家都看到相同的游戏状态。这对于多人游戏来说非常重要,因为它确保了所有玩家都在同一个“现实”中游玩,即他们看到并互动的游戏世界是一致的。
总结一下,不选择“复制”意味着变量的值不会自动在网络中同步,这就是为什么在没有设置为“复制”的情况下,服务器读取不到客户端修改后的值。通过启用复制,你就告诉Unreal Engine这个变量是网络游戏中的重要部分,需要在所有连接的实例(客户端和服务器)之间同步。