[96. Pause Menu #5]

 

버튼에 이벤트를 바인딩 시킨다.

 

이런 구조가 될 것이다.

 

[97. Pause Menu #6]

 

저장시 현재 레벨 이름도 같이 저장해서 로드할 때 해당 레벨로 변환시켜주면 일반적으로 알고있는 세이브/로드 같은 기능을 할 것이다.

 

GetWorld()->GetMapName(); // 현재 맵(레벨)이름을 가져옴. 레벨 스트리밍 접두사가 붙는다
GetWorld()->StreamingLevelPrefix; // 레벨 스트리밍 접두사를 가져온다

 

현재 맵(레벨) 이름을 받아오는것은 위처럼 하면 되지만 레벨 스트리밍 접두어가 붙기때문에 접두어를 제거하고 저장해야 한다.

 

레벨이 바뀌면 BeginPlay가 호출되므로 LoadGame을 이곳에서 해주면 된다.

 

[98. Finishing Up]

 

내용 없음.

 

[99. Removing All Unused Assets]

 

프로젝트를 완성시키고 배포시키기 전에 사용하지 않은 애셋들의 정리 등을 통해 프로젝트의 사이즈를 줄일 필요가 있다.

 

  1. 별개의 폴더를 만들고 완성한 프로젝트와 같은 이름의 빈 프로젝트를 해당 폴더에 만든다.
  2. Config 폴더를 덮어쓰기한다.
  3. Intermediate 폴더를 삭제한다.
  4. 소스코드를 붙여넣는다(C#까지)
  5. generate visual studio project file을 수행한다.
  6. 완성한 프로젝트를 열고 레벨을 migrate한다.

 

C++ 코드로 애셋을 로드하는것은 레벨을 migrate 할 때 잡아내지 못할 것이라 생각된다.

위와 같이 프로젝트의 크기를 줄일 때 해당 부분을 고려해야 할 것이다.

 

[100. Packaging the Game]

 

 

[정리]

 

  • 프로젝트를 완성하면 불필요한 리소스를 제거해서 크기를 줄여야 한다.

'언리얼 엔진 > UE4 C++' 카테고리의 다른 글

[UE C++] Level Changing and Saving the Game #1  (0) 2022.09.15
[UE C++] Combat #10  (0) 2022.09.15
[UE C++] Combat #9  (0) 2022.09.14
[UE C++] Combat #8  (0) 2022.09.14
[UE C++] Combat #7  (0) 2022.09.13

+ Recent posts