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 }