图片或文字打包成AssetBundle并加载

[MenuItem("Tools/Create AssetBunldes Main")]
    static void CreateAssetBunldesMain()
    {
        //获取在Project视图中选择的所有游戏对象
        Object[] SelectedAsset = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
        //遍历所有的游戏对象
        foreach (Object obj in SelectedAsset)
        {
            string sourcePath = AssetDatabase.GetAssetPath(obj);
            //本地测试:建议最后将Assetbundle放在StreamingAssets文件夹下,如果没有就创建一个,因为移动平台下只能读取这个路径
            //服务器下载:就不需要放在这里,服务器上客户端用www类进行下载。
            string targetPath = Application.dataPath + "/StreamingAssets/" + obj.name + ".assetbundle";
         
            if (BuildPipeline.BuildAssetBundle(obj, null, targetPath, BuildAssetBundleOptions.CollectDependencies)) //如果是其他平台 再添加一个参数BuildTarget
            {
                Debug.Log(obj.name + "资源打包成功");
            }
            else
            {
                Debug.Log(obj.name + "资源打包失败");
            }
        }
        //刷新编辑器
        AssetDatabase.Refresh();

    }


如果加载gameObject   直接用www类加载,如果是图片或txt  需要类型转换

 private IEnumerator LoadScene()
    {
        WWW download =new WWW(url);
        if (!download.isDone) yield return 1;
        yield return download;
       var texture=download.assetBundle.LoadAllAssets()[0] as Texture;  //或 as txtAsset
    }



阅读更多
换一批

没有更多推荐了,返回首页