关闭

Unity5 AssetBundle

267人阅读 评论(0) 收藏 举报
分类:
新东西固然是好事,但是没有相关文档的情况下还是搞得我一头雾水,研究了整整一天,才搞明白这次改版的情况


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

public static AssetBundleManifestBuildAssetBundles(string outputPath, AssetBundleBuild[] buildsBuildAssetBundleOptionsassetBundleOptions = BuildAssetBundleOptions.None,BuildTargettargetPlatform = BuildTarget.WebPlayer);


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


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


AssetBundleBuild[] builds

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

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


 



那么 代码如下:
[C#] 纯文本查看 复制代码
?
[@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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:165146次
    • 积分:3404
    • 等级:
    • 排名:第9899名
    • 原创:157篇
    • 转载:170篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论