在UE4中,玩家进行光线投射、击中物体并触发自定义事件C++

Raycasting from player, hitting object and setting off custom event C++ UE4

本文关键字:自定义 C++ 事件 玩家 UE4 光线投射      更新时间:2023-10-16

我已经兜圈子一天了,试图解决这个问题,但我一无所获。我正在尝试在场景中使用单独的动画来设置多个对象,当我从播放器发射光线投射并击中一个时,请让 UFunction(蓝图实现事件(在它击中的对象上关闭。请帮助我,这绝对让我难倒。

我要做的是使用BlueprintNativeEvent。这将允许您创建要在C++中发生的事情的Implementation函数,以及蓝图实现,该对象类型的每个蓝图可能不同。

它使用起来也非常简单,例如,在角色的头文件中:

/** Called when the player presses the fire key */
UFUNCTION(BlueprintNativeEvent, Category = "Shooting")
void OnHit();
virtual void OnHit_Implementation();

现在你的 CPP:

void AMyGameCharacter::OnHit_Implementation()
{
UE_LOG(LogTemp, Warning, TEXT("OnHit_Implementation!"));
// Do whatever stuff you want to do in C++ here
}

现在在您的角色/演员蓝图中,只需转到事件图,右键单击,然后添加类型为OnHit的事件。确保对父OnHit事件进行回调(右键单击该事件并点击"添加对父函数的调用"(

如果您想要一个示例,您可以查看C++电池收集器系列或文档。