부비새
부비새의 개발 일기
부비새
전체 방문자
오늘
어제
  • Category (70)
    • Project (7)
      • NightAtTheGallery (1)
      • GGWP - DEADLINE (6)
    • ToyProject (41)
      • RedCaped (33)
      • EcoA76 (2)
      • SkyTemple (6)
    • GAS (2)
      • 개인저장용 (2)
    • PCG (4)
    • UE5 (12)
      • 공부 (9)
      • C++ (1)
      • 놀이터 (2)
    • Houdini (3)
      • 공부 (3)
    • OpenGL (1)

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
부비새

부비새의 개발 일기

[언리얼엔진 5] 25. Save Permenent Variable
ToyProject/RedCaped

[언리얼엔진 5] 25. Save Permenent Variable

2023. 2. 2. 18:07

게임을 하면서 얻은 추가 플레이어 스탯들은 죽은 뒤에 모두 초기화될 것이다.

그래야 새로운 게임을 다시 플레이할 수 있으니.

하지만 죽어도 계속해서 저장되어야 하는 변수들도 있을 것이다.

예를 들어 죽어서 얻은 게임재화나 재화로 얻은 어떤 것들은 게임을 나가도, 레벨이 바뀌어도 계속해서 저장되고 저장된 값을 계속해서 추적할 수 있어야 한다.

그렇기에 Save블루프린트를 두개로 나누었다.


일회성 변수 / 영구성 변수

죽으면 사라지는 변수들은 Player에,  영구적인 변수들은 Gamemode에 관리하여 쉽게 접근할 수있다.

또한 Lobby레벨 즉 초기 레벨에 오면 초기화된 변수들을 저장할 것이다.

레벨이 바뀌면 변수들이 초기화되므로 로드하기 전에 세이브한다. (로비 레벨블루프린트에서 진행된다)

Save Permenet Variable은 영구적인 변수가 변경될 때마다 실행시켜준다.


펫 해금에 대한 UI이다

예를들어 재화로 펫을 해금했다면 펫이 해금되었다는 사실은 계속해서 저장되어야 할 것이다.

이를 Array of Pet 배열로 저장하여 저장한다.

펫을 해금하였다면 배열에 해금한 펫을 넣어주고 저장하면 되는 것이다.

펫을 해금했다면 게임을 재접속해도, 레벨이 바뀌어도 해금이 되어있다.


구현이 되었으나 개발하면서도 저장이 되므로 영구적인 변수를 초기화할 수단이 필요하다. (여러 테스트를 하기 위해)

초기화 액터를 두어 변수를 강제로 초기화시켜줄 수 있다.

게임을 하면서 펫을 해금해나가는 재미가 생겼다. 

펫을 해금하면 이전 24번 일지에서 다룬 레벨에서 랜덤하게 등장할 것이다.

'ToyProject > RedCaped' 카테고리의 다른 글

[언리얼엔진 5] 27. Fix LevelUP (Inheritance)  (0) 2023.02.05
[언리얼엔진 5] 26. Spear Attack (+ Bow)  (0) 2023.02.03
[언리얼엔진 5] 24. Select Pet Level  (1) 2023.02.02
[언리얼엔진 5] 23. Duck Pet Class  (0) 2023.01.31
[언리얼엔진 5] 22. Hit Particle  (0) 2023.01.28
    부비새
    부비새
    언리얼엔진과의 싸운 흔적입니다

    티스토리툴바