Unreal BlueprintNativeEvent
- 프로그래밍/언리얼
- 2024. 2. 8.
250x250
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/
아래 코드와 같이 사용하면 됩니다.
//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을 불러옵니다.
이런 식으로 사용하면 됩니다.
끝!