NetMulticast |没有在客户

时间:2017-10-15 21:57:55

标签: c++ unreal-engine4

我的问题是使用" NetMulticast"并没有打电话给客户。

我有这样的功能:

UFUNCTION(BlueprintCallable, NetMulticast, Reliable, Category = "Construct")
void Build(...);

我从我的GameModeBase'中拨打电话。它在服务器上执行,但不在客户端上执行。 该函数属于actor的组件。 组件和演员都在复制(我看到他们的构造函数在客户端上调用)。 ' 建立'在创建actor和组件之后,立即在GameModeBase'的PostInitializeComponents中调用。

有什么我明显做错了,或者我可能没有做过的事情是必需的吗? 我该怎么做才能找到问题?

我正在打印相关活动,演员是" Terrain"及其组件" TerrainMesh"。 也许问题是当我尝试调用build时,客户端上还没有地形? 这似乎是复制系统非常不受欢迎的行为,但是......

LogTemp: GameModeBase | Constructor
LogTemp: Terrain | Constructor SERVER
LogTemp: TerrainMesh | Constructor SERVER
LogTemp: TerrainMesh | Build SERVER <---- The replicated function not beeing replicated.
LogTemp: Terrain | Constructor CLIENT
LogTemp: TerrainMesh | Constructor CLIENT

编辑:

为了简化,我将函数放在actor本身。如果我将代码表示为蓝图,则明确指出它应该复制给所有人,但事实并非如此。

https://imgur.com/a/o78i9

1 个答案:

答案 0 :(得分:0)

我想通了,你不能传递对USTRUCT类的引用。