블루프린트로 게임 저장하기

블루프린트를 사용하여 게임을 저장하고 로드하는 방법입니다.

Choose your operating system:

Windows

macOS

Linux

SaveGame 오브젝트 생성

SaveGame 오브젝트를 새로 생성하기 위해서는, 블루프린트 클래스를 새로 생성 합니다. 부모 클래스 선택 대화창이 뜨면, Custom Class 드롭다운을 펼친 다음 SaveGame 을 선택합니다. 검색창에서 SaveGame 에 바로 점프할 수 있습니다. 새 블루프린트 이름은 MySaveGame 이라 합니다.

savegame.png

새로 만든 SaveGame 오브젝트 블루프린트에서, 저장하고자 하는 정보를 담을 변수를 생성합니다.

이 예제에서는, SaveSlotName UserIndex 에 대한 기본값 저장에 사용될 변수도 선언되어 있어, 이 SaveGame 오브젝트에 저장하는 각 클래스에서는 그 변수를 따로 설정할 필요가 없습니다. 이 단계는 옵션으로, 기본값이 변경되지 않은 경우 하나의 세이브 슬롯을 덮어쓰게 됩니다.

SaveGameVariables.png

블루프린트 컴파일 이후 변수에 대한 기본값을 설정할 수 있습니다.

변수 저장하기

전체 저장 구성 스냅샷입니다. 이미지를 클릭하면 원래 크기로 볼 수 있습니다.

먼저 Create Save Game Object 노드를 사용하여 SaveGame 오브젝트의 인스턴스를 생성 또는 복사합니다. Save Game Class 드롭다운 이름을 새로운 블루프린트 이름으로 설정했는지 확인합니다. 이 경우 MySaveGame 입니다. Create Save Game Object 노드는 출력 핀 유형이 Save Game Class 입력에 지정한 유형에 일치하도록 자동 변경하여 Cast To (형변환) 노드 없이 바로 사용할 수 있도록 해줍니다. 방금 생성한 MySaveGame 오브젝트를 나중에 쉽게 재사용하려면 변수로 승격 시켜주면 됩니다.

SaveGameBP_1.png

이제 커스텀 SaveGame 오브젝트인 MySaveGmae 사본을 Save Game Instance 변수에 저장했으니, 이제 거기에 정보를 전송할 수 있습니다. 여기서 Player Name PlayerOne 으로 설정되어 있습니다. 정보를 저장하고자 하는 변수가 더 있는 경우, 이 단계를 반복해 주면 됩니다.

SaveGameBP_2.png

이제 Save Game To Slot 노드를 사용하여 SaveGame 오브젝트의 정보를 하드 디스크에 저장하면 됩니다. Save Game To Slot 노드는 파일명과 사용자 ID 를 받는데, 여기서는 앞서 만들어둔 기본값이 됩니다.

SaveGameBP_3.png

변수 로드하기

전체 저장 셋업에 대한 스냅샷입니다. 이미지를 클릭하면 확대해 볼 수 있습니다.

첫 단계는 옵션으로, SaveGame 오브젝트 안에 기본 세이브 슬롯과 사용자 ID 를 저장하는 것을 기반으로 합니다. 여기서는 빈 SaveGame 오브젝트를 먼저 생성하여, 거기서 기본 SaveSlotName 과 UserIndex 를 읽을 수 있도록 합니다. 마찬가지로 이 부분은 모든 게임 구현에 적용되는 것은 아닙니다.

LoadGameBP_1.png

Load Game From Slot 노드를 사용하여 SaveGame 오브젝트 블루프린트의 인스턴스를 생성할 수 있습니다. 결과 오브젝트를 MySaveGame 처럼 취급하기 위해서는 Cast To (형변환) 노드가 필요한데, 그래야 변수에 저장하여 나중에 쉽게 접근할 수 있습니다.

LoadGameBP_2.png

하드 디스크에서 새로운 SaveGame 오브젝트를 로드한 이후에는 변수값을 읽어 필요한 액터 또는 클래스에 할당하거나 여기서처럼 직접 사용할 수도 있습니다.

LoadGameBP_3.png

언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
취소