我已经在圈子里呆了一天,现在试图让这一切发展,我只是无处可去。我正在尝试在场景中使用单个动画创建多个对象,当我从我的播放器中触发一个光线投射并且它击中一个时,让UFunction(blueprintimplementableevent)关闭它所击中的对象。请帮帮我,这绝对让我感到难过。
答案 0 :(得分:0)
我要做的是使用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++ Battery Collector series或docs。