Unity bundle 제작 및 사용
제작된 버블의 방식은 버블에 scene까지 들어간 것만 설명합니다.
1. 편집기에서 사용하는 메뉴 코드는 다음과 같습니다.
@MenuItem("Tools/Build Streamed Asset Bundle")
static function ExportResource () {
var path = EditorUtility.SaveFilePanel ("Build Bundle", "", "*", "unity3d");
if (path.Length != 0)
{
var levels : String[] = ["Assets/mybundlelevel.unity"];
BuildPipeline.BuildStreamedSceneAssetBundle (levels, path, BuildTarget.Android);
}
}
위 코드의 마지막 줄, 마지막 매개 변수는 필요한 플랫폼으로 채울 수 있습니다.
2. 위에 있는 코드를 넣으면 Unity의 Tools 디렉토리에서 "Build Streamed Asset Bundle"을 찾을 수 있습니다.이 메뉴를 클릭하면 mybund level입니다.유닛 이 씬 생성과 관련된unity3d 파일, 즉 우리가 필요로 하는 bundle 파일입니다.
이렇게 버블을 만드는 과정은 끝났다.메인 가방에서 이 관문을 삭제해서 메인 가방의 공간을 절약할 수 있습니다.주의해야 할 것은 이 관문에 필요한 모든 자원을 삭제할 수 있다는 것이다. 단지 스크립트 파일, shader 파일, 그리고 다른 관문에 인용될 수 있는 파일을 삭제하지 않도록 주의해야 한다.
bundle 사용 방법:
프로그램에서 다음 코드로 버그를 읽고 불러옵니다
WWW download = WWW.LoadFromCacheOrDownload("file://" + dataPath + "mybundlelevel.unity3d", 1);
if (download.error != null)
{
Debug.LogError(download.error);
return false;
}
AssetBundle bundle = download.assetBundle;
마지막 코드가 생각보다 필요하지 않다는 것을 주의하십시오. (특히 C와 C++ 프로그래머가 이 문장이 어떤function의 마지막 문장일 수도 있습니다.) Unity 문서에서 이렇게 쓴 후에야 자원이 진정load에 들어올 수 있다고 말했습니다.
LoadFromCacheOrDownload()의 첫 번째 매개변수는 로컬 파일임을 설명하는 URI입니다."http://"로 시작하여 파일이 네트워크에 있다는 것을 설명합니다.
위의 코드가 정확하고 틀림없게 달린 후에 당신은 원래의 level이 이미 당신의 메인 가방에 있다고 생각할 수 있습니다.지금 바로 Application을 사용할 수 있습니다.이 관문을 마운트하려면 LoadLevel () 을 사용하십시오.
상술한 방식에 대해 필자는 안드로이드 플랫폼에서 테스트를 했는데 전혀 문제가 없었다.게다가 적재 속도도 매우 빨라서 유니티 포럼에서 외국인이 적재하는 속도가 매우 느려서 필자는 만나지 못했다.
또한, 이 과정은 당신에게 머리를 잡게 하는 문제에 부딪힐 수도 있다.
Application.LoadLevel () 시 Unity가 "xxx couldn't be loaded because it has not been added to the build settings"로 잘못 보고되었습니다.이 문제의 발생은 다음과 같은 몇 가지를 검사할 수 있다.
1. 버블을 생성할 때 버블 생성에 오류가 없음;
2. 버블은 일정한 방식으로 정확한 경로에 놓았다.
3. LoadFromCacheOrDownload()의 매개 변수 1은 file://또는 http://로 시작합니다.
4. LoadFromCacheOrDownload()의 두 번째 파라미터를 변경할 수 있다.
5、AssetBundle을 사용하세요.Unload();
고려할 필요가 없는 것은bundle에 있는scene(level)는 BuildSetting에 표시할 필요도 없고, 체크할 방법도 없다. 왜냐하면 네가 삭제했기 때문이다. 그렇지!Unity의 이 잘못된 힌트는 사람들로 하여금 헛된 생각을 하게 하기 쉽다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.