新东西固然是好事,但是没有相关文档的情况下还是搞得我一头雾水,研究了整整一天,才搞明白这次改版的情况 新的 BuildPipeline 弃用了以前的很多函数,新创建了一个方法: public static AssetBundleManifestBuildAssetBundles(string outputPath, AssetBundleBuild[] builds, BuildAssetBundleOptionsassetBundleOptions = BuildAssetBundleOptions.None,BuildTargettargetPlatform = BuildTarget.WebPlayer); (官方文档位置:http://docs./ScriptRe ... ldAssetBundles.html) 这个方法提供几个参数,其他的参数文档说明很详细,这里只讲解新的参数: AssetBundleBuild[] builds 这个数组其实是定义了你要打包的文件的关系 : 也就是说 将 Assets 文件夹下的哪些文件以什么样的关系进行打包. 下面以列子说明:要打包的资源如下 Assets/resources/***** 输出路径 Assets/ABs (输出文件夹必须已经存在 否则将报错。) ![]() 那么 代码如下: [C#] 纯文本查看 复制代码
上面代码最主要的就是那个字符数组 标明你要打包的文件位置和名称 一定要 从Assets根目录写起并且文件名一定要指明类型: “Assets/resources/1.prefab” 补充: 最近有人问到资源去重的问题,这种操作的要求在于抛弃unity自身的关联关系将所有资源都只当做资源使用,然后可以构建自身的加载工具将逻辑和资源在代码中关联起来,因为unity自身的assetbundle设置只定义名称,然后由系统构建包之间的关系,对于我来说失去了很多显性的控制。 需要自身构建:关联性打包工具,加载工具,资源定位解析工具。 |
|
来自: 雪柳花明 > 《Unity3D 进阶》