블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2737)
Unity3D (817)
Programming (474)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (228)
협업 (58)
3DS Max (3)
Game (12)
Utility (136)
Etc (96)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (53)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday
04-20 00:00

KGC AssetBundle

2013.09.26
10:30 ~ 11:30


Asset: 유니티에서 게임을 만들떄 필요한 모든 컨텐츠 
AssetBundle? Asset들을 하나로 묶는 기능 
압축 파일 포멧 

LZMA Algorithm 사용 

어셋번들의 중요성 
빌드 사이즈를 줄일수 있다.
게임 패치 (CDN과 같은 서버에 올려놓고 다운받는 형식)
더 낳은 퍼포먼스 (캐시 기능)


Caching이란?
CDN -> Local Disk <-> Unity

캐싱폴더 위치는?

모바일 / PC / 콘솔 : 4기가 캐싱사용가능
웹 : 50MB (캐싱 라이센스) 

캐싱폴더가 다 찬다면?
어셋번들이 사용된 시간을 기준으로 가장 최근에 사용되지 않은 어셋번들 부터 삭제 (Least Rencently Used algorithm )

만약 하드디스크가 꽉 차거나 모든 캐쉬가 사용중이라면?
어셋번들을 캐싱하지 않고 메모리에 올림 (like new WWW())

유니티 버전 호환성과 사이즈 DisableWriteTypeTree

ASsetBundle메모리 

Distory -> UnloadUnuseAssets사용 (런타임시 반복호출시 힉헙 상태 발생 가능성 있음)

프로파일러 사용 권장 


어셋번들의 암호화 
  • Open SSL을 이용해서 어셋번들을 암호화 
  • 암호화된 어셋번들을 텍스트로 변환
  • 전달 방법을 선택 
    • Application포함 
    • 서버에서 다운로드
  • 암호화된 어셋번들을 메모리에서 복호화 (with System.Security.Encrypt)

>>>> Binary 파일 변환과정을 거쳐 암호화를 시킬수 있다.

PC/웹 : 하위 호환성 유지 

안드로이드 / iOS : 호환 할수 있도록 계획 중
Q. 어셋번들과 유니티 버전에서 문제점 (새로 만들어야 한다. 소수점 2째자리 업데이트는 호환 가능 )


어셋사이즈와 해싱된 사이즈가 다른 이유?
어셋번들이 캐싱폴더에 저장될때는 Uncompressed상태에서 자장 ( 압축 풀린 상태 ) -> 보다 빠른 로딩이 가능 


캐싱 용량을 줄이고 싶을때 
Caching.maximumAvailableDiskSpace 사용 

캐싱을 삭제 하고 싶을때(캐싱폴더 전체가 삭제 됨) / 특정 번들을 삭제 하는 방법은 없다. (내년에 추가될 예정)
Caching.CleanCache


"어셋번들을 쪼갤수록 좋다"


Q. CRC알고리즘 ?
Q. 스크립트 포함되어 있는 오브젝트를 어셋번들 공유시 스크립트 동기화 문제



반응형
Posted by blueasa
, |