본문으로 바로가기

사실 별건 없고, 우리가 어떠한 귀찮은 일이 있거나 필요한 기능을 추가할 때 엔진의 코드를 수정하는 방법이다.

 

참고로 https://openmynotepad.tistory.com/119 해당 문서를 작성할 때, 수정했다.

 

[Unreal Engine 5] Widget ( UI, 체력바 )

우리가 어떠한 3D UI 요소를 만든다면, 그것을 게임 세계에 표현할 수 있다. 우리는 'Widget Blueprint Editor' 에서 다양한 Widget를 사용해 UI를 꾸밀 수 있고 함수 기능을 추가할 수 있다. 이번에는 이 Widg

openmynotepad.tistory.com

 

기존의 UserWidget이 GetOwner 함수가 없다는 것은 알고 있을 것이다.

그래서 GetOwner를 가져오려면 서로 WidgetComponent의 GetOwner 함수를 사용하여 가져와야 한다.

그러기 위해선 WidgetComponent와 UserWidget을 둘 다 상속받아 새로운 클래스를 만들어 주어야 한다.

왜냐면 WidgetComponent는 UserWidget에게 자신의 Owner 정보를 넘겨야 하고

UserWidget은 넘어온 Owner 정보를 저장하고 있어야 하니까..

 

이를 처리하고자, 기존의 UWidgetComponent가 UUserWidget을 만들 때, 해당 UUserWidget에게 Owner 정보를 넘기도록 한다.

 

 

이제 UUserWidget이 Owner를 저장하기만 하면 된다.

 

 

 

이렇게 처리한 후,

LifeTime상, UUserWidget의 NativeConstruct가 호출될 때 CurrentOwner는 Valid 하다.

 

이렇게 자신이 원하는 기능을 추가하면 된다.

물론 컴파일 시간은 많이 걸린다.