유니티 에셋번들 다운로드

좋은 생각이 아님: Unity는 이를 위해 작업을 수행하며 애셋 번들을 캐시 위치에 저장합니다. 그런 다음 워크플로 https://docs.unity3d.com/Manual/AssetBundles-Workflow.html 여기에 설명된 UnityWebRequest API를 활용하여 에셋번들을 다운로드할 수 있습니다. 참조: http://docs.unity3d.com/Documentation/Manual/iphone-Downloadable-Content.html 그렇지 않으면, http://docs.unity3d.com/Manual/abfaq.html 여기 우리는 안 드 로이드 빌드 대상 활성 동안 만든 번들 편집기와 안 드 로이드 플랫폼에 대 한 내장 된 애플 리 케이 션과 호환 될 것 이라고 볼 수 있습니다. 그건 내가 만든 이 완벽 하 게 편집기에서 작동 하지만 안 드 로이드에? 왜? 나는 지금 며칠 동안이 문제를 해결하기 위해 노력하고 있습니다. 감사합니다 당신은 안드로이드에 편집판을 설정합니까? 이로 당신은 편집기에서 안드로이드 자산 번들을 테스트 할 수 있습니다. 유니티 다운로드 구현이 다소 지저분하고 어색하다는 것을 알았기 때문에, 제 프로젝트에서 Github의 에셋 번들 관리자(Unity가 아닌)의 에셋 번들 관리자를 사용하고 있습니다. https://github.com/SadPandaStudios/AssetBundleManager Unity 4.6.5f1을 사용하고 있으며, 이것이 내 에셋 번들을 만드는 방법입니다: 먼저 경로 속성에서 생성된 에셋 번들의 대상 경로를 정의합니다. 여기, 자산의 빌드 대상은 안 드 로이드 그래서 당신은 당신이 필요로 하는 무엇이 든으로 대상 플랫폼을 변경할 수 있습니다. 나는 사용자의 요청을 내 유니티 게임 기초에 다운로드 할 필요가 자산의 1000s를 가지고, 이 처리하는 가장 좋은 방법은 무엇입니까? 이렇게 하려면 에셋 번들을 만드는 하나의 편집기 스크립트가 있습니다. 그래서, 우리는 ExportAssetBundles.cs 라는 편집기 스크립트를 만듭니다.

그런 다음 선택한 자산에서 자산 번들을 만드는 메서드를 정의합니다. 이제 프리팹을 선택하고 자산 생성을 클릭하여 자산 번들을 빌드하여 자산 번들을 만듭니다. 에셋번들 디렉토리에서 번들을 만듭니다. 콘텐츠를 새로 고쳐 번들 파일을 확인합니다. 에셋 번들은 모든 종류의 Unity 에셋(예: 프리팹)일 수 있습니다. 그들은 액세스하고 다른 Unity 게임에 다운로드 할 수 있습니다 전에, 하지만 먼저 통일 내부에 구축해야합니다. .assetBundle 속성에 액세스하면 다운로드한 데이터가 추출되고 AssetBundle 개체가 만들어집니다. 이 시점에서 번들에 포함된 개체를 로드할 준비가 되었습니다. LoadFromCacheOrDownload에 전달된 두 번째 매개 변수는 다운로드할 에셋번들의 버전을 지정합니다. 애셋번들이 캐시에 존재하지 않거나 요청된 버전보다 낮은 버전이 있는 경우 LoadFromCacheOrDownload는 에셋번들을 다운로드합니다. 그렇지 않으면 에셋번들이 캐시에서 로드됩니다.

DLC는 아무것도 변경되지 않습니다. 사용자가 그것을 구입 하 고 캐시를 청소 하는 경우, 다음 unity 다시 다운로드 됩니다. 다음은 스크립트 참조입니다. https://docs.unity3d.com/ScriptReference/AssetBundle.html 게임이 빌드 크기가 너무 크고 크기를 줄이려면 필요할 때 런타임 중에 게임 에셋을 로드하는 것을 고려해야 합니다. 이 기술은 필요할 때 에셋 런타임을 다운로드하는 데 가장 유용한 기술이며 빌드 크기도 줄입니다. 게임 크기가 큰 경우 모바일 플랫폼에서 특히 유용합니다. 번들 버전을 유지 관리해야 합니다. 예를 들어, 당신은 당신의 ftp에 당신의 자산 번들의 버전 번호가 있는 텍스트 파일을 추가합니다.

에셋 번들을 업데이트하고 ftp에 저장하면 해당 텍스트 파일에서 에셋 번들 버전을 늘립니다. 먼저 게임 오브젝트->CreateEmpty로 이동하여 빈 게임 오브젝트를 만듭니다. 캐싱로드Example 스크립트를 방금 만든 빈 게임 오브젝트로 드래그합니다.