본문 바로가기

Development/Unreal Engine 4, 5

BlueprintImplementableEvent

BlueprintImplementableEvent

Programming/UNREAL

설정

 

오늘은 BlueprintImplementableEvent에 대해서 공부해보도록 하겠다.

일단 이 위키의 글을 참고한다.

 

https://wiki.unrealengine.com/Blueprints,_Empower_Your_Entire_Team_With_BlueprintImplementableEvent#Tick_Function

 

 

C++ 시스템에서 중요한 이벤트를 Blueprint로 발생시키기위해서는 어떻게 해야할까?

굳이 Blueprint에서 C++ function 을 호출하지 않아도된다.

단지, Run-TIme 이벤트에 기초해서, 자발적으로 Blueprint Graph로 정보를 쏴줄 수 있다.

 

이것이 BlueprintImplementable로 가능하다.

 

 

<Blueprint에 중요한 타이밍에 데이터와 같이 Blueprint로 데이터를 제공할 수 있다>

BlueprintImplementable을 통해서, 중요한 타이밍에 Blueprint로 Event를 발생시킬 수 있고, 변수와 데이터까지도 보낼 수 있다.

 

단, Data를 보낼 시에 non-const reference에 대한 Data를 전달하는것을 추천하지 않는다.

reference로 보낼 시에 const reference로 선언하거나, 아예 reference가 아닌 값으로 전달해야한다.

 

BlueprintImplementable의 장점은 무엇인가?

 

<C++ 에서 BP interface>

C++시스템이서 행해지고 있는정보들에 대해서 BlueprintImplementable을 통해 Blueprint 사용자로하여금 알려줄 수 있다.

 

 

<Blueprint 들로 Prototyping을 더욱 실현할 수 있다>

BlueprintImplementable을 통해서 C++로 복잡한 low-level 시스템을 만들 수 있다. 그리고 그 시스템을 통해 만들어진 정보들을 Blueprint가 필요할 때 전달할 수 있다. 그래서 Blueprint로 하여금 더욱더 확장가능성을 열어주기 때문에 Prototyping에 매우 유리하다.

 

이것을 통해 C++과 Blueprint의 시너지를 낼 수 있다.

Core한 부분은 C++로 작업하고, 그 이외에 만들어질 것들에 대한 것은 Blueprint로 하면 최대한의 시너지를 낼 수 있다.

 

<사용법>

 

 

위의 사용법과 같이 header에는 UFUNCTION(BlueprintIMplementableEvent ....) 으로 UFUCNTION 지정자를 정해줘야한다. 또한 파라미터로 넘길 데이터에 대해서는 위에서 언급했듯이 reference를 쓸거면 반드시 const reference를 써야하고, 그렇지 않을시 값으로 넘겨야 한다.

 

 

그리고 블루프린트에서 사용법은 일반 이벤트 부를때처럼 하면 된다.

쉽죠?

 

이제 로직같이 어려운 것들은 C++로 정리하고, Blueprint에서 그것을 사용하여 확장을 해나가는 것이 작업에 있어 굉장한 시너지를 내게 해 줄 것이다.



출처: https://cowspirit.tistory.com/36 [CowSpirit - First Story]

 

BlueprintImplementableEvent

오늘은 BlueprintImplementableEvent에 대해서 공부해보도록 하겠다. 일단 이 위키의 글을 참고한다. https://wiki.unrealengine.com/Blueprints,_Empower_Your_Entire_Team_With_BlueprintImplementableEvent#Tic..

cowspirit.tistory.com