언리얼 코딩 일기 (4)

美夜·2025년 9월 6일

언리얼 코딩 일기

목록 보기
4/9

선택 UI


게임 시작할 때 게임 시작버튼, 게임 일시정지 화면에서의 게임 재개 버튼 등 여러개의 list에서 하나를 골라야하는 UI는 종종 필요로 하게 됩니다. 그런 경우에 매끄럽게 동작하고, 키보드와 게임패드, 마우스 모두 조작에 문제 없는 UI를 만들고 싶었습니다. 그래서 아래 작업들이 필요했습니다.

  • 키보드/게임패드 조작을 통한 포커스 위치 변경
  • Hover이벤트 발생시 해당 버튼으로 포커스 위치 변경
  • Unhover되더라도 포커스 상태는 유지
  • 키보드/게임패드 조작을 통해 버튼 클릭 이벤트 발생

위 작업을 거쳐 아래 영상처럼 동작하게 만들었습니다. 별거 아닌데도 UI를 조금 손보는 등의 작업들을 했더니 시간이 순식간에 지나갔네요.
샘플 동영상

이름 변경


클래스명이 긴 걸 안좋아하고, NameSpace가 있으니 문제가 없다고 생각했습니다. 그래서 이름을 최대한 간결하게 지으려고 했고, UI 클래스명에 Postfix로 Widget을 붙이지 않으려고 했습니다. 그런데 인벤토리 기능을 구현하다보니 실제 아이템 데이터가 들어있는 인벤토리와 인벤토리 위젯이 헷갈리는 상항이 되었고, 한번 전체적으로 이름을 변경했습니다. 이름을 지을 때 아래 규칙을 추가했습니다. 남들이 다 하는데에는, 공식 문서에서 권장하는데에는 이유가 있다는 걸 배운 시간이었습니다.

  • 위젯 클래스에는 postfix로 Widget을 붙입니다.
  • 블루프린트는 예외없이 모두 BP_를 prefix로 붙입니다.

며칠간 코딩에 시간을 거의 못 써서 블로그에 못 올렸습니다. 기존 코드 신경쓰였던 부분을 조금 손봤고, 다시 새로운 UI와 기능 추가를 시작할 예정입니다.

0개의 댓글