티스토리 뷰

Programming/UnrealEngine

UE4 Beginner | Save/Load

글그리 2020. 9. 24. 19:16

대부분의 게임에는 Save/Load 시스템이 있다. 로그라이크 장르처럼 세이브가 없는 게임도 있지만 그런 게임들도 클리어 횟수라던지 해금요소들이 저장되어 게임을 실행할 때마다 저장파일을 불러오기도 한다. UE4에서 게임을 어떻게 저장하는지 알아보자.

데이터를 저장하고 불러오는 등 단순한 기능은 blueprint로 구현할 수 있도록 되어있다. 물론 복잡한 저장데이터를 저장하거나 저장하고 불러올 때 특별한 처리를 해야한다면 c++코드가 필요할 수도 있지만 단순한 기능만 먼저 알아보자.

SaveGame

기본적으로 SaveGame이라는 클래스의 인스턴스를 저장하고 불러온다. 이 SaveGame은 UObject 클래스로 blueprint로 만들 수 있다 사용자는 어떤 데이터를 저장할지 변수 형태로 추가하면 된다.

 

그냥 변수들을 가지고있는 blueprint 클래스다.

 

GameplayStatics::CreateSaveGameInstance 함수를 통해 원하는 SaveGame 인스턴스를 생성할 수 있다. 이 인스턴스를 원하는 SaveSlot에 저장할 수 있다.

SaveSlot

실제 게임에서 사용되는 단어와 동일한 의미로 사용한다. FString이다. 이곳에 저장하면 프로젝트 폴더에 같은이름의 .sav 파일이 생성되는것을 볼 수 있다.

Save/Load

실제 게임을 저장하고 불러올 수 있는 DoesSaveGameExist, LoadGameFromSlot, SaveGameToSlot 등은 모두 GameplayStatics에 함수로 정의되어있다. 사용자는 필요할 때 SaveGame 인스턴스를 만들고, 내부 변수를 조작한 후 저장로직을 호출하면 된다.

 

예를들어, 게임이 시작할 때 저장된 SaveGame을 불러와서 시작위치를 정할 수 있다.

'Programming > UnrealEngine' 카테고리의 다른 글

UE4 Expert | 벽 뒤에있는 오브젝트 그리기 Custom Depth  (3) 2020.11.10
UE4 Beginner | Masking Material  (0) 2020.09.04
UE4 Beginner | Level  (0) 2020.08.06
Z-Depth Fog 만들기  (0) 2020.05.28
UE4 Tip - 렌더링 상태 보기  (0) 2018.08.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함