[Unity]06. UOP0의 Save/Load and Spawn 뜯어보기

정국경·2024년 7월 7일
0

Unity

목록 보기
8/8

Save/Load는 하는거고 그 후에 Save한 위치를 Load하여 Spawn하는 것까지 해야한다. 근데 너무 복잡해...

게임에 필요한 기능을 아래 써보고 쓸말한 것만 가져와 쓰는 방향으로 하자. 애초에 Open Project는 Scene 전환이 많기 때문에 SceneLoader도 필요하고 등등의 많은 로직이 필요하지만 우린 그렇지 않기에..

  1. Save/Load Trigger가 발동이 되면 지정한 위치에서 Save를 하고 바로 진행해야 한다.
    얘를 들어 보스에게 쫒기다가 실패한 경우는 다시 쫒기는 시점으로 돌아와 곧장 진행해야 한다. -> 이것보다 보스에게 쫒기기 직전 트리거로 돌아오는게 맞겠네. 별 상관없네 그럼.
  2. 이렇게 돌아오려면
    우선 그 위치의 SpawnPosition이 필요
    Spawn 시점 이후의 것들은 초기화 해야해. 예를 들어 진행 중에 넘어진 오브젝트 같은 경우는 다시 세워야 할 것이고, 진행한 퍼즐이 있다면 초기화 해줘야 한다.

1번을 위해 PathTakenSO 를 활용을 하자. 해당 스테이지를 기록하고, 스테이지 별로 SpawnPosition을 정의하고 이를 PathTakenSO에 기록, Spawn 시에 이 SO를 가져와 그 위치에 스폰하면 된다.
==============> 생각해보니까 이것도 그냥 Save를 하면 되는거잖아 SO 필요없이. 그냥 새로 짜는게 맞는 것 같다.

2번은 그냥 Load를 잘 만들면 해결됨. Spawn 시점까지의 저장을 해주고 그냥 그걸 가져오면 되잖아. Load는 그럼 맵 정보를 다 가지고 있어야 겠네. 그리고 리트라이 할 때마다 그 당시 맵 정보를 가져와서 로드해야해. 아니면 씬을 다시 로드하나? 이거는 좀 봐야겠다.

0개의 댓글