Unity加载AB包

Unity制做游戏AB包服务器

须要注意的是在游戏场景运行的状况下,不能编译AB包,不运行的状况下编译AB包须要使用Unity的扩展菜单功能,首先须要创建菜单用来编译AB包。网络

一、创建AB包的名字,首先选中须要建立包的素材文件,而后在Inspector面板的最下方有一个两条横线,编辑器

 

把鼠标悬浮到横线上,鼠标向上拖动最下方就会出现AssetBundle的选项,ide

 

选择中间的选项,点击New建立AB包的名字便可ui

 

 

创建菜单:此脚本须要继承Editor类,而且引用Editor命名空间,凡是继承Editor类的脚本必须放到项目Editor文件夹下。spa

一、  建立菜单使用编辑器扩展功能,只须要在静态方法前加上[MenuItem(菜单目录)]就能够在菜单列表建立一个自定义名字的菜单。code

    [MenuItem("打包/AB")]
    static void ABTest()
    {
        Debug.Log("开始AB包");
        BuildPipeline.BuildAssetBundles("Assets/Prefabs",
            BuildAssetBundleOptions.None,
            BuildTarget.StandaloneWindows64);
    }
编辑菜单

 

AB包建立完成以后,只须要在建立出来的文件中找到跟你设置的AB包名字同样的文件,上传到Web服务器,而且可以根据连接下载就行。blog

二、接下来只须要使用Unity的WWW网络类下载就能够了,下载以后就能够使用了。继承

 1     void Start()
 2     {        StartCoroutine(GetCube());       }
 3     IEnumerator GetCube()
 4     {
 5         WWW w = new WWW("http://192.168.0.105/cube");
 6         yield return w;
 7         if (w.isDone)
 8         {
 9             AssetBundle ab = w.assetBundle;
10             GameObject ga = ab.LoadAsset<GameObject>("Assets/Prefabs/Cube.prefab");
11             ga = Instantiate(ga);
12         }
13     }
加载AB包
相关文章
相关标签/搜索