Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法
目录
Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法
一、简单介绍
Unity中的一些基础知识点。
本节介绍,Asset Bundle 在 Unity中的使用,入门第一篇,如何AssetBundle标记,如何打包成AssetBundle的操作方法,有不对的地方欢迎指正。
二、实现原理
1、[MenuItem()] 实现在 Editor 下执行打包操作
2、BuildPipeline.BuildAssetBundles() 实现AB打包到目标路径
三、注意事项
1、根据自己平台需要设置打包平台
2、打包脚本一定要放在 Editor 文件夹下
3、打包函数接口注意要是 staic 静态函数
四、效果预览
五、实现步骤
1、打开Unity,新建工程
2、导入需要AB的资源
3、如下图,标签需要打包的 资源,New 一个名称,回车即可
4、新建一个Editor 文件夹,新建一个脚本 ,用来代码把资源打包成AssetBundle
5、代码没有编译错误,回到Unity,在对应的菜单栏即可找到打包入口
6、点击,即可实现打包,效果如上
六、关键代码
1、BuildAssetBundle
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEditor;
using UnityEngine;
/// <summary>
/// AssetBundle 打包工具
/// </summary>
public class BuildAssetBundle
{
/// <summary>
/// 打包生成所有的AssetBundles(包)
/// </summary>
[MenuItem("AssetBundleTools/BuildAllAssetBundles")]
public static void BuildAllAB() {
// 打包AB输出路径
string strABOutPAthDir = string.Empty;
// 获取“StreamingAssets”文件夹路径(不一定这个文件夹,可自定义)
strABOutPAthDir = Application.streamingAssetsPath;
// 判断文件夹是否存在,不存在则新建
if (Directory.Exists(strABOutPAthDir) == false)
{
Directory.CreateDirectory(strABOutPAthDir);
}
// 打包生成AB包 (目标平台根据需要设置即可)
BuildPipeline.BuildAssetBundles(strABOutPAthDir,BuildAssetBundleOptions.None,BuildTarget.StandaloneWindows64);
}
}