Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- UI 자동화
- unreal
- 유한상태기계
- 운영체제
- DFS
- 이분탐색
- 구현
- 이득우
- 유니티
- 재귀
- 개발일지
- 웅진씽크빅
- 언리얼
- 안드로이드
- 게임개발
- 너비우선탐색
- binary_search
- BFS
- 프로그래머스
- c#
- 게임개발공모전
- 백준
- 알고리즘
- fsm
- upper_bound
- 시리얼라이제이션
- 인프런
- unity
- lower_bound
- c++
Archives
- Today
- Total
초고교급 희망
[13강] 언리얼 직렬화 본문
728x90
직렬화
오브젝트나 연결된 오브젝트의 묶음 →바이트 스트림으로 변환
시리얼라이제이션 : 오브젝트 그래프 → 바이트 스트림
디시리얼라이제이션 : 반대
장점
- 게임의 저장
- 객체 정보 복사, 다른 프로그램에 전송
- 네트워크. 현재 정보 다른 컴퓨터에 복원
- 압축, 암호화. 데이터를 효율적 안전하게 보관
고려할 점
- 데이터 레이아웃
- 이식성
- 버전 관리
- 성능: (회전처리: 양자화)
- 보안
- 에러 처리
언리얼의 직렬화
아카이브 클래스 (FArchive)
<<
- 메모리 아카이브
- 파일 아카이브
- 언리얼 오브젝트 아카이브
JSON 직렬화
JavaScript Object Notation
JSON 장점
- 데이터 크기가 가볍다
- 읽기 편하다
- 웹 통신의 표준
단점
- 지원하는 타입이 몇 개 안 됨(문자, 숫자, 불리언, 널, 배열, 오브젝트)
- 텍스트 형식만 사용 가능
언리얼 엔진의 Json, JsonUtilities 라이브러리 활용
언리얼 스마트 포인터 라이브러리 개요
- 일반 C++ 오브젝트의 포인터 문제를 해결해주는 언리얼 엔진의 라이브러리
- TUniquePtr(유니크포인터): 지정한 곳에서만 메모리를 관리
- 특정 오브젝트에게 명확하게 포인터 해지 권한을 주고 싶은 경우
- delete 구문 없이 함수 실행 후 자동으로 소멸시키고 싶을 때
- TSharedPtr(공유포인터): 더 이상 사용되지 않으면 자동으로 메모리를 해지하는 포인터
- 여러 로직에서 할당된 오브젝트가 공유해서 사용되는 경우
- 다른 함수로부터 할당된 오브젝트를 Out으로 받는 경우
- Null 일 수 있다.
- TSharedRef(공유 레퍼런스): 공유 포인터와 동일하지만 유효한 객체를 항상 보장받는 레퍼런스
- 여러 로직에서 할당된 오브젝트가 공유해서 사용되는 경우
- Not Null을 보장받으며 오브젝트를 편리하게 사용하고 싶은 경우
728x90
'Game > Unreal' 카테고리의 다른 글
[10강] 언리얼 컨테이너 라이브러리 1 - Array와 Set (1) | 2024.01.14 |
---|---|
[9강] 언리얼 C++ 설계 3 - 델리게이트 (0) | 2023.12.27 |
[8강] 언리얼 C++ 설계 2 - 컴포지션 (1) | 2023.12.27 |