HUD2018. 8. 14. 19:42

HUD ( Head Up Display)

  • 이용자 인터페이스 이벤트를 생성하기 위해 UE3에서 부터 사용되어 왔으며 UE4에서 새로 추가된 UMG가 그 자리를 대체하므로 사용빈도는 줄었지만 단순한 이용자 인터페이스신속히 작성하여 테스트해보기 위해서 여전히 사용되고 있다 
  • HUD 클래스는 화면에 인터페이스를 표시하기 위해 DrawText, DrawLine DrawTexture, DrawRect 등 다양한 함수를 포함하고 있고 이용자의 마우스에 반응하는 HitBox도 추가할 수 있다
  • 위젯과 함께 사용할 수도 있으며 서로 독립적으로 작동한다
  • 화면의 동일한 위치에 위젯과 HUD가 내용을 표시하는 경우에는 위젯이 위에 그려진다
  • Set Show HUD : 화면에 표시되는 HUD를 보이거나 보이지 않게 할 수 있다
  • Set Show Debug Info : 몇가지 기본적인 디버깅 정보가 출력되도록 ON/OFF 할 수 있다
  • HUD 클래스가 아닌 다른 클래스에서 HUD 인스턴스에 접근하기 위해서는 다음과 같이 하면된다
  • GetPlayerController->GetHUD
  • Receive Draw HUD 이벤트를 이용하여 DrawText 등의 기능을 사용한다
  • HUD 클래스가 제공하는 Add HitBox 노드를 사용하면 보이지 않는 박스를 스크린에 설정할 수 있다
  • 화면에 추가된 HitBox는 보이지 않기 때문에 보이도록 하려면 그 위에 사각형(Draw Rect)을 그려주면 된다
  • HitBox는 Cursor Over, Click 이벤트를 발생하므로 이용자의 마우스에 반응할 수 있는 기능을 작성할 수 있다


HUD 테스트 절차

  1. 커스텀 GameMode 클래스 생성
  2. 커스텀 HUD 클래스 생성(HUD_Test)
  3. GameMode 에서 커스텀 HUD클래스를 등록
  4. 월드셋팅/Game Mode 패널에서 커스텀 GameMode 등록
  5. HUD 클래스의 이벤트 그래프에서 HUD 설정과 이벤트를 정의한다


HUD_Test 의 이벤트 그래프에 다음과 같이 작성

작성된 HUD의 내용이 화면에 표시되기 위해서는 Set Show HUD 노드에서 체크해야 한다

아래의 Show Debug Info노드에 체크하면 몇가지 기본적인 디버깅 메시지가 화면에 표시되지만 Draw Text 기능은 작동하지 않으므로 주의한다



Posted by cwisky