当前位置:   article > 正文

unity 《专题系列》资源打包 Asset Bundles 第二节 Asset Bundles 构建_public static assetbundlemanifest buildassetbundle

public static assetbundlemanifest buildassetbundles

unity 《专题系列》资源打包 Asset Bundles 


第二节 Asset Bundles 构建


一、AssetBundle构建时使用的关键API


参数简单解释:

1)string outputPath :打包到哪个路径

2)BuildAssetBundleOptions assetBundleOptions:构建方式选择 ,主要有三个选项可选择

a)BuildAssetBundleOptions.None:使用LZMA算法压缩,压缩的包更小,但是加载时间更长。使用之前需要整体解压。一旦被解压,这个包会使用

LZ4重新压缩。使用资源的时候不需要整体解压。在下载的时候可以使用LZMA算法,一旦它被下载了之后,它会使用LZ4算法保存到本地上。

b)BuildAssetBundleOptions.UncompressedAssetBundle:不压缩,包大,加载快

c)BuildAssetBundleOptions.ChunkBasedCompression:使用LZ4压缩,压缩率没有LZMA高,但是我们可以加载指定资源而不用解压全部。

注意使用LZ4压缩,可以获得可以跟不压缩想媲美的加载速度,而且比不压缩文件要小。

3)BuildTarget targetPlatform:构建在哪里使用的目标平台(包括:iOS,Android,PC等)



二、Asset Bundles 构建步骤

1)打开Unity2017,随便构建个GameObject,并给他添加材质,如下图



2)然后把建好的GameObject,作为预制体保存(原来的可以删掉),如下图


3)给预制件,AssetBundle 命名,取后缀,操作如下图




4)新建文件夹和C#脚本(注意:改脚本一定要放在新建的Editor文件夹下,不然后面会有影响),如下图



5)C# 脚本代码,如下图

  1. using UnityEditor;
  2. using System.IO;
  3. public class CreateAssetBundles {
  4. //在Unity菜单栏中“Assets”下拉菜单中添加“Build AssetBundles”
  5. [MenuItem("Assets/Build AssetBundles")]
  6. static void BuildAllAssetBundles()
  7. {
  8. string assetBundleDirectory = "Assets/AssetBundles";
  9. if (!Directory.Exists(assetBundleDirectory)) {
  10. //如果目录中没有“AssetBundles”文件夹,就新建该文件夹
  11. Directory.CreateDirectory(assetBundleDirectory);
  12. }
  13. //在 “Assets/AssetBundles”目录下构建到目标平台为StandaloneWindows64的AB包
  14. BuildPipeline.BuildAssetBundles(assetBundleDirectory, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
  15. }
  16. }



6)保存脚本,回到 Unity ,你可以构建你的第一个 AssetBundle 包,如下图



7)构建完,会出现构建生成的文件夹及文件,如下图



8)在工程文件夹下你也会找到这些文件,AssetBundle 基本构建完毕,很简单吧,如下图




参考资料:

声明:如无意中涉及侵权到您的内容,请及时沟通修改,谢谢


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/82180
推荐阅读
相关标签
  

闽ICP备14008679号