Tutorial     Tip     Trouble Shooting     Research     Read

2015년 3월 9일 월요일

assetbundle test project

다시한번 상기하는 의미에서

애셋번들 사용하려면
1) 애셋번들을 만들어야 하고
2) 애셋번들을 서버에 올리고
3) 로컬에서 다운 받아 사용하면된다.

애셋번들 만들기

생각할 것
  • 리소스들을 비교하여 변경부분만 애셋번들 만드는 시스템이 필요한가
    • 빡셔보인당.
    • unity 5에서 해당기능 추가!
  • 아니면 수동으로 할것인가
  • 쉐이더, 머티리얼 등 dependency 많은 리소스는 어떻게 할 것인가
  • 어떻게 쪼새서 만들 것인가.
    • 오디오, 테이블 데이터, ui 등등
    • unit 들의 애셋번들을 한번에 만드는 것이 아니라, 클래스별로 쪼개는 등
  • 암호화는?

애셋번들 서버에 올리기

애셋번들을 서버에 올리기 위해서는 구조를 잡아야 한다. 위에서 말했듯이 애셋번들을 어떻게 나눌지도 생각할 필요가 있고, 것보다 중요한건 버전 관리를 어떻게 할지를 결정하는 것이다. 

생각할 것
  • LoadFromCacheOrDownload()만 이용할지
  • 아니면 AssetBundle.CreateFromMemory()등을 이용해 따로 관리할지.

로컬에서 다운 받아 사용하기

위에서 결정한대로 다운 받고 사용하면됨

생각할 것
  • 리소스들의 메모리 관리를 어떻게 할지.
    • 언제 메모리에서 내려줄건지

테스트 

  • 간단히 애셋번들 생성하고, LoadFromCacheOrDownload()만 이용해서 애셋번들 사용 테스트
  • 테스트 1
    • 애셋번들 생성
      • image_1 v1 이라고 적힌 texture 애셋번들 image1.unity3d
      • image_2 v1 이라고 적힌 texture 애셋번들 image2.unity3d
    • 서버에 아래 파일을 두고
      • version_info.xml
      • image_1.unity3d
      • image_2.unity3d
    • 로컬에서
      • version_info.xml 파일을 읽어서
      • image_1 texture 사용한 plane1과
      • image_2 texture 사용한 plane2출력
    • 결과
  • 테스트 2
    • 애셋번들 생성
      • image_1 v1 이라고 적힌 texture 애셋번들 image1.unity3d
      • image_2.unity3d는 그대로
    • xml 수정
    • image_1.unity3d 새로 생성한 걸로 수정
    • 결과

댓글 없음:

댓글 쓰기