什么是虚幻引擎蓝图中的FindPlayerStart的C ++等价物

时间:2018-05-08 19:26:29

标签: c++ unreal-engine4

虚幻引擎蓝图中FindPlayerStart的C ++等价物是什么?

GameModeBase上的功能不是虚拟的;即使它可以在蓝图中被覆盖。

大约4.3的大量旧例子似乎表明有一个FindPlayerStart_Implementation函数,但我无法在4.19中找到它。

如何实现与覆盖FindPlayerStart并在蓝图中返回我自己的PlayerStart Actor相同的行为?

2 个答案:

答案 0 :(得分:0)

'覆盖'在Blueprint中实际上是一个蓝图事件,由基础C ++类发布。

 UFUNCTION(BlueprintNativeEvent, Category="Game")
 class AActor* FindPlayerStart( AController* Player, const FString& IncomingName = TEXT("") );

因此,您不必直接在C ++中进行子类化和扩展。

如果要调整C ++代码中的行为,请在游戏模式类中实现蓝图功能 - 标记为UFUNCTION的{​​{1}},以便将其作为节点添加到蓝图中。

BlueprintPure

然后在游戏模式的蓝图中使用该新节点,覆盖游戏模式的FindPlayerStart"功能" - 只要它返回// .h UFUNCTION(BlueprintPure, Category=Game, meta=(DisplayName="CustomPlayerStart")) AActor* CustomPlayerStartLogic(AController* Player); // .cpp AActor* MyCustomGameMode::CustomPlayerStartLogic(AController* Player) { /// your logic here return ThePlayerActor; } ,您就可以将其传递给蓝图覆盖的返回节点。在本例中我没有从被覆盖的函数中获取字符串输入,但如果您的逻辑需要它,您可以向函数添加AActor*参数并将其连接到原始节点。

请参阅this UnrealEngine.com post

答案 1 :(得分:0)

我通过一个虚幻的引擎论坛启动器找到了我的答案:here