由于项目工程需要大量图片资源和音频资源的使用,如果把这些数量庞大的图片资源和音频资源直接放入 项目中,会造成项目工程速度变慢。
大量图片、音频资源,会 增大 项目工程 文件的大小,并且 会把C盘的空间撑满。参考资料4,5。
直接读取本地图片、从服务器中下载图片 这种方法,会导致 图片失真。参考资料5
新建一个空的项目专门 存放、处理 这些 大量 图片、音频 资源,并且 对其 进行 AB打包,
完成后的AB包在 原项目工程 中进行使用。
Scripting API: AssetBundle - Unity
创建AssetBundle
参考资料1、2
该脚本文件应放置在
Asset-Editor文件夹内(如果没有,就新建一个名字叫Editor的文件夹)
引用了unityEditor的类要放在Assets目录下的Editor文件夹中,这也是一个特殊目录。
using UnityEditor;
using System.IO;
public class CreateAssetBundles
{
[MenuItem("Assets/Build AssetBundles")]
static void BuildAllAssetBundles()
{
string dir = "AssetBundles";
if (Directory.Exists(dir) == false)
{
Directory.CreateDirectory(dir);
}
//BuildTarget 选择build出来的AB包要使用的平台
BuildPipeline.BuildAssetBundles(dir, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
}
}
对图片、文本等需要打包的资源,在Unity编辑器中打开
在Inspector视图下,最下面一行AssetBundle对其进行设置。文件分组逻辑,参考资料1.6
同一类型的文件对其进行设置。
可以根据图片的 宽和高,对其MaxSize进行设置。