Unity加载AB包

狂风中的少年 提交于 2019-12-05 00:59:36

Unity制作游戏AB包

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

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

 

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

 

选择中间的选项,点击New创建AB包的名字即可

 

 

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

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

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

 

AB包创建完成之后,只需要在创建出来的文件中找到跟你设置的AB包名字一样的文件,上传到Web服务器,并且能够根据链接下载就行。

2、接下来只需要使用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包

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!