Unity5 打包 AssetBundles (BuildPipeline.BuildAssetBundles)

新东西固然是好事,但是没有相关文档的情况下还是搞得我一头雾水,研究了整整一天,才搞明白这次改版的情况


新的 BuildPipeline 弃用了以前的很多函数,新创建了一个方法:

public static AssetBundleManifest BuildAssetBundles (string outputPath , AssetBundleBuild[] builds , BuildAssetBundleOptions assetBundleOptions = BuildAssetBundleOptions.None, BuildTarget targetPlatform = BuildTarget.WebPlayer);


(官方文档位置:http://docs.unity3d.com/ScriptRe ... ldAssetBundles.html


这个方法提供几个参数,其他的参数文档说明很详细,这里只讲解新的参数:


AssetBundleBuild[] builds

这个数组其实是定义了你要打包的文件的关系 : 也就是说 将 Assets 文件夹下的哪些文件以什么样的关系进行打包.

下面以列子说明:要打包的资源如下 Assets/resources/*****  输出路径 Assets/ABs ( 输出文件夹必须已经存在 否则将报错。






那么 代码如下:

[@MenuItem( "AssetBundles/Build AssetBundles" )]
static void BuildABs()
  {
      // Create the array of bundle build details.
      AssetBundleBuild[] buildMap  = new AssetBundleBuild[2];
 
      buildMap[0].assetBundleName = "resources" ; //打包的资源包名称 随便命名
      string [] resourcesAssets = new string [2]; //此资源包下面有多少文件
      resourcesAssets[0] = "resources/1.prefab" ;
      resourcesAssets[1] = "resources/MainO.cs" ;
      buildMap[0].assetNames = resourcesAssets;
      
      BuildPipeline.BuildAssetBundles( "Assets/ABs" , buildMap);
  }




上面代码最主要的就是那个字符数组 标明你要打包的文件位置和名称 一定要 从Assets根目录写起并且文件名一定要指明类型:
Assets/resources/1.prefab
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值