Assetbundle 打包加载场景
Posted 福建小屁孩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Assetbundle 打包加载场景相关的知识,希望对你有一定的参考价值。
public class CreateAssetBundle : Editor
{
// 打包unity场景文件
[MenuItem("Assets/Build AssetBundle Scene")]
static void MyBuild()
{
// 需要打包的场景名字
string[] levels = { "Assets/Scenes/Shinie/Indoor.unity", "Assets/Scenes/Shiwai/Outdoor.unity" };
// 注意这里【区别】通常我们打包,第2个参数都是指定文件夹目录,在此方法中,此参数表示具体【打包后文件的名字】
// 记得指定目标平台,不同平台的打包文件是不可以通用的。最后的BuildOptions要选择流格式
BuildPipeline.BuildPlayer(levels, Application.streamingAssetsPath + "/Scene.unity3d", BuildTarget.WebGL, BuildOptions.BuildAdditionalStreamedScenes);
// 刷新,可以直接在Unity工程中看见打包后的文件
AssetDatabase.Refresh();
}
}
public class LoadAssetBundle : MonoBehaviour
{
private string url;
void Start()
{
// 下载压缩包,写出具体的名字
url = Application.streamingAssetsPath + "/Scene.unity3d";
StartCoroutine(Download());
}
IEnumerator Download()
{
WWW bundlewww = WWW.LoadFromCacheOrDownload(new System.Uri(url).AbsoluteUri, 1);
yield return bundlewww;
AssetBundle assetbundle = bundlewww.assetBundle;
}
void OnGUI()
{
if (GUILayout.Button("Load InDoor"))
{
SceneManager.LoadScene("Indoor", LoadSceneMode.Additive);
}
if (GUILayout.Button("Load Outdoor"))
{
SceneManager.LoadScene("Outdoor", LoadSceneMode.Additive);
}
}
以上是关于Assetbundle 打包加载场景的主要内容,如果未能解决你的问题,请参考以下文章
Unity进阶----AssetBundle_03(2018/11/07)