[TIL] 내일배움캠프_Unity 게임 데이터 저장, LoadingScene
중간에 휴일이 있어서 제작 기간이 길었던 팀과제 완성!!!!!
내가 구현했던 내용 중 새롭게 구현해 보았던 내용에 대해서 다시 한번 정리해 보자 !
게임 데이터 저장
데이터를 저장하고 관리하는 DataManager 클래스를 작성하였다
싱글톤 패턴을 이용하여 단일 인스턴스만을 유지하여 데이터 관리를 해주고 데이터 저장 및 불러오기는 제네릭으로 메서드를 사용하여 지정된 형식의 데이터를 Json파일로 저장하고 불러오게 해주었다
로그라이크 게임이라서 데이터를 저장하는 부분이 많이 없어서 데이터를 각 파일로 나눠서 저장하게 만들었는데 많은 양의 데이터를 읽거나 써야한다면 좋은 방법이 아니다 파일 입출력은 성능이 좋지 않다
그래서 생각해 본 더 좋은 방법은 저장할 정보를 구조체나 클래스에 저장하여 하나의 파일로 관리하게 할 수도 있을것 같다아니면 다음에는 서버와의 통신을 통해 데이터를 관리하는 방법도 있다는데 찾아봐야겠다
LoadingScene
- 간단하게 배경이미지와 Progress Bar로 구성하였다
- LoadingSceneController로 Load를 진행하였다
- 로딩씬을 불러들인 다음에 불러와야하는 씬을 SceneManager.LoadScene()이 아닌 SceneManager.LoadSceneAsync()를 사용하여 비동기 방식으로 일시중지가 발생하지 않게 하였다
로딩씬을 만든 이유는 씬이 전환되는 동안 멈춘 화면이나 까만 화면이 나타나면 게임에 문제가 발생하였다 라고 생각할 수도 있어서 이것을 구분하기 위해 넣었다
팀과제 회고
이렇게 처음 시도해본 기능들을 구현해볼 수 있어서 새롭고 좋았다 (+타임라인, 시네마틱 추가)
이번에도 팀장을 맡으면서 역할분담은 다른 팀원분들에게 선택권을 주고 남은 기능들만 가지고 오게 되어서 메인 기능 보다는 잡일을 도맡아 했는데 새로운 내용들에 대해 공부할 수 있어서 만족한다
또한 전체적인 흐름을 쉽게 파악할 수 있어서 프로젝트 관리가 수월했다 총괄아닌 총괄을 했던거 같다 ...
솔직히 메인 기능을 구현하고 싶은 욕심이 없었던건 아니지만 팀원분들의 코드를 보며 공부해서 직접 구현해보면 되니까 괜찮다 ! 배움은 끝이 없어 ~~
이번 팀과제를 통해 다양한 기능들과 프로젝트 구조, 관리에 대해서 더 공부할 수 있었던 시간이었다 그리고 빌드를 해서 배포도 해볼 수 있어서 좋은 경험이었다 !!!