第一步:
创建AB包。代码如下:
[MenuItem("Assets/BuildAssetBundles")]
static void BuildAllAssetBundles()
{
string assetBundleDirectory = "Assets/AssetBundles";
if (!Directory.Exists(assetBundleDirectory))
{
Directory.CreateDirectory(assetBundleDirectory);
}
BuildPipeline.BuildAssetBundles(assetBundleDirectory,
BuildAssetBundleOptions.None,
BuildTarget.StandaloneWindows);
}
这个代码添加了一个编辑器扩展方法。在Asset菜单下会多出一个按钮BuildAssetBundles,此方法会讲所以已分组的资源统一打包成AB包。
给资源设置分组方法如下:
1、选中资源,在截图中位置,为资源分组,分组后 ,执行上述方法即可完成打包:如果没有分组,就自己新建一个分组即可。
图中1为分组名(即打包出来的ab包的名字),2为打包出来的AB包的后缀
完成打包后,会生成四个文件(不包括.meta文件),如图:
其中image.learnab就是我们生成的ab包
到此,ab包的打包就完成了。你需要几个分组,或者说你想打几个ab包,给资源的assetbundle里的属性设置一下就好了。
接下来就是ab包的使用了。
代码如下:
Image testimage;
// Start is called before the first frame update
void Start()
{
testimage = transform.GetChild(0).transform.GetComponent<Image>();
AssetBundle Ab = AssetBundle.LoadFromFile("Assets/AssetBundles/image.learnab");
testimage.sprite = Ab.LoadAsset<Sprite>("right");
}
要注意一下几点:
1、AssetBundle.LoadFromFile()里的是你的ab包的路径
2、 Ab.LoadAsset<>() <>里是你的资源类型,是图片,对象还是视频或者其他的,别搞错了。()里的是资源名字,不需要后缀
今天就记录到这儿。2020-8-7