Adaid's Workroom
[Unity] 데이터 저장 방식 종류 및 비교 정리 본문
1. PlayerPrefs
(영상 링크)
장점
1. 유니티에 내장되어 있음
2. 직관적이고 간단한 함수
3. Dictionary와 비슷
단점
1. 제한적(int, float, string만 가능)
2. 한번에 한개의 값만 불러올 수 있음
3. 한개의 파일에만 저장됨
* WebPlayer은 1MB의 용량 제한 있음
추천 용도
1. 플레이어 세팅(볼륨, 그래픽 세팅 등)
2. 단순한 게임의 진행도
3. 스코어보드
2. ScriptableObject
(영상 링크)
유니티의 오브젝트: MonoBehaviour(GameObject) + ScriptableObject
장점
1. 유니티에 내장되어 있음
2. Asset으로 저장될 수 있음
3. 런타임에 저장할 수 있음
4. 파싱 등을 신경쓸필요 없음
5. 많은 양의 데이터 저장 가능
6. 원하는 구조로 만들 수 있음
단점
1. 에디터 스크립팅이 필요할 수 있음
2. 유니티 외부에서 수정 불가
3. 빌드 후 저장 불가
(플레이어 진행사항 저장이 아닌 게임 자체의 데이터 저장에 적합)
추천 용도
1. 게임 자체 데이터 저장
2. 데이터 로드 최적화
3. Binary Formatter
(영상 링크)
오브젝트를 binary format으로 serialize/deserialize함
장점
1. 가장 범용적
2. 가장 안전
단점
1. 자신이 직접 함수 만들어야 함
2. 유니티 오브젝트(애니메이션, Vector3) Serialize 하기 어려움
추천 용도
1. 로컬 게임플레이 데이터 저장
2. 변형되면 안되는 게임 콘텐츠
4. XML
(영상 링크)
장점
1. 배우기 쉬움
2. 유니티에서 지원
3. 전체 클래스나 단독 데이터도 저장 가능
4. array, list와 잘 맞음
5. 유니티 외부에서도 쉽게 수정 가능
단점
1. 클래스가 더러워질 수 있음
2. enum 사용시 잘못 입력하면 위험할 수 있음
추천용도
1. 웹기반 게임
2. 게임 콘텐츠 list
3. 인터넷 접근가능한 게임 콘텐츠
4. 콘텐츠 제작 개발 툴
5. JSON
json 강의는 없네...
xml과 비슷할듯
'프로그래밍 > Unity' 카테고리의 다른 글
[Unity] 팁 - 모든 하위 오브젝트 레이어 바꾸기 (0) | 2018.05.25 |
---|