유니티 에셋 번들 다운로드

좋은 생각이 아님: Unity는 이를 위해 작업을 수행하며 애셋 번들을 캐시 위치에 저장합니다. 그럼 난 여기에 내 코드를 넣어, 그것은 내 PC에서 완벽하게 작동하지만 안드로이드에 나는 항상 동일하고 지루한 오류를 가지고 “자산 번들 헤더는 너무 작다”. 실제로 파일은 내부적으로 만들어지지만 데이터로 채워지지 않습니다. AssetBundleManager 샘플 코드를 찾을 수 있습니다. 나는 그것을 사용합니다. 먼저 게임 오브젝트->CreateEmpty로 이동하여 빈 게임 오브젝트를 만듭니다. 캐싱로드Example 스크립트를 방금 만든 빈 게임 오브젝트로 드래그합니다. 그런 다음 BundleURL 필드에 에셋 번들의 URL을 입력합니다. 프로젝트 디렉터리에 이 정보를 배치했기 때문에 파일 디렉터리 위치를 복사하고 접두사를 추가할 수 file://(예: file://C:/UnityProjects/AssetBundlesGuide/Assets/AssetBundles/Cube.unity3d 번들 설명을 빌드할 때) 번들 을 빌드한 각 플랫폼에 대해 AssetBundleManifest를 제공해야 합니다.

번들을 구축 한 후 매니페스트를 얻는 방법은 두 가지가 있습니다 : UnityWebRequest를 사용하여 번들을로드 할 수 있으며 CAching.IsVersionCached를 사용하여 캐시되었는지 확인할 수 있었지만 이 `캐시된` 번들 버전을 retreived할 위치를 알지 못했습니다. 심각… 나는 원을 그리며 돌아다닌다… 링크를 더 이상 사용할 수 없습니다. 그리고 그것은 심지어 권장된 WWW.LoadFromCacheOrDownload (URL, 버전)를 사용 하 여 내 자산 번들을 로드할 수 없습니다 것 같다. Unity 4.6.5f1을 사용하고 있는데, 이것이 내 에셋 번들을 만드는 방식입니다: 에셋 번들을 빌드할 때 지정된 BuildTarget은 Unity가 빌드 타임에 빌드 대상을 구분하지만 런타임이 아닌 경우를 고려하여 정규화됩니다. 특히 Windows용으로 빌드할 때 독립 실행형Windows 및 독립 실행형Windows64 대상이 있지만 둘 다 WindowsPlayer 런타임 플랫폼을 사용합니다. 따라서 자산 번들 빌더는 자산 번들을 빌드할 때 독립실행형Windows 대상만 사용합니다. 모든 자산 번들을 빌드한 후에는 AssetBundleBuilder.PrepareBundlesForUpload()를 호출하여 구축된 번들을 저장하는 웹 서버의 URL을 전달합니다. 이렇게 하면 각 번들의 현재 여부를 확인하고 아직 에셋번들/업로드에 업로드되지 않은 번들을 복사합니다. 그런 다음 에셋번들/업로드에 있는 번들을 저장소 서버 또는 CDN에 적절히 업로드해야 합니다. BuildAssetBundles()를 한 번 호출하여 모든 자산 번들을 동시에 빌드하는 경우 첫 번째 방법을 권장합니다.

에셋 번들은 모든 종류의 Unity 에셋(예: 프리팹)일 수 있습니다. 그들은 액세스하고 다른 Unity 게임에 다운로드 할 수 있습니다 전에, 하지만 먼저 통일 내부에 구축해야합니다. 단추와 텍스트가 있는 UI를 만듭니다. 이제 스크립트AssetLoader.cs 모든 게임 오브젝트에 할당하고 URL을 업로드된 파일 URL로 바꿉습니다. 에셋번들을 빌드하고 로드해야 하는 편집기에서 작업할 때 개발 프로세스가 느려질 수 있습니다.

Comments are closed.