RPC第一部分

作者: 安宁Ken分类: 计算机技术 发布时间: 2021-09-11 22:00:27 浏览:9774 次

RPC第一部分

万程l:
up主的视频可以说是B站虚幻4教程质量最高的了

冬の暖阳ai:
在看完了视频之后,我对针对视频中20:00分钟的时候到底生成几个Actor存有疑问,后续也在程序中去测试了一遍,大家感兴趣可以看一眼。 1、起初我在使用随机数生成Actor的时候,在服务器端会生成3个Actor,这点毫无疑问,同时在游戏中复制的位置相同。在客户端我一度以为只会生成5个Actor(在第一次数图片Actor的时候,我会在下面附上图片链接,我数成了5个这点是错了,实际上是生成了6个Actor)。 2、这5个Actor我一开始理解的逻辑是,除去服务器复制过来的3个Actor即每个客户端各调用一次Spawn方法生成Actor,总共生成了5个。另外两个Actor应该在两个客户端中的位置一样,即客户端1拥有一个客户端2生成的,客户端2拥有一个客户端1生成的(其实这种说法是不对的,待我后面说) 3、在测试的时候通过Switch has authority的Remote分支(我发现在程序中Server端不会生成Actor,这点没有疑问),但是在客户端1和客户端2中,各生成了3个Actor,此时的我一脸懵逼(至于图片也会在后面附上),为什么客户端中来自于服务器的角色也会生成一个Actor? 4、想了一下,在服务器中我们会拥有3个Authority的Role角色分别来自于Server、Client1、Client2。在各自的客户端中我们会拥有来自客户端1自主的Autonomous角色和来自于服务器权限为Simulate和来自客户端2中的Simulate角色。 5、Autonomous、Simulate都属于远程Role当我们通过Remote分支的时候,其实执行的逻辑是这样的,客户端1的3个权限角色都会调用各自的Spawn方法,客户端2也一样3个角色调用各自的Simulate方法。所以说客户端1、和客户端2都会产生各自的3个Actor,但是因为调用的都是方法都是独立去调用的,所以客户端1和客户端2,每个Role角色生成的Actor位置都不会相同。 到此,我对Spawn方法到底生成了几个Actor大概已经理清楚了。

【回复】这里补充一点,之所以生成了6个Actor,不是因为在之前设置Weapon内的时候设置了一个Fire_Multicast属性为Multicast的事件,跟Weapon这里面的事件没有什么关系,因为都没有调用过。这里之所以会产生多个Actor是因为character的beginplay这个事件是Multicast类型的

虚幻引擎 虚幻4 教程 UE4 RPC UnrealEngine 网络开发

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!