AssetBundle for Unity
首先推荐读取官方doc:https://docs.unity3d.com/Manual/AssetBundlesIntro.html
基础:打包&加载
打包
使用自编译打包工具
[MenuItem("AssetBundles/BunildBundles")]
static void BulidAssetBundles()
{
//Assets/AssetBundles 将bundle打包到Asset文件下的AssetBundles内
BuildPipeline.BuildAssetBundles("Assets/AssetBundles", BuildAssetBundleOptions.None, BuildTarget.StandaloneOSXUniversal);
}
打包之后
加载
资源打包好之后我们存放在server,如何从server下载这些资源?
public string loadUrl;//serve address..
public string assetname;//prefab name
// Use this for initialization
IEnumerator Start () {
using (WWW www = new WWW(loadUrl))
{
yield return www;//wait load completed..
if (www.error != null)
{
Debug.Log("网络连接错误");
}
else
{
AssetBundle asset = www.assetBundle;
Object obj = asset.LoadAsset(assetname);
Instantiate(obj); //Init prefabs
asset.Unload(false); //false==unload only load complete
}
}
}
测试:
路径:file://F:/My Pro/AssetBundle Pro/Assets/AssetBundles/cylinder.assetbundle
以上就是最最基础的最入门的东西了。
(未完待续。。。。。。
打包中遇到的问题
1.平台不支持,如果你的unity打包出现如图问题
请修改打包代码如下:
BuildPipeline.BuildAssetBundles ("Assets/AllResources/AssetBundles", BuildAssetBundleOptions.None);
工程下载地址
链接:http://pan.baidu.com/s/1kVG9W8n 密码:0836