예를 들어 Enemy 에 Widget을 달아주었을때, Widget이 계속 회전하는 경우가 있을것이다.

Widget의 세로부분을 볼수 도 있어서 미관적으로 상당히 좋지 않아, 필자는 지금까지 Billboard 함수를 직접 짜서 계속 체력바가 Player를 응시하게끔 만들었는데
생각보다 더 간단한 해결방법이 있었다.

Space 의 기존 설정(Enemy에 있는 HelathBar widget의 Component에 있는 옵션)이 World 에서
Screen 으로 바꿔주면, 항상 Player에서는 screen 상태로 이를 볼 수 있는 것이다.
너무 감격해서 원리 또한 찾아보았다. Billboard 가 아니라 어떻게 구현하였을까?
- UWidgetComponent 내부적으로 Slate를 사용하여 화면 좌표에서 UI를 렌더링.
- WidgetRenderer를 통해 2D HUD UI를 처리.
- SlateApplication::DrawWindow()를 사용하여 UI를 카메라의 영향을 받지 않는 화면 공간으로 이를 구현
다른 카메라의 영향을 받지 않고 2D UI를 처리하는 공간을 따로 렌더를 시켜서 이를 처리한 것이었다.
'Unreal Engine 5' 카테고리의 다른 글
| 람다 남용에 관하여 (0) | 2025.09.23 |
|---|---|
| Event Interface (0) | 2025.06.23 |
| 언리얼에서의 안전한 정규화(단위벡터 사용법) (0) | 2025.01.29 |
| 언리얼 엔진에서의 메모리 관리 방식 (0) | 2025.01.29 |
| 언리얼에서 Bind<BindUFunction VS AddDynamic> (0) | 2025.01.29 |
