언리얼 코딩 일기 (3)

美夜·2025년 9월 2일

언리얼 코딩 일기

목록 보기
3/9

저장 & 불러오기


아래 기능을 추가했습니다.

  • 게임 세이브/로드용 UI 추가
  • 게임 일시정지 창에서 게임 저장 버튼 추가
  • 게임 시작 화면에서 불러오기 버튼 추가

오늘 코딩의 중점은 대부분 UI작업과 UI와 코드를 연결하는 작업이었습니다.
세이브/로드 UI에서는 기존에 세이브된 게임 정보를 출력할 수 있어야했고, 세이브 슬롯이 여러개가 되는 경우에 버튼 하나하나 바인딩하지 않고 슬롯을 관리할 방법이 필요했습니다. 위젯 블루프린트에서 슬롯의 이름 규칙을 SaveSlot_00, SaveSlot_01, ...과 같은 형태로 정하는 것으로 이 문제를 해결했는데, 사실 이 방법도 그렇게 마음에 들지는 않아서 더 좋은 방법이 있으면 좋겠다는 생각입니다.
그리고 UI작업을 하면서, 마우스의 움직임에 따라 각 UI가 포커싱되는 걸 구현하고 싶었는데 이런 처리를 위해서 NativeOnMouse{Event}형태의 이름으로 virtual함수가 이미 있는 것을 알게 되었습니다.

기타


  • 시작 화면에서도 UI 조작이 인게임 UI 조작과 동일하게 지원되도록 수정하였습니다.
    • 같은 Input Mapping Context 사용

FInputModeUIOnly에서는 PlayerController에서 세팅한 Input Mapping Context가 동작을 안하는 걸 확인했고, InputMode는 항상 FInputModeGameAndUI를 사용하도록 세팅했습니다.


오늘은 작업 시간이 많지 않아서 간단하게 어제 작업하던 저장 기능을 이어서 작업하는 걸로 마무리 지었습니다. 워낙 기능이 많다보니 추가로 처음보는 기능을 쓰게되는 경우가 계속 조금씩은 있지만, UI와 입력을 연결짓는 작업은 이제 몇번 반복하면서 조금 익숙해진 것 같습니다. 그래도 당분간은 아이템을 만들고, HUD를 만드는 등의 작업이 이어질 예정이라 UI를 만들고 데이터 테이블을 만들고 UI, 입력, 기능, 데이터를 서로 연결해주는 작업을 계속 진행할 예정입니다.
간단하게라도 매일 새로 배우는 게 있으면 좋겠고, 그런 게 있다면 기록을 남기는 목적으로 시작한 일기인데 기본적으로 반복작업이다보니 남길 게 많지 않은 듯 합니다.
내일부터는 데이터 관리는 구체적으로 어떻게 되고있고 Input과는 어떻게 연결하고, 위젯은 어떻게 만들고있는지 같은 걸 코드를 가져와서 한 부분씩 설명해볼까 합니다.

0개의 댓글