UE4蓝图:无法使播放器“死亡”在客户端上复制,仅在服务器上

问题描述

虚幻引擎4.22.3,它是一个监听服务器

我对知道哪些蓝图存在于何处以及谁拥有什么拥有信心。似乎我无法决定如何使服务器复制客户端所做的事情,因此,我非常感谢在理解这一点上的一些帮助。

在Player Controller BP中,当我单击鼠标左键时,我会在鼠标光标下跟踪其他玩家。如果找到了玩家角色,我想在玩家角色BP中运行“死亡”事件。当复制由主机运行时,复制工作正常,但是当客户端单击另一个播放器时,该事件仅在客户端发生。实际上,我认为它应该可以正常工作。

我该如何正确执行?我很确定我在这里一定做错了。

编辑:当客户单击自己的角色时,播放器“死亡”实际上可以很好地复制。仅当一个客户端单击不同于他自己的字符时,该字符才不会复制到服务器,也不会复制到其他客户端。

Player Controller BP

Player Character BP

解决方法

来自Replicating Functions in Blueprints

有3种主要类型的复制功能:多播,在服务器上运行和在拥有的客户端上运行。应当在执行它们的服务器上调用多播功能,然后将其自动转发给客户端。服务器功能由客户端调用,然后仅在服务器上执行。客户端函数由服务器调用,然后仅在拥有的客户端上执行。

PlayerController需要调用在服务器上运行函数,以便该PlayerController的服务器版本可以更新权威信息,然后通过复制属性的组合将其发送回所有客户端。和客户端功能(在这种情况下可能是多播)。