Unreal BlueprintNativeEvent

Unreal BlueprintNativeEvent

이번글은 Unreal UFunction매크로의 BlueprintNativeEvent에 대한 글입니다.

BlueprintNativeEvent를 사용하면 C++에서도 정의 가능하고 블루프린트에서도 재정의가 가능해집니다.

이 내용에 대하여 간단하게 작성하고자 합니다.

  • BlueprintNativeEvent / cpp
  • Blueprint

BlueprintNativeEvent / Cpp

이 지정자를 사용하면 C++에서 함수 구현을 하고, 블루프린트로 덮어써서 보조하거나 대체할 수 있게 됩니다.

사용하기 위해서는 _Implementation를 붙인 가상함수를 추가로 선언해야 합니다.

https://docs.unrealengine.com/5.1/ko/ufunctions-in-unreal-engine/

 

UFunction

게임플레이 클래스용 함수 생성 및 구현 레퍼런스입니다.

docs.unrealengine.com

아래 코드와 같이 사용하면 됩니다.

//ItemBase.h
UFUNCTION(BlueprintNativeEvent)
void Test();//언리얼에서 호출되는 함수.
virtual void Test_Implementation(); //이것만 정의. cpp에서 동작시 호출됨

//ItemBase.cpp
void AItemBase::BeginPlay()
{
	Super::BeginPlay();
	Test();
}
void AItemBase::Test_Implementation()
{
	GEngine->AddOnScreenDebugMessage(-1, 15.f, FColor::Blue, FString::Printf(TEXT("This is Test_Implementation")));
}

 

블루프린트(Blueprint)

위 코드를 실행하면 아까 작성한 Text가 나오는 것을 확인할 수 있다.

블루프린트에서 재정의.

cpp에서 작성한 부분은 보이지 않는다.

그럼 이번엔 cpp코드와 블루프린트를 같이 사용해 보겠습니다.

event노드를 우클릭해서 Add Call to Parent Function을 불러옵니다.

이런 식으로 사용하면 됩니다.

끝!

 

Designed by JB FACTORY