【UE4】UFUNCTION의 종류【UnrealEngine】【C++】

UFUNCTION의 블루프린트(BP) 관계 지정자에 의한 거동 일람표


지정자
BP 측에서 호출 가능합니까?
BP의 이벤트로 사용할 수 있습니까?
C++로 처리를 작성할 수 있습니까?


BlueprintCallable
〇      
×
  〇    

BlueprintPure
〇      
×
  〇    

BlueprintImplementableEvent
×     

  ×   

BlueprintNativeEvent
×     

  〇    


BlueprintCallable



BP측에서 부를 수 있게 된다.
함수 뒤에 const를 붙이면 실행 핀이없는 노드가됩니다.
주로 C++로 쓴 처리를 BP로 호출하고 싶을 때에 사용


BlueprintPure



Blueprint로부터의 호출이 가능.
실행 핀이 없는 노드가 된다.

BlueprintImplementableEvent



C++로 처리를 구현할 수는 없고, BP의 이벤트로서 처리를 쓸 수 있다.
C++측에서 함수를 호출할 수도 있기 때문에, 주로 BP로 만든 처리를 C++로 호출하고 싶을 때에 사용한다.

BlueprintNativeEvent



BlueprintNativeEvent는 C++에서 처리를 작성하고 싶다면
UFUNCTION(BlueprintNativeEvent)
void CountdownHasFinished(); 
virtual void CountdownHasFinished_Implementation(); // C++で中身を書くのはこっちだけ

virtual void 〇〇_Implementation(); 라고 기술해 소스 파일에 처리를 기입한다


나온 것도 노드로 연결하면 C++로 만든 처리도 통과한다

오류가되는 쓰기



BlueprintImplementableEvent나 BlueprintNativeEvent등 이벤트로서 취급하는 함수는 소스를 작성해 버리면 에러가 된다

좋은 웹페이지 즐겨찾기